|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好) , q7 M- ?! `/ o% k
7 h% V" S7 ]8 S" Z6 o3 R
0 m: `" ?2 P( ]: i4 x! m/ j3 A 0 J6 K# P3 @/ \
一.echo命令在深入
9 E0 M% h" a) U" F& i7 a恐怕echo命令是大家最熟悉的命令之一了,常用格式: ) X4 q! S0 m) x, w; P) [: R
echo on echo off
! q9 f8 h U$ r0 H5 f4 M2 iecho 欲输出信息 : L# V) I2 k' M. Q' g9 v& H2 U
下面写几个很多人不是特别熟悉的使用方法 2 U# g7 p6 M3 c( X) t8 n
<1>首先进cmd:
$ w+ G' h7 z+ P6 U. A1 ? m**************************************************************** : w2 n- D, e$ C
Microsoft Windows 2000 [Version 5.00.2195]
. F% w, e" O: X(C) 版权所有 1985-2000 Microsoft Corp. 7 j5 R& b2 z3 u! d* s N7 Y0 K. U
C:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on ' R- H" x0 f( C2 N6 [; x
echo on
5 Q6 m7 ?% x) Q$ _8 ]9 a* v! _C:\>
9 W. D- M N; U' H****************************************************************
6 Y0 y A& L3 F/ {<2>如何用echo向一个*.txt文件中写如一个回车呢?
+ ~: e6 X* [# N. I# O用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令:
- ^* R3 z4 P2 C( y$ ?( K) Pecho.>a.txt,echo.是关键,相当输出空行,即一个回车 : @( W( f& y9 q2 w. w
[e.g]
' b) ]$ @( R7 k2 y) [& ^echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件
# Q8 N- Z! K& W- W5 qecho.|del *.* //呵呵,搞破坏是很有用啊 ; b: X0 o8 V' F% e$ j1 y
etc.
: d8 N. d, d& {, {3 n& u7 I2 }9 @<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦 0 N9 {- Z% b* o, s
在cmd下输入: + f5 b2 O0 s8 a. j0 o3 ^
echo空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令:
1 |! M* V& D/ k3 v0 jecho ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长
( y' e+ Z4 m8 j# }9 e二.批处理与应急响应
' F! F4 t. a" ^1 \首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555): [. G7 n5 k8 u
创建响应工具包: & e, O2 @- e( |3 {- W- ?
cmd.exe----------------------------------nt/2000命令解释器 _( `" V- e3 L( I0 l: q
loggeden---------------------------------显示远程和本地连接的用户 , ]& W; S' c4 d
rasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱 & T7 b: \' y% X
netstat----------------------------------列出监听端口 ; Q2 t! [. |7 j; Z( ?1 m: q
fport------------------------------------端口进程关联工具 ' Z' Q8 ~% P0 p! R$ h4 N
pslist-----------------------------------列出进程 ! h( B2 p/ Q) w( K- [% Z
listdll----------------------------------列出运行进程以来的动态连接库 % [, K) @% e* G9 E8 i V! |
nbtstat----------------------------------列出最近十分钟NetBios的连接 4 D( u! T: C1 [2 E) q
arp--------------------------------------显示最后一分钟连接的系统的MAC地址 2 `( k% I- Q+ p& n3 i
md5sum-----------------------------------md5校检和工具 . R A2 U+ f7 L: t, R. W6 v
cca.exe----------------------------------检验克隆管理员帐号的工具 . o6 @2 [9 p1 e3 X9 P. F
doskey-----------------------------------显示cmd命令历史的工具
( Q' C7 }5 [! \- L' ^6 m....... 7 l- S, y" H' R+ r
.......
9 x; d/ a% L9 B0 s+ L9 X....... 3 S! S4 Y# q% n2 N* d1 z
把你认为的对取证有用的东西都放进去
7 n: O- Q6 ^" Q" l- V5 l原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下:
2 j( n* j& T2 F2 ^0 M8 `# `比如受害的机器名是qq,安全的机器是127.0.0.1
% ?3 ^! _4 ^; ^& q! z(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程)
1 J" c# Z1 F# Q- iqq_cmdline:
C# ~' M1 y- ]xiangying.bat|nc -vv 127.0.0.1 1234 ; G2 E' E! ]* w$ r! ]* C
127.0.0.1_cmdline:
8 E8 k% j. \, B* R) U# x' knc -l -p 1234>xiangying.txt 5 l0 v+ n0 a: o: o/ w7 q$ s/ Q7 f
--------------------xiangying.bat-------------------------
: c& b' Q( k2 G" d& q1 }9 P' K! X$ {@echo off
8 N% i1 }* E& L r8 T) ~# W0 x7 ~2 ~echo ******************************
! C2 t5 E5 D7 n% aecho ******* start date *********
) |" D, o% h) {0 R' [echo ******************************
4 V6 T i) ^/ D# Gecho.|date
# {. }; x0 R) P" f: O0 O( cecho ****************************** & w/ h+ U4 a5 H2 c1 R6 v
echo ****** start time **********
7 E' b3 l: d% K& D3 v9 [4 c% Iecho ****************************** & ~/ [4 x8 o: V3 R- L" E+ p
echo.|time
8 e; h# M; R, b8 D0 L) g- \& wecho ******************************
+ J$ `5 v9 H/ |5 d8 J# Fecho ****** netstat -an **********
5 k. w' L2 X& w; N, X9 l: Oecho ****************************** / p* c# {1 c8 S; U& M9 \7 F+ a
netstat -an # {2 l3 ?0 N, ]: V4 m
echo ***************************** 6 e9 ^6 a9 { T) D0 V* k9 y/ F2 \3 G- n
echo ****** arp -a ***************
* @9 Y8 W, K6 x0 uecho *****************************
7 N( j' t3 c% A$ Q9 T1 R, karp -a
, i' |% U' J7 }: {4 [& Jecho *****************************
+ T8 u2 |6 r- U" ~echo ******fport ***************** 1 N p) z: }- Q' J* e
echo ***************************** , r% Q2 C2 y0 t2 Q! C9 T. b# R
fport ! u$ c) Q8 [) h" s. g
echo ***************************** * D& |3 o% V$ R- w
echo ****** pslist **************
) Q. w5 K; s1 U4 w7 d$ L6 yecho ***************************** t' ^+ s! Z1 m& s" m
pslist & I( n6 f$ I# M9 y" j
echo *****************************
& }# Q o! f. x' F3 E$ a8 Uecho ****** nbtstat -c************ 9 u4 _* Q1 L" A- n; d. p
echo *****************************
" @# M( N: w8 c& |nbtstat -c
5 l8 L% M9 ]' W. t9 D8 F* e4 h, Qecho *****************************
: n" J: w+ Y9 X) Recho ****** ipconfig ************
; M7 S( e; U* m) d' _1 R+ b9 recho *****************************
8 r( h& h2 z% ^" sipconfig /all , c. U9 M, \- ]* A: x4 u
echo *****************************
L& y- P. G7 @* g! Zecho ******* end time ***********
5 u7 m& n" I, y1 H& F' fecho ***************************** K2 H& U# |3 ~( r. `: P& V" d
echo.|time 9 M9 A% Q$ m/ [) m0 N* @/ B w
echo ******************************
5 _, }7 f0 R' }8 F" G# J6 qecho ******* end date *********
+ D6 M, I5 k2 i; N I# s5 ~7 K4 cecho ****************************** ( D! p1 a. i2 h1 N K0 W
echo.|date 3 m' J6 d9 E/ K) S& v/ h- O% o+ n
----------------------------end,save as xiangying.bat--------------------------- 9 h0 \0 r$ d$ O! R2 w
注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
" F# m, t/ c- e0 s; l+ S下面我给出我实验是得到的xiangying.txt是什么样子 . e r( O1 [" B, M) f& q) B
******************************
2 A# r# r" w6 ~( I0 h; R******* start date *********
- b6 ~# m! B, ?* S- J7 w/ Y( }: w******************************
/ l; Z# c$ C- l( @- B2 z0 B当前日期: 2002-07-08 星期一 ) ?* {4 T# H1 w# O) c- _
输入新日期: (年月日)
4 s" L9 V/ X9 h******************************
& ]( J; A: q: e8 H) C****** start time ********** C7 n$ X- \, @3 @8 @
******************************
" F* V( `, F# y3 J& F( A, Z当前时间: 9:27:07.80
1 a0 Q% j$ v7 b- p% {2 ~9 d; M输入新时间:
5 g- y/ b5 Y q! x/ c9 p******************************
" v/ @1 {. X: _) G* S****** netstat -an **********
& R. x0 | D* Q2 Y& j******************************
) U$ k5 e& ^/ V. x- @Active Connections
3 X, P- S8 s( ?8 B# L2 Z& n- \Proto Local Address Foreign Address State
8 y: A# Z/ l+ U% k0 g6 F+ W# Z" \+ vTCP 0.0.0.0:135 0.0.0.0:0 LISTENING ) x( _/ Y) K2 T# V/ B0 P: O' P% J
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
3 ?1 |2 J- h1 {$ y d9 `! UTCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
, J7 z) \& V" H) tTCP 0.0.0.0:1027 0.0.0.0:0 LISTENING
' _& V5 ?! ~* c% O! F( fTCP 0.0.0.0:1028 0.0.0.0:0 LISTENING & a6 ~$ i9 O) }( J# a6 J' T; P, D' q
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING 5 L5 H: E" N' o; h
TCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED 1 r+ T2 j/ s- R) k3 t: ]
TCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED 0 r3 }8 v( N6 J4 A& S7 M4 A
UDP 0.0.0.0:135 *:*
* A8 P3 R- @5 e. o9 l/ _* S# aUDP 0.0.0.0:445 *:* 9 [8 b1 {+ C# ~" j
UDP 0.0.0.0:1026 *:*
# W L& y1 o. z) i8 h( Q***************************** 1 X, S( }6 O& u7 A4 I
****** arp -a *************** / ~. y; ?+ n& F, h' N' o
*****************************
0 P) b- j" `- m0 y1 V L3 I- \& NNo ARP Entries Found / w5 e9 }3 @9 R2 D6 B
***************************** T8 F4 _: S: w
******fport ***************** ' J/ q; {- p6 p, X4 a4 C
***************************** ; D; c, q- `( `! h+ A% L6 K
FPort v2.0 - TCP/IP Process to Port Mapper
9 W% m, K& e$ B% ?$ r% v- vCopyright 2000 by Foundstone, Inc.
' j u' Y4 K" |" P) w# Xhttp://www.foundstone.com ' t+ I: C6 j3 v8 D9 [
Pid Process Port Proto Path
7 J& V' V& p$ Y2 M/ p" M/ j400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe * Q6 y9 k* ~ G/ N6 Q$ J
8 System -> 445 TCP + \- v5 X- J3 I* V, C9 |
548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe
8 B5 I9 A0 q1 X; `8 System -> 1027 TCP & R; Y: D1 X6 a# T% N" Y5 T
772 nc -> 1028 TCP d:\nc.exe # I- P3 A$ u( H' a. a' }0 |, n4 u3 f
804 nc -> 1234 TCP D:\nc.exe 9 V" f) h4 {1 s% {
400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe
& i( _/ V; [" J. u; m8 System -> 445 UDP
( X# B! G. W$ A( M2 G3 e7 u216 services -> 1026 UDP C:\WINNT\system32\services.exe
" _' Z G, U) u- k, N6 H1 E3 p***************************** ; l9 U- ^ k2 f9 r r$ W M
****** pslist ************** ) w: m2 N" W# ^$ i4 w8 ?0 s& w
*****************************
) p8 w* W }+ q$ JPsList 1.22 - Process Information Lister
' M. f/ O# U. D2 U VCopyright (C) 1999-2002 Mark Russinovich
8 ]- t o5 O4 R' h4 I" Y& FSysinternals - www.sysinternals.com
! G( |" p: \& {& ?( M$ eProcess information for QQ: 1 m& J' k( V% L* K
Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time
9 R/ I! k. D, R$ T. {$ ^Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203
' v$ i( Z4 X4 N) e, sSystem 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
4 k+ j! u3 `7 q* D" o. I: Q: {7 Bsmss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203
! R9 J2 p) g9 v! D: lcsrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649 . v& w; N( \+ K+ ~( W
winlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307 " q3 h, s6 I& y* ^% @
services 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216
0 r9 u; h7 W: x5 L; K6 u+ dlsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196
( d+ n( j3 ?' {) nsvchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952 7 g- V3 W% m7 {7 R& d
spoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742
8 |1 K ^5 Q$ _, ~! c. I& Hsvchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
( M7 W D* l0 P; l7 k, gKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622 6 W F# E" x6 G
regsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 _" u. p: y" F9 {6 m8 k$ e
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
, B5 z) c q8 MWinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020 2 g. k- x% k" N2 m$ n8 J
svchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319
5 ~8 ]/ ]( O, a+ BExplorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662 7 U( R6 t8 b3 N# F/ u8 u
delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158
7 s/ }6 X3 c$ e, e1 einternat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038 ) @% b2 Q2 i7 \6 ?- T, q( ~
wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729
% ^3 k% S4 |6 S% s: W$ \conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
8 l& r$ D* } n" @- e6 Vcmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075 , Y8 X% ]8 _ r P9 y p
nc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552 / c, ^3 @$ R4 i) X" Y: {0 i* V3 j
cmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774
$ m5 ?9 l! t1 q5 b3 b& ^9 ]' _CMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
' o+ f- y- v; {+ ^1 K6 Fnc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400
" v+ [4 s0 k7 Gpslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120 . }9 d2 D+ d3 t j! W2 R
***************************** 2 t0 q/ i3 M" F E9 {3 U
****** nbtstat -c************ 3 O- J4 C {: E8 ^
***************************** ( B/ j. j- S' q" [. r$ e
***************************** , H7 S% j3 u9 j) x) L" P8 T7 L
****** ipconfig ************ 6 \8 D4 U* k) ]- U8 B2 n$ b. Y5 a( v
***************************** ; E6 Z, h& j2 k* u$ g8 y, G
Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq
5 a0 [4 g j U5 |! aPrimary DNS Suffix . . . . . . . :
. q% M5 n, Z* S" \0 I$ b$ Y- i* HNode Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No 6 l7 z0 K' _, r. f4 t# r/ O
***************************** 5 q* P/ h* _+ ]
******* end time *********** % A) J! `+ K x% H; v
***************************** 3 O. C, g9 W9 `
当前时间: 9:27:08.28 7 b+ U) m; R- ?% I4 p. Z
输入新时间:
% [# M. b' W0 C****************************** / H! y: q* V8 `9 P
******* end date ********* * d3 |" y+ Q0 i5 m& s
******************************
. V7 O. r5 a" z* ?6 ]* @& t) c" h当前日期: 2002-07-08 星期一
* I( Z: D7 p$ N2 O输入新日期: (年月日) ) k2 ^6 ?' n( D
9 ^- Y$ ]' H4 J8 ~, F
怎么样,我们现在可以用得到的数据进行分析了吧,哈哈 q& F/ r2 R* h M4 m
% Q" L" i* D' [# t& D
三.几个要注意的小问题: ( |# U/ Q6 t" h4 a1 e; L
1.在批处理文件中%win32% <=> c:\windows\system ) j& S9 A$ F4 e6 d
2.在批处理文件中使用环境变量的时候,必须用%将变量包起来 1 D2 m+ \3 A# ~, _: m
3.for %f in (*.*) do command cmdline . `' @' F2 D, d# U5 V! ~0 J- W
在批处理文件中%f要写成%%f
/ d( Q5 {4 J, [' X& l+ ]* t8 b% m5 S/ Q, ], Q3 v
. }8 @, Y# @9 O- k% N8 B) s |