|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好) - q: V7 I2 A3 w3 C$ o
( q0 {& a( M; U! R( V8 K
4 l2 O8 w, r* b8 T% |. ]
) R, t& o/ X. ]: t8 B' s; E4 Q一.echo命令在深入
1 z/ D7 u6 ]7 A) x恐怕echo命令是大家最熟悉的命令之一了,常用格式: 7 c5 z7 f3 i* w0 u) z! a
echo on echo off
$ z- C2 ? Y0 ?echo 欲输出信息 $ u$ Q7 k/ W) d2 {/ T& y
下面写几个很多人不是特别熟悉的使用方法 9 W; L. S. K! u5 P
<1>首先进cmd: , P7 U$ v5 s( e' w& T# ?
****************************************************************
) `+ I# p4 o. d9 n, bMicrosoft Windows 2000 [Version 5.00.2195] 4 D3 _* B9 C1 w
(C) 版权所有 1985-2000 Microsoft Corp.
3 M0 C# w# H* a/ P8 iC:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on
4 C1 n5 \* H0 j A$ q4 W9 N5 H3 iecho on ! d, S" y v' v! ~3 h0 o" K
C:\>
; N6 y( m- }* V0 l- e$ q ]**************************************************************** # W6 W3 j; E& s- \
<2>如何用echo向一个*.txt文件中写如一个回车呢? ( q. P, J7 ]- X1 y+ d( ?& a
用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令: + V. C' ^- L- Y3 C1 B
echo.>a.txt,echo.是关键,相当输出空行,即一个回车
0 n+ C/ Q$ V( g" P[e.g] 3 m5 q4 Y4 y. g/ |
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件 0 {- i$ {& V- V' w0 F8 b
echo.|del *.* //呵呵,搞破坏是很有用啊 0 J) q/ _' } G$ n6 Q' y
etc.
2 R: c) v' c2 f( @2 M5 [<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦
& e8 [+ o; z) W8 ^在cmd下输入:
0 T) l; N# t8 G1 qecho空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令: * k6 ?! N$ P6 [0 ]' D$ S- N# s
echo ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长 6 W6 f+ }7 |! j2 p& B7 r9 b
二.批处理与应急响应
6 G) P+ j8 `; T9 S8 @# N/ E首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555): - [5 c J3 `+ P7 M- p- ^. D, z3 }0 h
创建响应工具包: % h% Z* N0 n7 R# ?: l# z, ?# p: ^
cmd.exe----------------------------------nt/2000命令解释器 8 l9 Q1 d- |4 n% \' H; ^$ h" N
loggeden---------------------------------显示远程和本地连接的用户
. m; E7 I8 U- p" j1 m `/ i% hrasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱 & Q- A% w0 u1 M2 h% Y& {1 s& A
netstat----------------------------------列出监听端口 ?1 N8 I5 z8 P
fport------------------------------------端口进程关联工具 ' m5 N0 k- b! e& D$ P V/ \ M
pslist-----------------------------------列出进程 0 P; O: C" U7 Y8 {5 }0 @5 l& l g
listdll----------------------------------列出运行进程以来的动态连接库 , q' `( m3 ?9 {$ i5 j! Z
nbtstat----------------------------------列出最近十分钟NetBios的连接
- O0 X; f. ?% `) c8 ]1 \arp--------------------------------------显示最后一分钟连接的系统的MAC地址
7 L& y g6 b8 g# t- k; i" {md5sum-----------------------------------md5校检和工具 & B. k4 @2 g7 X3 R' Y8 ^4 ]
cca.exe----------------------------------检验克隆管理员帐号的工具 ' b5 c, F3 @) C# L2 f( U6 [
doskey-----------------------------------显示cmd命令历史的工具
; R) C# o4 B% g.......
1 m; S( j' I0 P9 `.......
& A8 a! Q* G1 p.......
. J u3 u9 B( L9 H把你认为的对取证有用的东西都放进去 , M# y- o3 u) c% h" O
原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下: : w! v4 [3 S) q' P
比如受害的机器名是qq,安全的机器是127.0.0.1
t# @- z+ ]9 @, k(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程)
; ` _: s7 T5 h. `" }qq_cmdline: 0 A# p+ [' e# x* q
xiangying.bat|nc -vv 127.0.0.1 1234
% j+ m; t7 {( \2 X( g+ [127.0.0.1_cmdline: . C) p3 R# u; W! }2 \6 |! Q& _
nc -l -p 1234>xiangying.txt
6 [1 G n, x2 H6 J! c8 o4 S' [--------------------xiangying.bat------------------------- : @% k+ P f1 o: g2 w7 P
@echo off * t2 k C/ H; h
echo ****************************** # ^# Z, }/ @# w# l! ]
echo ******* start date ********* 4 m N. J( r; t
echo ******************************
$ Z1 I+ }( B( M" Xecho.|date ' ~8 @3 s5 O0 l! r0 [5 v' k- A
echo ******************************
: A. Z l2 A' }: ?& Cecho ****** start time **********
% p& G5 l2 n: k& G7 Mecho ****************************** : H+ `+ K C) `) l" U
echo.|time
* F4 e. _( W7 y1 U2 v3 Eecho ******************************
8 T* O X+ X+ d# ]) Y; K6 ] L/ r7 Fecho ****** netstat -an **********
@$ T, g$ `2 d9 Iecho ****************************** + h$ v8 l1 X+ b# ?0 O+ y2 ?+ H9 I
netstat -an 4 ~* D. k4 W+ _, t% ^$ e, C6 y
echo *****************************
x' u+ \; \" R( @( P1 I3 K) D4 R9 jecho ****** arp -a *************** 8 g/ R! C: y# m9 Z9 f5 ^3 p* X
echo *****************************
: }% R0 A3 T1 ]4 Q% b0 N6 }arp -a $ i# L3 H& A: h s- Y( m* B/ v
echo ***************************** + m% t! C. o8 X
echo ******fport ***************** ) J8 S1 `; J1 R) C. W
echo ***************************** ( [( b& q3 R* s& b/ |$ d
fport . K6 f- d: J: g3 O& V$ K* Y& y
echo *****************************
% j. {5 J, ]# q7 [, E& xecho ****** pslist ************** 9 V0 R/ h: R% u; d8 W j
echo *****************************
) M+ ?' i4 E( j' P7 Y6 `* j) Ypslist " y3 [. n% I1 @- Q" f
echo ***************************** ; C" t- ]1 A% Q
echo ****** nbtstat -c************ ) e: H% b1 o7 `# G) x; o
echo ***************************** 6 _' I, H8 H8 i( U$ Y
nbtstat -c ! M3 p3 v' j; T$ K+ p
echo ***************************** 0 m; y( C* Q" z# B
echo ****** ipconfig ************ 5 c C0 _5 v' [% B/ [9 u4 b
echo *****************************
! M9 b! D1 H2 H( Y; E5 w8 [0 Oipconfig /all , g7 ` Z) h6 I' D- {; {. w
echo *****************************
+ ]3 Z$ x, P7 D1 ?echo ******* end time *********** & \! t' ~# }5 N, |6 C
echo *****************************
9 h: S) I b* }: wecho.|time
: ], S9 P$ r7 Y$ Zecho ****************************** $ d3 d# t5 L& @+ Z& ?# f7 S: q% ^
echo ******* end date *********
9 C% P; E8 c0 {( c2 x2 Y' hecho ****************************** 9 A8 x/ ]3 j# q; E0 Q: g- ]& ]
echo.|date
; K0 g5 m( N& o% |3 p7 v----------------------------end,save as xiangying.bat---------------------------
: X5 E/ K$ ?2 p3 ]注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
4 J" l( N9 N/ u& `4 e& o2 F; B下面我给出我实验是得到的xiangying.txt是什么样子
5 {( j4 j; _8 k0 Z* g: r******************************
/ @5 u* F& ?: c******* start date *********
) D" Q$ z+ U/ K# Y****************************** 3 |- R% C2 o2 E0 C
当前日期: 2002-07-08 星期一 $ G1 T9 J" p4 Y4 n
输入新日期: (年月日) . c+ S9 O7 @# T5 }8 ?6 ~% j
****************************** . z/ B% H1 `# d# \( |5 B2 y
****** start time ********** ! ]8 p. Z6 m" Q8 e6 ?
****************************** 0 l0 ]5 s. t# d
当前时间: 9:27:07.80 2 t* M! [2 `' ^5 }+ N$ g5 B9 ~9 q1 x6 }
输入新时间: ; y. q5 f6 @7 {9 V8 U1 m3 t
******************************
% h) I: z' o6 q# R' ^****** netstat -an **********
% g# X4 L2 d: Y- W' H, g) K******************************
+ |2 G) j3 U2 M" s9 {! s* NActive Connections
* R% J1 l& i, ?; w6 ]% f- ^) XProto Local Address Foreign Address State
5 [: g" \0 z) G# ~1 NTCP 0.0.0.0:135 0.0.0.0:0 LISTENING $ i5 s5 L9 o. B6 [0 z- J8 B
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING ) o2 k4 m( ?' d
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
* Q+ D7 o& s6 l/ h J2 sTCP 0.0.0.0:1027 0.0.0.0:0 LISTENING
% X/ [* F2 D' e& d- y/ ~/ H bTCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
+ T2 [5 T) ~# _9 ]: H& mTCP 0.0.0.0:1234 0.0.0.0:0 LISTENING
& R/ {0 b/ T' _9 UTCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED
* ]% G& ^ w" z" G nTCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED
5 D* y+ u3 l1 pUDP 0.0.0.0:135 *:* 6 q( M# f6 V- J) j; \. j
UDP 0.0.0.0:445 *:* 8 r0 R, h0 a, e
UDP 0.0.0.0:1026 *:*
" Q! [+ [# W( l*****************************
" q' C) u! r4 K& s J****** arp -a ***************
+ u0 I1 s3 Y1 @2 O% z! S8 E9 G*****************************
( S( U( {1 _/ L2 x) {$ wNo ARP Entries Found . ~* t! l- j. R3 b H: w# ~ X/ d
*****************************
1 X5 g& U) P0 Y8 {4 R# g******fport *****************
3 ~2 W7 U; m; e5 c6 _$ e3 { d" @*****************************
" h6 L$ e' {/ }5 AFPort v2.0 - TCP/IP Process to Port Mapper ( Q( v) t& J/ T1 `* i
Copyright 2000 by Foundstone, Inc.
) k( X# R& E( c% G; r6 Ehttp://www.foundstone.com 4 A o8 B! K" W
Pid Process Port Proto Path
! _' M6 C- ]) c400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
4 i0 q$ C" K R/ O5 ?( q) M8 System -> 445 TCP
& J( ~/ D P( S, m/ x. Y548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe
; l- `: O) x k) B, N9 L8 m Q8 System -> 1027 TCP 7 X( Y# h0 H2 l) z
772 nc -> 1028 TCP d:\nc.exe
4 d6 {( j, d) o4 P D* g804 nc -> 1234 TCP D:\nc.exe 0 v# x; F9 Z; K0 o- {$ Y' \
400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe & @! K+ U; Q/ M+ c3 c! @
8 System -> 445 UDP % `) A @. p" `( I5 Z- u; T
216 services -> 1026 UDP C:\WINNT\system32\services.exe
' m& ~- d5 j7 F2 `% q' c% X***************************** ) u& m3 }0 F. O2 @- \+ E) T
****** pslist **************
i1 s; A+ ]/ S*****************************
! s3 k# T& w7 j8 f" N; P7 cPsList 1.22 - Process Information Lister
- |6 _5 Q* k* t, \. Q2 lCopyright (C) 1999-2002 Mark Russinovich
3 D7 N1 V) I5 _8 fSysinternals - www.sysinternals.com $ s, ~1 i& M. _ ~! j% H+ r$ Z: Y
Process information for QQ:
+ v+ }; s# Z( @, ~ Y( eName Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time ! U9 P. D9 L- F# K
Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203 # n& E5 f9 I8 o
System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
* Z5 a0 _2 K$ L* Y( ismss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203 , \# E* ~5 a8 S' Q4 r/ n
csrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649
/ `( w8 E- b4 _6 U4 kwinlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307 4 p$ c7 u# ?- f% Y7 N1 v, Z
services 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216 9 a8 U0 o9 m& L2 y# O- H
lsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196
; y. [% P r/ J+ G/ \( Psvchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952 : ~, e% Y/ [' ~4 f& K
spoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742 $ d# p5 _: M( ]
svchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722 6 h3 U* y0 }6 |
KAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622
4 G, _ `# @5 B' A- ]1 vregsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 8 O" J5 c( }7 F" _# U+ I
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
: J8 n `# m9 CWinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020
* Z& B9 L$ ^5 j9 q2 Jsvchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319 / V2 R' M) H$ Y T- q$ Y
Explorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662
- }( Q' s9 j8 b5 d, N9 \delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158 3 c' |- ]! R% K
internat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038 ( U% E& R4 i7 D9 o
wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729
5 a5 n% K: q3 {. N0 c5 ]) [conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
5 `1 T+ y/ F& k4 {cmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075
5 }) W/ V0 k2 `! Anc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552
& D* s0 p* z/ e0 {5 I9 p' H5 acmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774 $ Z9 G9 \2 @$ e; @
CMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
, s; f) L. ?. z* Y! e1 l8 Hnc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400 + k* \- M& j& W8 ~7 [
pslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120
$ T; J, n) }% o/ ~/ C2 w) K*****************************
: ~& Q' z/ e# I2 i****** nbtstat -c************
5 x$ \' O. W/ ]' K$ }+ ~4 z*****************************
/ J0 m, @) m3 I: N*****************************
2 f! U% `0 l* m+ k****** ipconfig ************
" H, x, Z5 O/ N/ E9 V. h*****************************
& h8 r& Y- x& iWindows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq
' U3 m4 B1 Y/ I( S& [Primary DNS Suffix . . . . . . . : 8 ^9 I' l# k3 F3 l; S% U1 ^
Node Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No
( z/ }* h7 M- f# N) E*****************************
* Y7 h1 X- `$ t0 Y% H: h# I******* end time ***********
+ [! r! a' ?+ i$ }9 S e9 O***************************** ! [/ A7 L7 e# s
当前时间: 9:27:08.28 7 r3 S- D+ p. b) L
输入新时间:
$ o. X) n% ~. s. o6 F$ T******************************
9 q5 b y& W" @7 J! m9 v******* end date ********* V2 P( v' } `7 z2 g
******************************
0 \; F8 `( ^ M+ q# S当前日期: 2002-07-08 星期一 + Q$ x: O! ~9 X8 h" L
输入新日期: (年月日) & Z4 f7 Z ?8 X1 C
9 ^9 I) G+ A# B: S- P怎么样,我们现在可以用得到的数据进行分析了吧,哈哈
& o# Q" e2 O2 X# U( |, ?' y% `, O2 D S, F4 F5 f% ~4 ^$ f
三.几个要注意的小问题:
/ N2 R0 W0 k. Q2 f, j. v5 l) n$ }, `( i1.在批处理文件中%win32% <=> c:\windows\system
I( m8 _9 e3 b% ?2.在批处理文件中使用环境变量的时候,必须用%将变量包起来
; H, J) Z ~' d$ ~3.for %f in (*.*) do command cmdline 5 k! R7 g8 i2 I, t; v4 U$ U* W9 h! F
在批处理文件中%f要写成%%f & S% F) G% k9 U2 V4 A
+ r+ a3 K9 ]; v3 U+ V5 k
+ W" d' d0 C$ g1 M) N7 l: V; d |