|
这几天一直在学习批处理,看了好多很好的文章,今天也把自己认为新学到的东西写出来和大家分享,嘎嘎 :> ( 别笑我写的不好)
! d; k6 d: ~3 W5 q5 {5 }4 k) M* E7 x }" o% {2 J4 m# k
9 R8 m! J! s1 E _% e4 n
6 P' g( D4 G4 O9 `
一.echo命令在深入
- I; C8 \4 `4 | b, r* p3 f9 o恐怕echo命令是大家最熟悉的命令之一了,常用格式:
1 e! H' Y8 G! aecho on echo off ! e" Q0 K+ P. U$ u
echo 欲输出信息 5 T1 L4 I% t, I) r% [6 s7 `' @
下面写几个很多人不是特别熟悉的使用方法
3 ]" `4 p* g: W# p0 ^<1>首先进cmd: 3 B1 ]2 D( W- A" M. k# d( j1 r3 i( x
****************************************************************
% |9 M: b* u; D, Q2 BMicrosoft Windows 2000 [Version 5.00.2195] $ S' f7 Y7 ^$ t9 M
(C) 版权所有 1985-2000 Microsoft Corp. 2 c! H7 i1 C% s& P0 t+ \
C:\>echo off回车 //之后c:\> 就会消失,直到你重新输入echo on
: `% Y; Y5 l/ S* U. y' [+ Jecho on
4 O8 I+ E1 `# u7 t t" o. g4 J, eC:\>
- x+ d% o$ s, c* E0 t**************************************************************** # {' v, g( _$ u8 I* t# z* m
<2>如何用echo向一个*.txt文件中写如一个回车呢? & l/ e6 `5 N4 v1 g
用echo 回车>a.txt 吗,哈,当然不是 ,这里就要用的命令:
2 N9 K& U4 o3 t5 Eecho.>a.txt,echo.是关键,相当输出空行,即一个回车
9 C0 X h/ y# p' Q+ L[e.g] + C: `( u$ Q$ e
echo.|time //把回车传递给time命令处理,在批处理中常用此法来显示时间并把信息写入一个指定的文件 . E0 W( w. x( d5 v
echo.|del *.* //呵呵,搞破坏是很有用啊
5 O# k! v2 U* Setc.
7 ~9 ~! Z9 {: X& p" B8 ^6 ~& I<3>利用echo命令让喇叭唧唧的叫,哈哈 //可以用来吓唬人呦
9 {4 v4 A/ ]# j ?( b5 N在cmd下输入: $ D& w/ S! W0 T5 P
echo空格,然后在按住ctrl键,之后连续点GGGGGGGGGGGGG,这样就会写出如下命令: ( D% I- E4 G% ~4 l/ f: b
echo ^G^G^G^G^G^G^G^G^G^G^G^G^G //注意:g越多,响的时间越长
) t) w- }1 E# ~2 q二.批处理与应急响应 9 @( V0 J3 ^0 p$ l3 ?7 ^: {
首先引用2003年10月《黑客x档案》上的一些东西(那会儿一直忙着学习,没时间看,现在才......555555555):
4 g/ D" g% {0 q创建响应工具包:
4 p: m& J( e: u* Mcmd.exe----------------------------------nt/2000命令解释器 + _' k& B: ^/ U i
loggeden---------------------------------显示远程和本地连接的用户
2 Z; O" D; q2 `0 Crasusers---------------------------------显示出哪些用户具有权限访问nt工具命令箱 . P2 C/ U2 L X' G, |
netstat----------------------------------列出监听端口 & M# N/ a0 j& {- S: j% h7 _2 p
fport------------------------------------端口进程关联工具
4 ?( O9 _3 I9 C4 \& X: s* kpslist-----------------------------------列出进程 . a$ J( j) f% b$ A" C
listdll----------------------------------列出运行进程以来的动态连接库
0 u' u. i# M | X; B% znbtstat----------------------------------列出最近十分钟NetBios的连接
9 M V2 N9 f Jarp--------------------------------------显示最后一分钟连接的系统的MAC地址 W8 ]& J( S6 S- F" c: }8 v8 O1 T
md5sum-----------------------------------md5校检和工具 % e# P/ J: ]! N# R# k# s8 H: t
cca.exe----------------------------------检验克隆管理员帐号的工具
" _8 p7 G' g, Z( P3 ldoskey-----------------------------------显示cmd命令历史的工具
1 [& d2 w& c i" O& u. N6 j1 C....... 7 D# s7 O4 U5 o# U( P/ F9 ~
.......
v' w% Z% `1 i" }.......
8 n( S# ?; e% s5 a$ |' h* D把你认为的对取证有用的东西都放进去 5 N. _; B9 ~( ~2 {8 Z
原文的作者说的取证的方法是一次一次的输入命令并把information转移到安全的存储设备中去,这样一个麻烦的工作,我们何不利用批处理文件简化它呢,我的方法如下:
4 y6 x9 p! r6 z# {5 |# m+ m比如受害的机器名是qq,安全的机器是127.0.0.1
2 L1 f5 `: N% s! `& ~(这里,qq&127.0.0.1都是我,也就是说我是在一台机器上模拟我想说名的过程) & F: X/ [. R1 L* q- m: u% e3 M3 ~
qq_cmdline: 7 l+ `; K6 B( j
xiangying.bat|nc -vv 127.0.0.1 1234
: d' w* s1 W8 M5 _127.0.0.1_cmdline:
! E: `# |* L' w) m# Znc -l -p 1234>xiangying.txt
# X) J" a- n$ z: |( c4 f--------------------xiangying.bat------------------------- 7 z ~0 ]1 W# l
@echo off 7 h! r0 y- b/ b4 Y% a) z
echo ******************************
9 ^# v& z: h" @# [echo ******* start date ********* 2 }& ^4 W: }9 h9 B) F; E
echo ****************************** 6 V, S1 |0 G2 i$ h/ q2 o; r) d) d* k
echo.|date 6 P# P( w2 [4 ~0 K9 `2 h
echo ******************************
& i6 L+ r. x: Q# Cecho ****** start time **********
% \* i; u0 `" E m* qecho ******************************
( R- A) Q$ S' ?( Kecho.|time
$ A+ W& d+ f4 Z# u8 N6 Yecho ******************************
2 K4 i' `/ x0 F6 Gecho ****** netstat -an **********
Y8 }9 N: Y1 \% x# b2 g: p+ recho ****************************** + z1 \' U& B3 c# ~5 w7 u; O
netstat -an
9 i3 l* N: y( V7 T- j& `. b' Vecho ***************************** ! c3 I' o# E7 d7 J- {
echo ****** arp -a ***************
$ B& `1 H5 L! ?; e0 s3 decho *****************************
: r9 ?0 C. P) I$ P! Tarp -a
& y( _+ t$ `& o8 @4 |9 g' O' y; B8 Xecho *****************************
# h- g, h8 e/ E! @1 g$ f9 n1 jecho ******fport ***************** : t5 ]/ G6 y9 p% j( Y$ W
echo *****************************
+ p: k. @9 p' x1 E* f/ I1 Pfport
0 [9 N$ K1 e/ z! ?, g1 }7 @2 jecho *****************************
' T, n2 U, T! D4 u0 {7 `echo ****** pslist ************** ' b2 W0 ?6 C5 s+ X# ?3 M6 L
echo ***************************** ' J6 _: @$ Z2 [
pslist / W, F& Q: [ ^8 g6 f- [" O4 T
echo *****************************
' y2 F& y/ k( H, Z5 m+ Necho ****** nbtstat -c************ * }1 q" Y# H, n9 _8 T% D/ f% J1 K
echo *****************************
- J* w. p) O2 O( d! N$ r9 {nbtstat -c
* s8 j' G( S$ b! j/ k9 ?+ zecho ***************************** % p' Z1 S/ ]0 ^! {. G9 P5 [
echo ****** ipconfig ************
5 N; I/ u' |5 j, Zecho *****************************
8 `0 c8 G2 `# r" M0 R# ]$ }) Oipconfig /all
! T. c% A$ Y' |5 u4 kecho *****************************
& W/ M2 B4 c9 o) m. ]0 R; Mecho ******* end time *********** / ?* s3 s1 m; s. j$ h, c5 X5 X7 u
echo ***************************** . ^! y6 w0 z7 e" n) K0 ~# T
echo.|time & U6 Y$ V- x+ n3 f
echo ******************************
: J5 q7 D5 I: _8 W( ]echo ******* end date *********
! Q# o, _" w. [! [ O+ Qecho ******************************
% K b' |- M2 ?: R7 _' zecho.|date
3 g, A1 N7 I; e8 _6 [2 s8 P----------------------------end,save as xiangying.bat---------------------------
7 @8 j; f: j2 G$ p注意:在本例中,由于我的电脑上没有那么多工具,所以我xiangying.bat的内容是不全面的,但是大家就可以按照上面给出的格式自己写了
& f1 Z2 m& h# L2 I, U3 Z2 Q下面我给出我实验是得到的xiangying.txt是什么样子
; @( G6 F/ q- k****************************** " x' g: m+ i; l! |
******* start date *********
! B. E4 U. ^& O K# S: |+ s/ ]. ]. |******************************
4 f3 i0 L& k9 \) S# S3 l/ R5 P当前日期: 2002-07-08 星期一
$ M& Y$ A. ~3 g% j+ q. j输入新日期: (年月日)
) l4 q0 y6 r% s******************************
2 j$ t, Z' d: D! i! Q3 ~2 U, V) t0 x****** start time ********** # I, Q. ]& }0 w/ X# i
****************************** + ^. B7 u" F, r( o" J( D; v/ e& A
当前时间: 9:27:07.80
& e' B2 e1 F5 ]) V' L3 X输入新时间: : _, m* G. W$ o: ~* @% t/ o c
******************************
8 q2 K _# M1 I/ l+ M2 H****** netstat -an ********** ) x5 m6 C v# m9 x3 c
****************************** 3 m# w4 i3 n/ {6 f" [ }
Active Connections
& h% P9 C8 s' kProto Local Address Foreign Address State : e& K, i, F- v$ l; C
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 3 x& K- J' G0 s
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING + J% ^1 i2 w2 E5 ]8 t- o4 C
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING + y6 [/ O6 m2 V, A8 q' g
TCP 0.0.0.0:1027 0.0.0.0:0 LISTENING
S0 q7 S* A( P, e9 b8 F: w$ hTCP 0.0.0.0:1028 0.0.0.0:0 LISTENING
- t" x0 L3 `. n. a- Q0 t tTCP 0.0.0.0:1234 0.0.0.0:0 LISTENING
" n, t% A; x2 ^/ E, H" C# a& O5 P4 bTCP 127.0.0.1:1028 127.0.0.1:1234 ESTABLISHED
3 B# D. |5 M! v8 E/ Z- q$ @7 T) I5 U DTCP 127.0.0.1:1234 127.0.0.1:1028 ESTABLISHED & H4 K* D' L# O9 r/ W
UDP 0.0.0.0:135 *:*
2 f# C3 A6 R; c- z" |$ p$ CUDP 0.0.0.0:445 *:* ' ]" K7 E4 U: m% e2 Z: G/ R% K
UDP 0.0.0.0:1026 *:*
8 ^# T- r/ c0 P1 ^. ^*****************************
, p% S: t: D! o7 {! t4 q0 Y0 a****** arp -a ***************
. R: B1 {: O1 l% a$ v: Q***************************** $ ^) _: X& O! Y0 P, x8 N6 `) b
No ARP Entries Found
, p5 T" n, C8 V' y A2 X*****************************
) P, e0 p+ L& E******fport ***************** 6 T R" }+ ^# [) O/ a* d
***************************** + S/ |" F' F- t- ]
FPort v2.0 - TCP/IP Process to Port Mapper
: o: g* h( l& Z5 _) B- F8 g: P1 jCopyright 2000 by Foundstone, Inc. 2 `0 {. ~& [$ s' w& S7 Z* i+ f
http://www.foundstone.com ; V0 z) e6 s7 ~) V( i4 D
Pid Process Port Proto Path ! r$ j# K9 A: \, F8 F
400 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
" D4 E" G, Y! k' m/ y, V8 System -> 445 TCP
/ }) k! F) k7 u; W& x/ r2 `: X% y548 MSTask -> 1025 TCP C:\WINNT\system32\MSTask.exe : @0 P; \1 J9 ?
8 System -> 1027 TCP
; A5 B: A- ~3 g# p$ {772 nc -> 1028 TCP d:\nc.exe
0 q; }! R7 D' c; `) ]# Y. n7 N804 nc -> 1234 TCP D:\nc.exe
/ ?8 ^" V% M0 t! |' R400 svchost -> 135 UDP C:\WINNT\system32\svchost.exe & I' J; Y& ~9 _9 H8 M0 `
8 System -> 445 UDP
5 M9 O9 b3 l' v( i+ N/ l# t) |1 H216 services -> 1026 UDP C:\WINNT\system32\services.exe * N, D" P6 Z' D) C( ?
***************************** 5 k6 D: T+ \1 g7 d; S9 x6 [) i
****** pslist ************** 4 G3 h( q8 R2 z w/ B! e' \
*****************************
, B, L3 P- y( s. fPsList 1.22 - Process Information Lister
$ A4 O6 f$ A, |Copyright (C) 1999-2002 Mark Russinovich
/ q& z" D( ]( x/ U8 g" m& eSysinternals - www.sysinternals.com 3 N# p7 N/ e U. K7 _
Process information for QQ: 2 T8 A: _/ _+ C" N
Name Pid Pri Thd Hnd Mem User Time Kernel Time Elapsed Time 1 l8 X- B- q' [+ @
Idle 0 0 1 0 16 0:00:00.000 1:00:26.364 1:01:14.203 5 }7 q4 y7 L) R' @5 i' a
System 8 8 34 60 276 0:00:00.000 0:00:02.603 1:01:14.203
" w1 B2 C# T7 h9 @* q- F3 S7 c# ssmss 144 11 6 33 352 0:00:00.010 0:00:00.190 1:01:14.203 $ j: }2 D' e: |2 x' @' Z0 z
csrss 168 13 10 290 1216 0:00:00.100 0:00:06.218 1:01:11.649
3 D) [7 c. i+ Z5 |1 ]! a4 ywinlogon 164 13 16 363 2692 0:00:00.220 0:00:00.610 1:01:10.307 1 @. K, M# o" t! ]8 W9 R$ I
services 216 9 30 443 5016 0:00:00.320 0:00:00.731 1:01:09.216
8 L$ Q& }& r. z3 Mlsass 228 9 15 251 1176 0:00:00.240 0:00:00.080 1:01:09.196
' g4 b7 Q+ t5 E; Csvchost 400 8 9 242 3236 0:00:00.050 0:00:00.070 1:01:06.952 N. M6 T' V1 @! ]9 Z: y" Q c
spoolsv 432 8 11 151 3672 0:00:00.030 0:00:00.020 1:01:06.742
8 W! e7 P& l, a3 f- k; nsvchost 464 8 26 422 7416 0:00:00.120 0:00:00.180 1:01:06.722
* R8 C7 { M. h: JKAVSvc 480 8 9 57 6732 0:00:01.582 0:00:00.130 1:01:06.622 7 r& |+ {; _/ y) D+ R
regsvc 532 8 2 30 964 0:00:00.010 0:00:00.010 1:01:06.201 ; B6 l6 x7 \0 E- t- z
MSTask 548 8 6 117 3124 0:00:00.010 0:00:00.030 1:01:06.051
5 H0 R G r8 V9 k4 g6 NWinMgmt 600 8 3 105 160 0:00:05.998 0:00:00.260 1:01:05.020
) Y3 p ~* ?( dsvchost 672 8 5 144 4532 0:00:00.010 0:00:00.050 1:01:04.319 + n1 \0 r+ j! K
Explorer 836 8 18 385 7152 0:00:02.633 0:00:06.889 1:00:45.662 " ^. _0 N* O9 f0 S5 |
delttoul 1000 8 1 21 1516 0:00:00.010 0:00:00.000 1:00:43.158
8 u& o5 r! ^' f0 F- ointernat 1016 8 1 31 1412 0:00:00.040 0:00:00.200 1:00:43.038 ; D3 H: u7 v. j3 t( ?, [
wordpad 320 8 4 85 944 0:00:08.462 0:00:07.530 1:00:22.729 5 ]9 L' H* o, W) }
conime 840 8 1 19 1016 0:00:00.020 0:00:00.030 0:53:19.230
9 u8 q" E% l* d' l2 J2 Acmd 924 8 1 24 56 0:00:00.010 0:00:00.030 0:03:46.075
O9 G& @: L5 x7 Qnc 804 8 2 74 468 0:00:00.010 0:00:00.010 0:02:48.552
1 [, ~9 ]& w' kcmd 392 8 1 24 516 0:00:00.010 0:00:00.010 0:01:19.774 % C( d# e2 |# D1 F. E v: }, q
CMD 916 8 1 24 1076 0:00:00.010 0:00:00.020 0:00:00.410
; b2 S* U# A7 @0 B k Y1 G- `$ Q: i$ Snc 772 8 2 75 2648 0:00:00.020 0:00:00.020 0:00:00.400 8 l$ d$ H; X0 Y! X! C9 L
pslist 820 13 2 79 1452 0:00:00.020 0:00:00.020 0:00:00.120
: o) t {9 ?/ M( |***************************** & g1 W3 S5 ?: y- D# @! [6 k1 C
****** nbtstat -c************
, `2 ^3 {8 c2 `) x*****************************
& S& g( A- P% a% U. a- q2 l' G***************************** ! Q" B& U+ v/ Z# G2 h
****** ipconfig ************
4 t( w# Y* |* j3 `1 z" Z***************************** ) }4 j* z) r, ~' l3 a# B
Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : qq
. @2 N8 X6 u! J$ R: b( v. [" u3 APrimary DNS Suffix . . . . . . . :
5 n2 @. V! u; t9 A( INode Type . . . . . . . . . . . . : Broadcast IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No
2 H2 x; E/ ^# F9 v8 s' ^*****************************
3 L6 Y2 f5 H; I, g# \5 H******* end time *********** " J. K+ f/ o* Y8 o" e
***************************** . m A3 r' M' \. t- q
当前时间: 9:27:08.28 9 j# s) V X( j; \( {1 j
输入新时间:
# j' j+ {! N3 E3 R+ h/ Y8 }****************************** 5 K( u( L6 \7 `, Y
******* end date ********* 3 Q- U# K- ]' X' A% ?
******************************
/ n' X, T# [+ c5 n当前日期: 2002-07-08 星期一 . J7 C7 n x1 J
输入新日期: (年月日)
6 [: P8 F2 c. f& O7 M! Y3 Q5 s3 V+ \" c/ @: D4 {# o% I
怎么样,我们现在可以用得到的数据进行分析了吧,哈哈 # ?! y/ d9 f5 D: |1 I
: y$ p0 A* n( I三.几个要注意的小问题: 0 j$ |1 ~6 J& b2 s) ^
1.在批处理文件中%win32% <=> c:\windows\system 6 E2 ?( C: r" Y7 n. Q, d% f) F
2.在批处理文件中使用环境变量的时候,必须用%将变量包起来 & N9 _* {# X/ A9 }' m
3.for %f in (*.*) do command cmdline
) u1 P/ D: _7 y7 U) X! q在批处理文件中%f要写成%%f
O! h" K$ Z) G2 I8 g* _# s* M" X# J. K* U s6 T
1 n& \( B1 x2 ?. _" q7 A8 K5 y |