|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好)
$ B |1 ]- J ~% B5 y& U3 J
8 d1 Q! z6 R. }! Y* I% n; f( Q7 N) P8 k) a& H2 X; ]5 I
2 p2 C* K5 M( d, T一.echo命令在深入
4 t- M& v/ j1 U恐怕echo命令是大家最熟悉的命令之一了,常用格式:
/ P- i1 }' x; ~1 yecho on echo off
v2 K% ^# L1 ^- J9 T" Fecho 欲输出信息
8 }- r3 Y& Z/ I8 k下面写几个很多人不是特别熟悉的使用方法 $ K4 D2 v# M* K7 J4 J! T+ r( s
<1>首先进cmd:
1 i, N" \ T- x; a# A# y, Q) t6 @! ]+ P**************************************************************** % Y: Q: x; Q! r
Microsoft Windows 2000 [Version 5.00.2195]
3 B, R9 ?$ w* `7 o- X7 Q(C) 版权所有 1985-2000 Microsoft Corp.
! w# s5 }: Z& c! X; S; |% M, v- q* pC:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on ; y% y1 g5 ^! A
echo on
2 z8 s' g( i0 W/ L5 E3 qC:\> y5 F! Y" @/ V' b2 C: P. a
****************************************************************
) O. k3 _% ]% s ^; T. w' [<2>如何用echo向一个*.txt文件中写如一个回车呢? ) w F* p [2 @( m8 f! F' @
用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令: " b O+ [( F' I* f9 x5 ]0 Q
echo.>a.txt,echo.是关键,相当输出空行,即一个回车
# N- u9 h, Q# {6 d9 H! `8 P a1 L[e.g] 9 Q% |, R/ {" U3 e
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件
, V, m6 k" m% M) ~7 z1 @echo.|del *.* //呵呵,搞破坏是很有用啊
, I: j |5 O* R) q3 R- letc.
$ u6 ^* r% K' x$ |8 s5 y1 P<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦 , J8 R' a- i6 G
在cmd下输入:
# J( y9 n% W; m" ]7 fecho空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令:
2 h- f+ ]) _5 p" p1 }echo ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长 $ {" J$ c) M0 K- x' N
二.批处理与应急响应
- s0 W _1 J2 ]4 ]首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555): 3 b" F7 X# A6 n: J/ K; h/ ^
创建响应工具包:
, `3 |* F6 U% q7 B( k3 n% Tcmd.exe----------------------------------nt/2000命令解释器 2 F- p0 o z3 ?
loggeden---------------------------------显示远程和本地连接的用户 + f3 K3 y% F! t
rasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱
; q* H( A: _1 G0 S: ~& Qnetstat----------------------------------列出监听端口 ( p. X u% P% V$ r+ |
fport------------------------------------端口进程关联工具 $ |. E: @) k7 e- u. V6 V' Q" ^$ ?
pslist-----------------------------------列出进程 , {9 s, B! ?. H4 B9 t7 t
listdll----------------------------------列出运行进程以来的动态连接库 1 |" `% P+ T( V
nbtstat----------------------------------列出最近十分钟NetBios的连接 # T% H+ z7 b: y* U0 E* N/ X
arp--------------------------------------显示最后一分钟连接的系统的MAC地址
1 x* |' Y+ h2 A j$ R6 nmd5sum-----------------------------------md5校检和工具 8 N3 v! R9 t% _4 y* R$ q
cca.exe----------------------------------检验克隆管理员帐号的工具 ; }3 I7 ^2 Y& e$ s; w
doskey-----------------------------------显示cmd命令历史的工具 9 M# s7 }- \( I
.......
& S* O+ M: I* ^6 _2 q0 ~& K....... 9 c7 F4 s/ `, J6 B
.......
w( ]9 \( J* ]/ }0 ?- g7 m* l: e% r5 z把你认为的对取证有用的东西都放进去
: p& h( D1 r$ J6 S2 R原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下: ! {8 c0 d) V- d8 J- E3 b( s' Q
比如受害的机器名是qq,安全的机器是127.0.0.1 $ Y) Z# I0 s# y$ P& p
(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程) 8 ~# z, d# C! d' P! z3 ~
qq_cmdline:
2 S0 G2 B5 t$ H9 ^4 ?xiangying.bat|nc -vv 127.0.0.1 1234
# S+ {5 C+ ]& _% R5 e5 J127.0.0.1_cmdline: # T+ d2 ~$ Z* @0 |- b! a
nc -l -p 1234>xiangying.txt
! f: t$ r/ N, F6 i: U. x--------------------xiangying.bat------------------------- ) V& m ], h% \% V" ~
@echo off
" N/ @1 r9 L, w" Z4 S Decho ****************************** 3 |, h4 e. s6 z: \- f5 a0 I
echo ******* start date *********
/ o/ b+ _& I- f) v; xecho ****************************** 2 Z6 t1 |+ u) H8 x
echo.|date 4 C* S. C( r' }% }2 y3 c, L
echo ****************************** 7 k8 @6 J3 B: z9 C3 I! d( t- O
echo ****** start time ********** 2 i% B; A# }: b( Q) h8 L
echo ******************************
2 I1 s( _9 R% ~- b% Iecho.|time 9 ~! O9 q$ H B& b/ P
echo ****************************** ! e K# f8 o) X/ K* S
echo ****** netstat -an **********
# D- a( B( `! f% g8 y- d; Kecho ******************************
! N1 z9 m0 b1 [( nnetstat -an . z, K9 m. Q/ \5 G& r0 A, y
echo *****************************
5 n |, l9 s! v5 Uecho ****** arp -a ***************
" w6 _9 t+ }. M+ `$ P. Decho ***************************** $ |) J" e/ J$ x" c; s* p- p p8 X5 Q
arp -a
) |! w0 ?9 G/ }7 techo ***************************** * T/ c- I% y" x: @) z) V
echo ******fport *****************
4 J9 x& A/ `5 I- \echo ***************************** 0 k0 s, e" `7 U/ _' f4 b
fport
$ H* R5 ^4 T1 q% e, Y! E+ {0 techo *****************************
- o# v7 {: T: Recho ****** pslist **************
4 f& z; H6 I4 V% N$ uecho ***************************** 3 v$ `' G$ l+ L2 f G, \; `! O
pslist . H+ q* a n' T% t
echo *****************************
8 p# }$ m9 t* @5 M. V& `8 W# aecho ****** nbtstat -c************
+ \) ~/ I$ f' M7 ~7 Yecho ***************************** . b( E6 Q3 _' v
nbtstat -c
: c8 H& H* C9 i- q8 O8 becho ***************************** $ H/ E4 \9 a2 S5 \
echo ****** ipconfig ************ % W7 q8 g {# D# W
echo *****************************
8 N+ K. D3 o# q0 d: _! y: Hipconfig /all 3 e# k0 U! B: h
echo ***************************** 5 f; r5 R; p9 `/ M7 ]
echo ******* end time *********** 6 [9 ~6 p9 Y' M, l1 s
echo *****************************
3 {" ]1 \* x' Z `0 l0 ?; Jecho.|time * V; _) L( E1 j$ c0 m
echo ******************************
8 ?8 A8 n! Z" Iecho ******* end date *********
. ^9 Q3 P6 F+ C3 ^3 }% Secho ******************************
# Q( Y$ J& I0 A" fecho.|date 2 ^) u! ~7 z; [3 e! ]
----------------------------end,save as xiangying.bat---------------------------
5 `$ L6 {2 p. b9 {' o4 N: r# v7 }注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
9 s5 u/ e. z2 R% v下面我给出我实验是得到的xiangying.txt是什么样子 % B5 k: n( k8 U8 ]3 W
******************************
: i: X3 m5 B& F, h) e******* start date *********
0 e+ [' T. N% n5 _; C( u. F: `; N****************************** 0 d/ z7 h# D' `6 F6 q, e
当前日期: 2002-07-08 星期一 0 E1 Y. m4 [6 M
输入新日期: (年月日)
1 q9 P; j' E0 b3 u" }/ D******************************
. g; _5 N% T. L6 S4 ^$ u****** start time ********** / |4 z+ \0 X% {- k
****************************** * E! ]' z1 ^3 G" R9 u6 `# x
当前时间: 9:27:07.80 ' ]+ M! K! i. ~2 R
输入新时间:
- K) C4 K( k( k$ v6 I% [8 c****************************** / O0 n- F. W& S8 { p q
****** netstat -an **********
+ q* D0 b$ _$ }" o****************************** $ _& |/ W5 H L
Active Connections
" ]4 i* S3 N* v! T$ O- AProto Local Address Foreign Address State / }8 h( ~; x# M- _
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING ) k0 L0 R1 `5 u2 Q7 t
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING , B ~- E) T- T3 g
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 8 P& f/ C7 [% V, Q
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING 2 X+ ?' g* l; r1 I, p& m! U
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING * t& p( F6 x: r
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING Y. ]% {* R! k4 J r
TCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED 1 M; Z9 }/ r) p* M0 K$ t3 J
TCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED - h, m4 T, w. k
UDP 0.0.0.0:135 *:*
3 o! w( I b+ a& s! Y4 DUDP 0.0.0.0:445 *:*
2 m; Z; @ S6 P( i6 G; Q$ w2 fUDP 0.0.0.0:1026 *:*
' t+ l" W$ K8 B, A# n6 Z; h( P***************************** p8 R1 `) c9 Z& c% X0 D" ?
****** arp -a ***************
7 \+ ^& } N1 z- a1 l; t1 `***************************** $ P+ R' F4 v+ x8 ?0 E- \
No ARP Entries Found ( \& h4 f6 s' E0 @$ s- J5 g7 A
*****************************
6 A& {* U/ S2 X) o******fport ***************** 4 q" Z5 Y- X6 |9 _; ?- Y
***************************** . f1 \! y/ p' H( |8 r0 q7 o
FPort v2.0 - TCP/IP Process to Port Mapper / d9 c0 |/ k1 T: a, w7 I
Copyright 2000 by Foundstone, Inc.
+ V1 a2 l8 G7 h6 T' Phttp://www.foundstone.com 1 u7 {9 c' ]/ p2 r; T0 Z
Pid Process Port Proto Path + m; l' L, j: T5 E
400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe 4 }4 i/ I8 @4 W c
8 System -> 445 TCP L" T9 V% v& p' L: `8 t
548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe $ m& Q2 A ?0 ?( s& s5 k
8 System -> 1027 TCP
( J. W" ?* [* q. g" ~% l772 nc -> 1028 TCP d:\nc.exe ! a+ I0 K0 y; D
804 nc -> 1234 TCP D:\nc.exe
; j' k4 l+ e, V) a400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe
/ p+ N* B$ I4 Q* Y/ |* q+ f7 n8 System -> 445 UDP
4 {; z- n9 N: ]! |; b5 G216 services -> 1026 UDP C:\WINNT\system32\services.exe : N- I; C- i% _ p; h* g
*****************************
- Q3 c% G3 ]; U9 w) y****** pslist ************** * u$ L3 X8 U w% F& t: o
***************************** 2 H8 Q( D- \" {; q& F/ N4 K0 [4 `
PsList 1.22 - Process Information Lister
B! E5 D" C( R( \Copyright (C) 1999-2002 Mark Russinovich
" k9 s. L- b" v; g8 E& s/ {Sysinternals - www.sysinternals.com
! D2 u2 U7 k" V' W4 Y v+ XProcess information for QQ:
2 u+ f# J& v ]% `3 pName Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time
! e3 v. X+ W+ M/ xIdle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203 0 r! N; C; X7 [) m1 d$ E, i
System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
+ r* |8 v* Y$ r, r6 V3 z7 ~! Bsmss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203
1 s) F! B4 h! s* r' y# K9 [" _3 k: bcsrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649 % Q* E4 S. f$ k. C- @8 l8 @
winlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307
+ Z; C- \. X/ Z, E' A+ v$ p! eservices 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216
5 }7 J/ q7 X2 f4 _2 y; Q) {" Q7 Plsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196 # y$ K3 x S B& P( L
svchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952
) f1 x7 B8 S" `) a$ y' ^8 Jspoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742
3 h+ e, y# ^- T5 T: K% C3 Dsvchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
2 [1 b1 l: G% }/ l5 yKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622
+ P9 t2 t# z) R$ G/ l# B" ^regsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 ; k* h" V V. N! Z$ p
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051 2 N& s' e/ M0 q" X/ \
WinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020 , { Y+ m& j2 [9 j0 ~! o7 a
svchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319
$ F0 O% X' ?0 N1 `% F% I4 h! QExplorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662
. I0 X$ s. p2 |' J: ^0 o7 hdelttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158 3 F# m8 T, l5 X% ^! |9 T
internat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038
! }- n1 |1 u. \: S3 Q, q) `4 `wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729 ' s+ J- r9 t: @
conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230 2 J- L) V4 ^; m) a; k0 Q$ |$ b' _
cmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075
. I* v& c0 Q) L- F2 [nc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552 * L9 e; S% j; A
cmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774
. X, ~: ~/ b8 T8 V. K) B" b" pCMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410 " g. V2 O5 c2 w9 a
nc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400
7 D/ `8 K) W6 D8 `pslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120 ?4 J1 r* U$ P; A) f6 S9 L
***************************** 8 T* Y1 e# |' z' o
****** nbtstat -c************
! V7 N0 Z( [- Q3 X/ d0 f2 w*****************************
5 Q- f% D: Y; S* y! \*****************************
4 U+ L& a* c! ?8 n" H0 f7 P# } V****** ipconfig ************
# U( A9 C# u$ t3 V2 S6 r* w*****************************
3 }) `" }( E& S/ C2 M7 @/ B$ `& RWindows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq 7 z7 v* q7 h, |$ [6 }9 Q- `4 W/ D
Primary DNS Suffix . . . . . . . :
: X7 [) l( H' `7 L0 mNode Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No 8 w, Y. X( U- }4 }7 G+ l1 `2 n
*****************************
! \& |, D6 w. N5 x0 P******* end time ***********
3 ~7 f* \5 W) P+ O& V2 Q/ q" N7 j+ Z***************************** : O4 T/ Z: N) l( _6 `4 F! D
当前时间: 9:27:08.28 ; e4 }2 e+ C |, N5 ^' z
输入新时间:
k9 W; s+ \! r! x+ q4 ]****************************** # o! G6 C7 ], y V5 E# T5 S
******* end date ********* ' ?( t6 Z1 L- r7 P3 D% u
****************************** ; P- I5 L5 E5 J+ K1 F
当前日期: 2002-07-08 星期一 ; U7 j4 F/ m$ w( B/ D K3 i, U
输入新日期: (年月日) 8 E$ ?( D3 E6 Y% x d+ U
2 z1 a5 s9 E8 ^% Q! [" i
怎么样,我们现在可以用得到的数据进行分析了吧,哈哈
* z3 ?0 }# C ?* ~ B8 x
9 |$ d% @. D8 I* ^+ E% \三.几个要注意的小问题:
7 \/ q& K' N( t, k, j1.在批处理文件中%win32% <=> c:\windows\system
. |# d) b3 X# D8 }5 Z2.在批处理文件中使用环境变量的时候,必须用%将变量包起来 * Y0 ?6 w0 X6 z0 \' Q4 b
3.for %f in (*.*) do command cmdline
/ x' ?3 f* P4 N3 x3 E% p8 m2 c在批处理文件中%f要写成%%f ; H8 P4 k# J" u+ ^; {3 q9 I( B
! |7 p3 G% y, Z# v5 |7 G# ?
/ x; B' B* d3 K& X- e
|