|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好) " _$ ? |- B8 w, r( c6 o
1 p+ V G* d4 T, m5 J& c o' O3 y" t. Z( i+ u
1 x' \1 L- ]& R) I; G9 I一.echo命令在深入 . Y: W+ n' l4 x2 g! i( S- w* w8 M
恐怕echo命令是大家最熟悉的命令之一了,常用格式:
4 G+ ~7 @+ Y$ P* C7 yecho on echo off
/ O# X! ]7 z5 l( `) {" uecho 欲输出信息 ' e. w* a' E; r) W! z% ]
下面写几个很多人不是特别熟悉的使用方法 : ~' l) [9 Y ?/ d* S# \. O8 k
<1>首先进cmd: ) Y2 M6 [ g2 x' O2 ?* s
**************************************************************** % n% D) ~ z, y' w* `5 L$ _# n
Microsoft Windows 2000 [Version 5.00.2195] " j" o3 N/ }5 o' d% l" o
(C) 版权所有 1985-2000 Microsoft Corp.
/ w# q* m9 b. b, V& u A$ _C:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on : E+ B, Y. H% _, @" @3 T7 a( @
echo on
# i1 R& }2 k& p5 _C:\> ! C2 r+ {: r* D: z' q. ?. M1 J7 n
**************************************************************** / C' u( W# a J% M" d. q
<2>如何用echo向一个*.txt文件中写如一个回车呢? ) L! y% M! {0 @! q* D0 T
用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令: 7 v' v, g& i, H
echo.>a.txt,echo.是关键,相当输出空行,即一个回车
& p! S: ], `% @; n[e.g] - A2 [8 K5 s1 v7 I! L7 N
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件 9 L M4 |% E2 z9 g' ^
echo.|del *.* //呵呵,搞破坏是很有用啊 . T% o& n) {% N
etc.
' l' D8 O+ \! T) }! R) R<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦
2 n4 L3 y% j J9 Y! o在cmd下输入: # ]1 ?3 g# z7 k; O. ]' a+ X9 {9 I
echo空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令:
: g; J1 C3 u F) A4 _. B3 Hecho ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长 . ]6 V: R1 o* ?2 X5 e( \, k% g
二.批处理与应急响应
6 b% t+ b) W$ _首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555): ( b- L9 L! w& \+ L$ A4 \
创建响应工具包: + i, ], w2 Y% l9 z) s4 `1 u8 z
cmd.exe----------------------------------nt/2000命令解释器 9 c7 a1 V9 \ ]
loggeden---------------------------------显示远程和本地连接的用户 0 G+ \9 s9 L, N1 k4 D$ V) a
rasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱
* x) E, |0 |% S' u W9 M5 lnetstat----------------------------------列出监听端口
h: w- x! `) ]8 A) D: Zfport------------------------------------端口进程关联工具
' a5 y5 E6 p* z* Opslist-----------------------------------列出进程 1 |6 [: e1 Z, e* N& L
listdll----------------------------------列出运行进程以来的动态连接库
9 P' Y" M1 U# c1 |7 Pnbtstat----------------------------------列出最近十分钟NetBios的连接
3 Y! i( C' c# T; B( R5 karp--------------------------------------显示最后一分钟连接的系统的MAC地址 9 n' L) G! u; b6 Q0 c U
md5sum-----------------------------------md5校检和工具
: Y6 X% _( t# F' @cca.exe----------------------------------检验克隆管理员帐号的工具
) G, w6 Y$ z6 ~( Q2 Ldoskey-----------------------------------显示cmd命令历史的工具 * `: y* r9 z8 S& Y+ }8 F
.......
5 d/ [8 d2 m h3 T6 C/ a3 ^3 u+ \.......
K8 P5 ^* Y& C# D/ F: l M.......
, f8 I3 ^% W/ }6 z把你认为的对取证有用的东西都放进去
" ?# q B9 h9 w3 S; }原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下:
! Y2 j9 b/ y6 m" m' q% R比如受害的机器名是qq,安全的机器是127.0.0.1 8 F2 `- F" b( ~
(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程)
0 w; _- P! U! E2 U+ {4 Y$ M( Wqq_cmdline: ) T, a' ]: E! F8 f$ o" ?0 L" U, I
xiangying.bat|nc -vv 127.0.0.1 1234 ( u0 _2 K( X8 Q- Z$ t+ f
127.0.0.1_cmdline: # z$ Z; [! D0 n# K/ Q2 ~" P5 \
nc -l -p 1234>xiangying.txt
+ @2 J4 g1 ?% }+ \ p--------------------xiangying.bat------------------------- 3 J5 S% R1 P; P) C+ ^6 n U, i
@echo off 8 k. N! K0 s7 \: b; O& w/ t
echo ****************************** & P7 r' g: \) p4 i' h
echo ******* start date *********
* p; o8 T, k+ c6 I9 kecho ****************************** ( N6 w$ x3 U& ~: u% U
echo.|date ' W1 Z7 A: J" P, i/ f5 Y
echo ******************************
1 {, g4 a7 F8 u/ J6 F# recho ****** start time ********** 0 A1 s! j$ t" i6 t( w7 t% Q
echo ******************************
, S1 W+ l3 z# j0 K, E5 W* ]& Uecho.|time ) {/ x. m, S+ L8 _: b& q
echo ****************************** 0 j/ B3 G: [9 u, W' ^8 F
echo ****** netstat -an **********
7 }. D4 {# X8 q% Becho ****************************** ( m+ Z: z- @- I4 R+ d9 |& \( [& f
netstat -an
5 k( g% f3 h2 M* Kecho *****************************
) J& K- K3 t& R/ ?0 @& w2 Jecho ****** arp -a *************** 9 {) w! \! v" L5 o6 E) a
echo *****************************
6 @) R( e/ _! ?arp -a
: `' T# }: f7 l; ~- Kecho *****************************
5 n+ D# X6 z5 H) C# zecho ******fport *****************
8 u6 v/ Y2 _$ x; H) }% Iecho ***************************** m) O+ v5 D" k3 |5 z# j: @5 a
fport ; w( l( l. [/ t \9 L% P; V7 i
echo *****************************
4 G1 E' O* m8 ~. T( Techo ****** pslist ************** : l! t$ L: H& I, ?6 Y
echo ***************************** / Y. Y. x# c9 \, X* x- k% Z
pslist 3 X' z* @$ t- R2 D
echo ***************************** , ^9 f Z k- o( ]9 Q8 G
echo ****** nbtstat -c************
( U W2 ]5 G1 Z8 Zecho ***************************** 6 h& r5 K! [. p b
nbtstat -c
3 p* h! ]' z) e9 _echo *****************************
5 z6 B ^5 B1 E/ V5 R" Iecho ****** ipconfig ************ / u9 |4 ?5 T; J9 Z- K
echo *****************************
- p: p* o: i9 u) I: U; x4 \# Xipconfig /all
2 C: }- o+ \; O' Q( M2 Secho ***************************** 3 ?9 B8 o" K( \
echo ******* end time ***********
5 J F5 u9 |' _5 h# yecho *****************************
( H+ J3 R$ @3 c9 ^, W$ x7 H5 ^echo.|time - u4 e5 P; Z1 ~2 F
echo ******************************
5 t" K" n9 d: ?2 e2 pecho ******* end date ********* : c- `! f4 F" i$ _2 E4 E" U
echo ******************************
0 ~* }. x) e; y5 C! e( Fecho.|date
; ~* d+ c7 r" H3 u) d7 W----------------------------end,save as xiangying.bat--------------------------- 1 e ] H7 ~0 L" p/ C$ e6 O. O0 U9 w
注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
# Q. X8 B$ `* C下面我给出我实验是得到的xiangying.txt是什么样子 ! i8 U( D' X5 j
******************************
- Z9 z# y" Q8 Q******* start date *********
; J: j$ ^8 b0 @2 {****************************** / C& a' S+ q! { p2 T$ ?$ {
当前日期: 2002-07-08 星期一 4 R, X& U2 x- X7 {1 u
输入新日期: (年月日)
. k3 t: o2 W$ G3 @3 _; ?****************************** 1 w5 h% d a: g* e3 _8 ?3 G
****** start time ********** 4 _2 A. }3 j- `7 S2 v2 V6 F8 g
****************************** - ]( M) S5 C0 A( H
当前时间: 9:27:07.80 0 d; T3 S) D8 A$ t4 Z
输入新时间: 8 `" \* I0 B& }* G+ J: Q Q4 h
****************************** # b5 D: D" B. i1 f6 J1 k
****** netstat -an **********
9 b: f4 t$ z0 v0 l' S$ Z1 X% h( m2 `******************************
; u9 F, U) I; J# sActive Connections
: w6 O2 _- X( Z h6 O3 `Proto Local Address Foreign Address State
3 }' R, k. m% z5 H( ^% qTCP 0.0.0.0:135 0.0.0.0:0 LISTENING * o; `( D4 g! }% M6 F7 i9 E* p
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
, ?: g }; K9 Z9 F: c( JTCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 0 I# h& J% v4 ~
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING `; B( g4 \4 Y5 x I: `8 K1 p2 ^
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
6 V; j/ m! P2 B5 z# h& m3 J) N jTCP 0.0.0.0:1234 0.0.0.0:0 LISTENING 1 W" B5 j# J5 k% J; n8 ^
TCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED ( x9 m5 {2 c# N
TCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED 2 j3 z5 {( |4 u K8 G6 d" i
UDP 0.0.0.0:135 *:* 6 X: Z2 E: F7 {. ~, `# p
UDP 0.0.0.0:445 *:* ) t1 i# ?/ V* b
UDP 0.0.0.0:1026 *:* 4 e3 _8 B3 U3 R' m7 H: ]
***************************** % X' w0 }6 `& H" r
****** arp -a ***************
5 C; `8 U* M" L$ |, Y8 b3 V*****************************
) P! q4 d- P3 ~6 P5 vNo ARP Entries Found
3 S$ I! [3 c5 f& t0 `2 V) k& @: M*****************************
0 p/ S O6 G( K! c' u7 g******fport *****************
- V. o9 m2 o4 G! G( C" H* h$ J0 F*****************************
. |+ v9 W: q; {! g; a9 wFPort v2.0 - TCP/IP Process to Port Mapper
3 m3 ?9 \4 l5 C7 l. u% r; M _Copyright 2000 by Foundstone, Inc.
( Z! s6 M5 Z0 V; H$ ghttp://www.foundstone.com " R# i$ N5 [6 v' h9 T7 K
Pid Process Port Proto Path
0 y+ g+ H1 y% {' l6 `5 o. M400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe $ c+ S: F9 C. \0 t( W( @% Y1 S6 D4 d
8 System -> 445 TCP 6 p4 r# [$ g! r4 R' [# W
548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe # L' e2 C; H8 M( e6 ]6 ^& F
8 System -> 1027 TCP
$ ]) e4 ]) x6 F772 nc -> 1028 TCP d:\nc.exe
) W' ?4 |5 C0 E0 c. ~5 ?804 nc -> 1234 TCP D:\nc.exe
0 s% j- s. |$ M6 h& t* u" p400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe ' C: s$ S6 |. D3 `; ~4 M
8 System -> 445 UDP
* C) t. q; h: B6 R216 services -> 1026 UDP C:\WINNT\system32\services.exe
: g0 }+ k& X/ |# p6 S7 v" Q***************************** + ^3 \ U3 r N n4 T6 t1 `' G
****** pslist **************
' n! J6 f) R3 @9 I" @+ H$ W***************************** # g3 G( z) w7 w! o4 |
PsList 1.22 - Process Information Lister # Q! [9 Z, a3 E& D! w* }
Copyright (C) 1999-2002 Mark Russinovich
3 g1 \1 t/ Q8 _6 C) ~3 \8 O! SSysinternals - www.sysinternals.com , z! M' F' K4 F
Process information for QQ: ; f; p9 \; i+ A) u
Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time 4 l$ j9 h/ s1 }6 c$ _; k) G% t8 y
Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203
9 s0 x, V% O U7 s) J) |System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203 ; p2 Q- F1 z/ h7 Y4 l6 T
smss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203 I/ d2 b3 `8 `6 u' ~, p
csrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649
9 f: a1 u* N/ [5 f$ wwinlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307
! C( g# T+ i6 ~services 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216
2 Z) P; v7 t1 P% a; Wlsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196
' w9 u' k4 R- _" b$ esvchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952
1 l9 z9 |2 f0 E0 n3 _( P8 |spoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742
! J3 ?8 c5 D1 ?: X2 csvchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
' i P* w; c* VKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622
U) P4 c8 A; S5 Iregsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 , g5 Q! b" |1 c& Q
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
4 Q" p* f, Q+ L6 C/ N: Z! M! xWinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020
, c9 h) u6 O! I( s- X" E! ]1 Tsvchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319 $ O8 M8 | j' a- R; D9 L ]% _
Explorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662 ; U) P! o" n- t" z
delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158
' e8 t( p5 `6 _" Linternat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038 1 m" a( B, @ J1 X2 P
wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729 * \% l1 C/ Y7 g2 Y& s, R
conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
; _* { u7 a: v7 a# r( f9 ?+ Rcmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075 2 }. C' A$ k, g% A* c# t; e
nc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552 + H+ M3 M0 v. W8 I
cmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774
M' r3 F2 ~) ^: P- ^- nCMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
- k( z6 o2 ]7 Knc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400
8 H5 _7 `5 J0 E2 E Xpslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120 * N# v! P7 S: T& s+ A* `. z1 b" u
*****************************
: x ^0 ^) e6 H8 r6 }& ?****** nbtstat -c************
- h9 c) H" v; C& [* q! s2 S*****************************
4 H" Z. w& Q! C) |***************************** 7 `0 n- j- u$ h$ j0 D
****** ipconfig ************ 3 Y0 R* K% v B8 X/ @! R
*****************************
% i2 b( k) [6 X( q* J: K: n% v JWindows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq . A$ Q$ B8 n- H* E
Primary DNS Suffix . . . . . . . : 4 I$ E6 X# b5 R5 I
Node Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No ) \3 G0 H8 e# z
*****************************
5 {: M" u: D& T# y% m3 [8 [8 R$ E******* end time *********** ( a! [, p& C* Q5 _) n
*****************************
1 ~: M L8 w4 H' i6 i当前时间: 9:27:08.28
, U, T+ g) @" `输入新时间: ( b% c2 B7 K5 R* b
******************************
$ a! v$ m5 c% i$ J/ k6 G2 }! |******* end date ********* " q2 W0 ~& q1 b; y0 X9 H3 K1 r$ I7 h
****************************** , S4 y7 ]" n: W9 O1 q( v
当前日期: 2002-07-08 星期一
" \' M/ k+ q1 {. N! C" Y: K3 ~4 c输入新日期: (年月日) * b. ?& i/ |3 d4 _; K
- C6 N/ A" K$ w p( Q8 Z# {怎么样,我们现在可以用得到的数据进行分析了吧,哈哈 5 m$ N1 o. \# m- V; C$ y ]9 f
- {9 J/ f+ \; s7 Z+ H
三.几个要注意的小问题: 0 q* J. P: q) h4 ~7 z* G
1.在批处理文件中%win32% <=> c:\windows\system : H& I& y: q- o" A
2.在批处理文件中使用环境变量的时候,必须用%将变量包起来
0 ?- A' y J- A' I. D" R3.for %f in (*.*) do command cmdline
, ?3 M& s2 A% W. {' S在批处理文件中%f要写成%%f
) |- V: |+ @7 ]* i5 g( Q- R" n8 `3 }- g
5 I8 S8 }* `' ?, h& Y4 n |