|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好)
( d; h- N5 c- t, _/ r2 V/ m% w9 }' @3 j4 p) J& |- Y
" Z/ _8 v) w6 Q ) D- b5 i5 a* ~
一.echo命令在深入
1 o B- V4 P# m1 z; S& O9 J恐怕echo命令是大家最熟悉的命令之一了,常用格式:
W* {1 Q; z, f1 Z* x5 Oecho on echo off
( w9 U5 ]) { ?9 Qecho 欲输出信息
: w' T5 S$ d6 j下面写几个很多人不是特别熟悉的使用方法 / g7 e9 D( k/ \( b
<1>首先进cmd:
! \4 H! k5 x* K# p2 @0 ` Q****************************************************************
# a& @3 v; [* B. O* ]Microsoft Windows 2000 [Version 5.00.2195]
& P) _4 X. g" q(C) 版权所有 1985-2000 Microsoft Corp.
$ Y0 P5 X' w6 qC:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on 8 \0 |8 [, A& O: [% ^" _
echo on 1 w6 ^2 c" |% m# S4 r2 Y
C:\> 0 f9 m3 q9 ]1 [! P
****************************************************************
+ a4 r1 w, H- ], a<2>如何用echo向一个*.txt文件中写如一个回车呢?
; E, C2 m+ y/ n用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令:
2 Y4 D* s: \! H. v% U) W$ Oecho.>a.txt,echo.是关键,相当输出空行,即一个回车 5 L: |0 y6 b, j+ a' ~- a4 L7 G1 A
[e.g] , M( P) w- q h1 B& g0 E: `: L
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件 0 Q) I- ~" N" [) ]
echo.|del *.* //呵呵,搞破坏是很有用啊 3 @( S x U6 U% \4 l% u) m/ n! D
etc. ! J3 f @+ x. G/ W2 r0 @/ m6 a
<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦
( ~$ ~/ x4 q7 M3 h在cmd下输入: 4 J) W1 u0 A `2 c1 W7 f& d6 c
echo空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令:
7 S0 Z( s/ j4 oecho ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长
9 d) t- |7 [; O( N+ B I$ b! X二.批处理与应急响应 ! | c' @1 G. K l( H
首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555): 2 @+ I S6 x+ T ~8 F0 N$ w7 e( c
创建响应工具包:
- V9 U# S+ [0 k4 w) D7 @+ H: tcmd.exe----------------------------------nt/2000命令解释器 8 m, j; R a& N9 U/ I# w* m
loggeden---------------------------------显示远程和本地连接的用户 2 `- g* U$ m3 C, h% f+ f! N5 L
rasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱 6 q* G9 ]# S3 B' n( G, R0 F3 E& Z) j
netstat----------------------------------列出监听端口
' F( O! z8 {, ?' Z$ E, G3 yfport------------------------------------端口进程关联工具 e7 M9 _; O$ f2 y' K9 h+ e$ D- l
pslist-----------------------------------列出进程
# Y- g. @; L2 Y2 plistdll----------------------------------列出运行进程以来的动态连接库 . u) m8 d. }$ v1 v. \+ ?4 W
nbtstat----------------------------------列出最近十分钟NetBios的连接
5 c% C/ i! {# o7 H5 ?5 q& i9 l. {arp--------------------------------------显示最后一分钟连接的系统的MAC地址 7 L" @# Y5 M# k! ^9 m: c
md5sum-----------------------------------md5校检和工具
# K, ^: u3 X4 \cca.exe----------------------------------检验克隆管理员帐号的工具
9 n. _8 Z! M% I6 |* E: I8 {doskey-----------------------------------显示cmd命令历史的工具 " h* Y+ k, {& y
....... / o2 ~& U4 C& x9 ~
.......
- @/ A0 K* W; G.......
6 ^5 Y: Q0 v8 Y& i) Y3 x9 ]# a把你认为的对取证有用的东西都放进去 8 W M$ h e* m: c8 X9 H
原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下: * K! ~# f& c5 X; G+ V) m+ e4 _, p
比如受害的机器名是qq,安全的机器是127.0.0.1
7 u% t5 Q( W- Z4 k(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程) 7 [' @( P: Q: n' H. b$ v
qq_cmdline: - m' i( j- ~1 t3 H0 e8 x
xiangying.bat|nc -vv 127.0.0.1 1234 3 ^- b/ b5 x, O7 C
127.0.0.1_cmdline: & L3 B: @! B7 ~) n+ h
nc -l -p 1234>xiangying.txt
6 T2 n" V" j7 \; b" t% W1 |4 G--------------------xiangying.bat------------------------- 7 c8 b5 |% ^9 y' |
@echo off * L. C! | F: Y6 T3 h
echo ****************************** : _4 A+ e1 N8 A( q( K
echo ******* start date ********* + q0 B5 `9 A6 Q% r9 s- B
echo ****************************** 3 L9 C0 A! m2 x/ U! @
echo.|date 6 ^+ U# [1 K" T
echo ****************************** 5 X6 A. W9 C3 t" R$ w3 v, c3 F
echo ****** start time ********** " g! s1 F9 D4 Q _- q4 R0 L
echo ******************************
. u& H. j6 `( B8 v' T0 }echo.|time
# _6 c2 D8 V) z* mecho ****************************** 6 u/ z# m( p9 W8 ~
echo ****** netstat -an **********
0 Z S' c! H3 E! eecho ******************************
. e5 E& C, I- l' c) H9 q# ?4 Xnetstat -an
1 E1 W/ r' `5 ?+ Xecho *****************************
# n/ x1 o* _; z1 M0 R& _7 Necho ****** arp -a ***************
# T6 @. z" ?) c/ g" U. O3 Fecho *****************************
3 H; @9 i4 `# f: I$ Earp -a
h. U* E2 h, \* aecho *****************************
7 s' b6 a/ A9 H. B; }1 |3 @+ X1 _echo ******fport ***************** + r) b! S) S. o3 S3 d; b. @
echo *****************************
3 S* J0 a7 m& A. A& H) I! mfport
) X6 m% S3 Q$ N! ^% techo *****************************
8 e5 [4 d) Z% H' c+ U" Zecho ****** pslist **************
, F1 E: S+ m0 e8 \echo ***************************** 1 }5 J& Z) z+ S+ w2 o8 V( j
pslist
3 L, M7 U( {4 k) l7 Y$ j5 n$ Recho ***************************** 1 \1 @' T- B9 N9 B: O0 t
echo ****** nbtstat -c************
8 ]) \( [ A1 o! @) E5 F' n* \/ iecho *****************************
$ p+ Z0 y, |0 g" M% b7 ?nbtstat -c
X: w" t6 m3 _9 T9 \echo *****************************
, _9 I9 ?( A3 q6 V; x0 k- ?echo ****** ipconfig ************ " H3 d" a3 Z* a; d Y
echo ***************************** s. U# g( s* s# Q
ipconfig /all 2 C; y. Y8 H! ?- C
echo ***************************** ; r. r0 c) _9 Y3 R' @
echo ******* end time ***********
2 z+ K/ c! z/ E" o! C8 s' ]echo *****************************
" w4 k9 P' v4 W6 H9 I& a: \- Techo.|time
$ E) F7 E& _- T9 y' B) v5 c" }echo ******************************
% r2 N% Z( |$ ?5 x9 ~, k" c3 C- Fecho ******* end date *********
5 w& T0 m: S0 `+ K; Q7 d: Y, n& yecho ******************************
' P+ F% B( f* I# Zecho.|date
% V( [0 Q2 ^8 t9 x) j- m----------------------------end,save as xiangying.bat---------------------------
' m7 o9 W# p+ c* Z0 @6 h注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
; z8 Q5 z- r% D- s, ]6 F" A下面我给出我实验是得到的xiangying.txt是什么样子 & ^9 n% n" x2 r: x( ?4 A* F
******************************
7 D0 `5 y3 _; H: ]7 U, E, k******* start date ********* ; |: ?& ~' Z P8 z; o+ e: a
****************************** ! p- j% u2 B' z: y* h
当前日期: 2002-07-08 星期一
. t7 `& Y }8 t4 d4 K7 I- S3 |3 J输入新日期: (年月日) % ?7 j' o z1 e8 t. u" S
****************************** 9 @$ F9 n2 N" K7 |. X
****** start time ********** 7 H, _9 `. p, h
******************************
5 g5 E* u0 Z6 l7 E0 L当前时间: 9:27:07.80 6 R$ x1 l, x7 n" |5 G; j' H
输入新时间:
: N0 P+ e, y; D' ~******************************
/ A( g" V/ ^" m' n& K. b* z****** netstat -an **********
9 E/ X9 l: n5 n, c& v4 @******************************
% s+ \- h& K9 c" P& hActive Connections
1 A% _( w' w8 a, y* _) J0 i( TProto Local Address Foreign Address State 6 i! y ~/ U" Z% s% S
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
/ t. R0 Z* n8 G) }# ~6 qTCP 0.0.0.0:445 0.0.0.0:0 LISTENING
+ ~/ ?- U7 X0 b. Y0 r3 @TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING 9 Q# c5 V& j+ C$ Y. y9 d
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING 2 R4 P$ z) _5 j3 d
TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
$ F! x9 e# S! j' a. yTCP 0.0.0.0:1234 0.0.0.0:0 LISTENING
b. k/ G. l# m' k" UTCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED ! a9 F3 ~/ E3 d4 J
TCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED 2 }% o, I0 N, F; l; l
UDP 0.0.0.0:135 *:*
) k% k7 P5 D! E8 E, \UDP 0.0.0.0:445 *:*
+ x6 i6 V6 Q2 F: JUDP 0.0.0.0:1026 *:* 4 ]' ~, O4 @& X0 s5 K9 ?( A* [
*****************************
: x0 D, G/ v, W0 M' w' _' @+ p****** arp -a *************** 6 x- _+ Y k% q% ~5 b9 A
*****************************
9 ?8 U4 l: |7 n# g% u5 MNo ARP Entries Found & m% x$ b& F s( m8 E1 ~ m7 }+ t
***************************** + ^, U/ q1 p# |" h% V
******fport ***************** 9 P0 _/ r9 M# V
***************************** 8 \; i5 |! T! L y5 S# h2 n
FPort v2.0 - TCP/IP Process to Port Mapper
n' Y7 W/ G8 U$ f6 L' U' E: v; \Copyright 2000 by Foundstone, Inc.
~3 x0 g" F6 [/ s% uhttp://www.foundstone.com 8 {( u! @! I2 F, G5 Y1 X, v& X K
Pid Process Port Proto Path
$ x" v% t" \' x400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe 2 F) ^2 o: R z8 @- C& N1 }
8 System -> 445 TCP ( Y# y9 D# u3 O: R3 h
548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe 5 g- ~; }6 X* q- c7 ]5 ^
8 System -> 1027 TCP 5 Z# O; M& H+ L+ `! O
772 nc -> 1028 TCP d:\nc.exe
6 Y$ \8 D+ ?1 W/ v804 nc -> 1234 TCP D:\nc.exe ; ?$ C6 g6 U! u8 o, J
400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe 9 ~ n: g% G7 o3 n
8 System -> 445 UDP
! W) @9 k! K& w8 i; |- d- w216 services -> 1026 UDP C:\WINNT\system32\services.exe
! Q U# \, Z; d3 o* y8 S***************************** ; _' [4 k" V: Y! y! `
****** pslist **************
8 D6 I0 y- p! _0 U+ t/ R*****************************
3 V1 ]' k9 s3 m& H ~PsList 1.22 - Process Information Lister
- G; W( ^" ?2 }4 I. sCopyright (C) 1999-2002 Mark Russinovich ' b+ {1 \' t+ b5 a
Sysinternals - www.sysinternals.com & Y8 ~ X r1 {. m. z6 ?8 V
Process information for QQ:
- ~3 s/ V n$ E! O' M8 D. b% }Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time + n2 `; k1 z: v
Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203
& T# U, J/ b8 u3 {System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
# a/ A5 F8 g: r* usmss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203
* p& L0 k2 ]0 E" G# Z+ ~" Fcsrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649
- k6 z( B5 L4 L9 n( fwinlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307
3 y3 @4 |- W3 w% `1 x/ h3 P$ Yservices 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216
/ I$ v4 k% m; X1 F' s/ Slsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196 ( C u* K( m. j: l: G% b
svchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952
/ i; d6 _2 e! L, z+ g. Yspoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742 : I( v0 Q( f! g& g! ]
svchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
* K8 K( u a' C, c& XKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622 + j' A8 B% G c- q6 i
regsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 6 s/ z$ F0 S; a |& j7 O2 E
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
" n1 f5 V' l5 R1 m+ E5 l3 Y8 J8 l0 @WinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020 + `6 ` R3 Y {9 d
svchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319
& Z6 H' [5 d7 }' h H$ \7 j, sExplorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662 ! p* k7 s4 h5 @1 f
delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158
$ h8 c4 r2 F# c5 L$ {7 u' P. kinternat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038 3 Z; z7 f. k& o* L6 c
wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729 5 k7 h8 H: g* X! e/ j$ q) Y
conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
9 D1 {/ j" \& K2 { |cmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075
) u+ s( a, k3 x- Q& R# bnc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552 ) @1 A# z E) u: d, t
cmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774 % P% _2 T* \ }; I) W
CMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
& a6 }7 O! F5 O& z( }nc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400
+ Q7 f* _! f3 `# Z1 opslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120
0 m9 v& ?0 _5 n7 Y***************************** 0 M+ B/ S# y s& k( N
****** nbtstat -c************ " U9 C+ }' `7 G; Q2 t
*****************************
- Y x. \* l6 Q6 x( V*****************************
) [7 U. ~. B0 b9 `, Z6 l****** ipconfig ************ # X+ n! p' c( _6 h: p
*****************************
7 ~* G! I' F+ w7 X4 SWindows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq
; e% ~( u/ ?) e9 k) \3 V: A+ lPrimary DNS Suffix . . . . . . . :
/ w; P* u# ?' k3 Z8 |: c- INode Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No 8 L+ S+ w& }1 F/ w! V$ H: c
*****************************
- d2 n5 Q! [) ~& J7 ?******* end time ***********
5 @% U# [% K: u. P***************************** / L2 H# O2 G) `% R' N# w9 I0 y
当前时间: 9:27:08.28 - q3 h0 _8 H& ^8 ^9 P
输入新时间:
( T' w; l- g7 S$ B4 }3 A8 ?4 q; ~4 I! d******************************
/ }' a$ \- o, a/ E& }******* end date ********* ' ~/ q1 i2 \* G7 M6 i
******************************
3 M( U1 g9 Y$ l3 B- l$ I" A9 K$ g当前日期: 2002-07-08 星期一 ' |! u8 e7 D+ a! l8 J* u
输入新日期: (年月日)
3 N0 G" R+ b7 d+ o; j7 C1 `( _7 X- j4 @3 w' ~4 Q
怎么样,我们现在可以用得到的数据进行分析了吧,哈哈
6 j; x/ f1 f& t+ v* r- I0 ]: ?4 z( p( b
三.几个要注意的小问题: , t( ?. U$ ^8 V9 H% s! i% i' a' F, v
1.在批处理文件中%win32% <=> c:\windows\system
, v$ Y4 T. y& j) ~6 }- o2.在批处理文件中使用环境变量的时候,必须用%将变量包起来
; W$ a( K3 L C3.for %f in (*.*) do command cmdline
' j9 Z. f& ?+ Z) D在批处理文件中%f要写成%%f 9 Y% c+ s3 X- M/ K& ~
# Q1 J [0 @+ W! S$ p( Y
- j3 C8 @' M7 R
|