|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好) * G7 n& a+ s, g& _3 \7 e- G
1 |1 c& e6 W. G& v6 K; ^& N% g/ B8 A& _; s
& C4 b/ }4 ^, Q; K% B5 }9 ]
一.echo命令在深入 ( q( @* |: [, Z: @- R) I/ }' f
恐怕echo命令是大家最熟悉的命令之一了,常用格式:
! J& z- C. ^0 y* \) eecho on echo off
2 K( {( O4 H [! q9 A9 _% \3 f" r, becho 欲输出信息 6 l, |. P' R7 D# J/ o
下面写几个很多人不是特别熟悉的使用方法 & N$ J- t( P, C- G
<1>首先进cmd:
0 S" F- a* G4 @2 j! N6 N**************************************************************** / n, ~. Q, q8 T9 R& T
Microsoft Windows 2000 [Version 5.00.2195] . J4 x% d: M. w7 N, K! X. l0 ?
(C) 版权所有 1985-2000 Microsoft Corp.
4 }: r2 W; Y' j; l: R) R6 wC:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on ! J; R8 `/ W C" y8 A
echo on
: q+ I. ]) I1 d6 P0 P$ XC:\> # f; K6 [4 J. |! ]- Y
**************************************************************** ' q+ u8 q( \/ }3 @* {
<2>如何用echo向一个*.txt文件中写如一个回车呢?
9 r2 q3 ~4 g( t7 S用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令: 9 X. B1 J6 l, n$ y# I
echo.>a.txt,echo.是关键,相当输出空行,即一个回车 : A/ y1 `6 L' W/ ?$ F% r9 e
[e.g] 1 C1 u' J @! w
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件 # f* j; R. r7 M k" {) U+ \
echo.|del *.* //呵呵,搞破坏是很有用啊 ; j8 A- L' Y, S) ]$ J1 E5 O+ {) }
etc.
' ?- l/ e: _ s$ x- {2 m, Z8 L<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦 8 d6 g, F2 a H( E& ?$ C
在cmd下输入:
& a5 Z) m9 d/ ~# V* x- w" y% H( C* Gecho空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令:
* P. R6 R2 M# ]$ C7 cecho ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长
0 `/ O! |; d+ r. b0 L/ {二.批处理与应急响应
2 L! z# B) ~8 Q- M# \首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555):
$ V3 i* A# `: L# @创建响应工具包:
! ]' `- D& r" L, a; Xcmd.exe----------------------------------nt/2000命令解释器
& U% _' ?8 |/ nloggeden---------------------------------显示远程和本地连接的用户
B- ~1 K, ~+ w9 Krasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱
! b$ m7 H9 L3 M7 }5 q6 }! snetstat----------------------------------列出监听端口
3 G6 T+ Q. j7 U: P& n! Q% G- wfport------------------------------------端口进程关联工具 m2 J8 ` J' L$ v
pslist-----------------------------------列出进程 6 m$ p% L" b2 Z, }, s6 W; n
listdll----------------------------------列出运行进程以来的动态连接库 % S1 J2 K- G; `$ `
nbtstat----------------------------------列出最近十分钟NetBios的连接 ) J7 K% Q2 p% j0 B! _! a1 a3 ]/ D
arp--------------------------------------显示最后一分钟连接的系统的MAC地址 B( i) R% C9 m7 v% X' p C5 Q- @
md5sum-----------------------------------md5校检和工具
\/ }9 a+ r) E( [cca.exe----------------------------------检验克隆管理员帐号的工具 9 [; |, c3 |: Z8 F Q
doskey-----------------------------------显示cmd命令历史的工具
4 g5 J* C! w* k.......
8 s4 m2 A* y a( j$ V....... ; A- o2 k% L5 Y. Z3 d) f
....... 9 [( @8 z1 X, P1 a3 Z
把你认为的对取证有用的东西都放进去 0 Z5 D+ Z% X/ v/ d0 m
原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下: * _! H8 i! h# K7 P4 l# j
比如受害的机器名是qq,安全的机器是127.0.0.1 ; ^; |( I; g& T6 `7 F2 W
(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程)
0 I5 J$ o8 ^) sqq_cmdline: 6 i, P5 t1 i3 Z$ F8 O% b
xiangying.bat|nc -vv 127.0.0.1 1234 " H- o1 Y' f% j. X8 h
127.0.0.1_cmdline:
. L _8 m, Z3 ~$ b( |nc -l -p 1234>xiangying.txt
/ [8 k$ {5 ~8 X: t7 y+ t3 |--------------------xiangying.bat------------------------- 9 m' S4 @$ `" b& [! S! y
@echo off
6 X; Y3 z m$ c Becho ****************************** N' D N# o+ X
echo ******* start date ********* * Z7 A* o+ v+ a
echo ****************************** 1 q* a6 k7 c, M8 H5 e& ^
echo.|date
, x' _6 V/ B% i' @1 \* x" Decho ******************************
: w6 R2 x9 O0 w9 n% r; lecho ****** start time ********** ! [$ a0 e7 R6 C/ Q4 Z' Q
echo ******************************
9 y' [4 Y( |4 j/ f' P& _echo.|time / i# q6 A7 ?9 [. Z% D5 n! J( k1 C
echo ****************************** , r, }5 E2 r; L7 u9 }5 x2 ]
echo ****** netstat -an ********** 2 T( p$ C& x4 s1 O6 U
echo ****************************** & G; n1 Z; T. E! ]' c
netstat -an
* p' h6 Z8 h: C) kecho *****************************
$ l) ~. j& T& ]- Mecho ****** arp -a *************** # l8 I9 U( t" m2 e/ ?) T/ v- N- \ R1 i
echo ***************************** * i8 ?5 _& L3 B* n/ m9 a( k+ G
arp -a
" u9 P$ M7 t0 I5 ~# s6 f$ qecho ***************************** , G, {4 \) t$ D5 E( {
echo ******fport *****************
5 v l6 W1 f) A, v4 necho *****************************
& b' l% c* L" W, \: Bfport
2 {8 y' i+ H0 g. t( w3 M; {; ~$ p9 }echo ***************************** , }6 m4 p9 k+ m; o# W2 z8 T
echo ****** pslist ************** 7 p# C4 _: A4 [. R( L9 Z
echo ***************************** & h% t% W) z/ c- h* _5 H; u
pslist
$ j3 v F, b2 }6 H- p& Q3 l' g; h, aecho ***************************** ! I4 h+ R3 m) u# e
echo ****** nbtstat -c************ / U- _1 \* m& X* _) ?& k2 @
echo ***************************** & z9 [! o+ r! {) ?/ L
nbtstat -c
5 k9 e' ~6 L8 Recho ***************************** 9 i7 I" r5 s* N, Q2 D
echo ****** ipconfig ************ & B/ s! g6 d+ `" E$ g, T
echo *****************************
9 o. i* H9 h- zipconfig /all 3 _7 J# M3 ~' O! Q9 T
echo ***************************** 4 `0 V, w+ c0 `
echo ******* end time ***********
?# O6 v6 |/ R% ^5 a) @echo *****************************
; a+ H1 l9 L! mecho.|time + F- {1 G, C2 V7 ?3 O6 E8 o
echo ******************************
6 w9 p5 q* A( I2 L3 l: J4 ]echo ******* end date *********
+ R: v0 B% N( D$ {echo ****************************** 7 Y @, ^( O) A/ {2 t
echo.|date
6 a* F0 t5 U$ Q* Y----------------------------end,save as xiangying.bat--------------------------- ' q/ C2 [( g3 b! k1 d: |1 J
注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了 " e6 l7 ?, @$ l/ a. `/ R
下面我给出我实验是得到的xiangying.txt是什么样子
0 w3 p) b3 q6 b( {******************************
4 D H1 T/ n' E4 i3 t, g6 T: u+ u5 w******* start date *********
' }5 m) D) _: n- n5 [****************************** " `( o) l5 @ v+ u# Q V3 J
当前日期: 2002-07-08 星期一 ' ~& q9 D/ L; m( g" K. }
输入新日期: (年月日)
6 G: \8 L$ F, c0 Y! Q% x******************************
9 N' c f- F5 X: E, v: v****** start time ********** " o% Z7 A& u q3 A! f
******************************
1 c1 ? z8 \9 F s: z当前时间: 9:27:07.80 & p1 l+ a$ O' G- w/ u
输入新时间:
$ p/ t! q4 N0 K8 [****************************** 4 r5 G! ~2 J1 ?& u& }. `
****** netstat -an **********
3 A' F! U$ O' P1 z+ K/ W* L******************************
7 _" }2 g! G9 V0 |Active Connections * Y7 i% F- S$ @. L% R. _
Proto Local Address Foreign Address State i1 D/ Z0 ], c Z1 `7 n8 ^9 c
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
. {. J% A( v5 L7 q! l, l0 MTCP 0.0.0.0:445 0.0.0.0:0 LISTENING ; ]' l3 ?" ], J/ z& U
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
$ I( Z% c- m8 ^. JTCP 0.0.0.0:1027 0.0.0.0:0 LISTENING U6 i6 ~$ x9 a4 m6 H
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
1 p T! }% ?* q) I8 f, {TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING ) N& H) y5 |/ L" v4 T( m
TCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED
: E* j0 k# t/ {& c1 mTCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED ' G: M- w/ _! {: @( k: p* P: b* w7 p/ H
UDP 0.0.0.0:135 *:*
+ A* c' ^/ t) |8 p& _UDP 0.0.0.0:445 *:* % _8 |0 K% X% E1 l6 T- t
UDP 0.0.0.0:1026 *:*
) \4 o1 C3 I9 X# B2 Q! c, u2 c( j*****************************
) k& m% d, x* j' I* P3 g) m****** arp -a *************** # @# R" W c% h$ r' y1 v6 S
*****************************
, g, ^0 l" h2 C) m$ U( X8 ENo ARP Entries Found
: ]0 Y8 D4 J4 x3 w* G*****************************
' A+ b/ q1 G# M" o0 c******fport *****************
% Z& q: @0 A6 t* w***************************** . a' k; \. X y
FPort v2.0 - TCP/IP Process to Port Mapper ; e4 w1 I/ A" A0 s# `2 x# u3 t
Copyright 2000 by Foundstone, Inc.
1 A9 R. ^! _. f5 z, Q# \% Zhttp://www.foundstone.com 7 r, o# g9 X, s/ ]4 e) M% }2 ?& n
Pid Process Port Proto Path * [* {" G2 b( S0 w* _
400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
% P6 D( b8 r( |# F8 System -> 445 TCP ' r. S6 _0 |) v
548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe . Q. c# V& j' D) n
8 System -> 1027 TCP ' Z$ j4 l& i: v7 F. }4 ]4 K
772 nc -> 1028 TCP d:\nc.exe u6 g S- f, M+ N/ F C
804 nc -> 1234 TCP D:\nc.exe
: S' T0 D- D7 q. q/ Y. E6 s/ C5 N400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe
5 p( O7 s. T- y, P+ O/ v8 System -> 445 UDP
# o6 o3 n B. n @) _216 services -> 1026 UDP C:\WINNT\system32\services.exe
. `' {/ `& j/ f" d' K# P*****************************
: Y+ f3 ^4 h, Z; t# A****** pslist **************
* H, J( X6 Y8 J; n6 U+ p***************************** 2 |* c, M) D6 J& h% I, O
PsList 1.22 - Process Information Lister
: S$ L% D z; PCopyright (C) 1999-2002 Mark Russinovich / E0 {+ U0 \8 h1 J6 h, w
Sysinternals - www.sysinternals.com 4 N$ H0 c7 O% k0 {/ @4 }
Process information for QQ: 6 k- P2 C9 j. ~; i' i3 t
Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time 5 H) A7 h! h! E$ p1 ?8 e1 j' F) K7 `
Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203 2 y4 J1 Z |" g8 X8 z* U
System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
$ [6 T; A6 P- B. i5 Ismss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203 $ o" x Q# p6 [- g! j/ T
csrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649 1 x% f8 B7 c; \7 e& d/ R2 ^
winlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307 . u& s; U+ ~) u3 G4 T8 z
services 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216 4 q( x ?/ a7 Q# S5 |! g+ D
lsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196
/ G+ X5 H5 D! l# S; Csvchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952 , d+ H* `4 P* z. Z6 G+ G; x# q3 Z E
spoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742 : p8 R0 G. }$ f2 s4 L
svchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
& Y% n |% s& r* {+ B1 {( l- B5 xKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622 " |4 T% s# r$ ^6 O: [
regsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201
* e. x: P) Z0 H/ CMSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
7 i7 w7 Z1 u7 t* R) l/ Y6 pWinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020
2 z3 g. p! l$ t# osvchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319 6 `; Z+ ~$ f P; O% g
Explorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662
) K; h6 ]: w5 f2 ?delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158
* |& m2 Y: A0 k1 c) S' B; n2 ointernat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038
8 [6 y1 b; j) [+ O; Y" z6 awordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729
! u3 q6 e: @8 a$ ~+ dconime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
' T" G; g, k0 h3 `% w( }cmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075 2 x3 B8 i4 L5 j
nc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552
+ i( R: g' ]3 R) R4 L5 }6 l4 M* Jcmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774 4 s# X# w$ t x, j0 [
CMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
. |3 q9 }$ t8 c0 ]& I3 Qnc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400 % Z) i3 Q; j- A5 L0 @3 R
pslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120
+ L$ ^( ?7 S0 {' x7 B/ d***************************** 1 ~& v8 k# q5 X" \3 G1 o
****** nbtstat -c************
& k7 N# l) @! {, k& E* O/ T4 z*****************************
2 a0 j9 Y- k) J# v* ?*****************************
7 G% Z, A, h9 T****** ipconfig ************ |2 [; a+ M/ h- X) w5 H+ m
***************************** , F' ~( [) ?9 D. o
Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq / u" A4 o5 z/ ]( m% S& }
Primary DNS Suffix . . . . . . . :
# t4 X+ l' Q& O/ n7 ~% n$ vNode Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No . C W3 i3 P& G0 @, B' s7 ^
*****************************
( S8 s* r) g7 d8 I******* end time *********** ) W/ t. c+ n; U! v* [( G
*****************************
$ x* O6 ]3 s8 L当前时间: 9:27:08.28
, _* T L" L+ `: y0 G输入新时间: ! {$ n6 K5 c5 m8 ], i; i3 J
******************************
* W G* j) w9 P8 J******* end date *********
5 G' u6 \# r4 D9 u/ j****************************** 7 O9 i& m; L; u X% q
当前日期: 2002-07-08 星期一
4 {& _9 \! R- H- [) M: ^4 |; I t输入新日期: (年月日)
% \9 I- s' _+ A. x* ^
5 z" N& A+ H9 H怎么样,我们现在可以用得到的数据进行分析了吧,哈哈
9 H: S2 `/ u7 Z7 }+ O
4 z- a; V& p, J P- [3 p! D- I9 ~三.几个要注意的小问题: ( n2 p6 U/ O3 r5 E
1.在批处理文件中%win32% <=> c:\windows\system 7 Z6 W( \+ g% v4 \5 g4 { I. e
2.在批处理文件中使用环境变量的时候,必须用%将变量包起来
! u" x) @ H* O% [6 v3.for %f in (*.*) do command cmdline
3 W+ k9 y8 |5 s5 W" C在批处理文件中%f要写成%%f 4 i6 x, j2 y' |5 Z8 M
3 C$ ~7 p4 F/ n4 t' o8 o* n1 r4 ^7 h! e
|