发新话题
打印

Linux操作系统下手动分析病毒样本0

Linux操作系统下手动分析病毒样本0

原理:利用md5值的不同进行文件的对比。 0 S2 U2 Z1 v9 D' V- S+ E. P; A$ \9 [

8 Q) a' L* M9 ?9 s- `操作背景
8 ^& K; m1 N3 l9 B% \
0 ~" A( m7 ]# [' h# B  V# J1.XP安装光盘; $ N! a8 D) ^. N4 ]6 d, Q; U$ `
2.病毒样本;
$ P8 j! M* q* l6 o3 `6 o% S3.U盘; + s2 C, m0 Z! E& g1 {  \) Z) z1 E
4.Ubuntu 7.10 LiveCD
* K  N" K4 S+ E% C: c7 |" q* v5.所需的几个对比md5和转化二进制文件格式的程序 7 T& e, Z" u- d2 T& C4 e/ m
操作过程: , y; e' M% [' p& @: X

2 ]. U- @* }! f, y" R) o- V1. 全盘格式化,同时安装Windows(也可采用ghost回去,但是一定注意其他磁盘可能的病毒感染) 4 z: r. U/ ^/ E) k: \/ {: l

* x* x7 f: f$ L2. 在刚装好的Windows下,导出注册表。将导出文件放入C盘根目录下。这里我命名为1.reg
: X& F5 G: {6 j% b  R4 |: a. s
9 l& [+ V7 H. c3 v  x$ L1 Z9 i3. 进入Ubuntu系统,注意,进入前f2选择简体中文模式 + @8 b$ B! J5 J9 E7 ]

/ p: k/ ^. A2 D9 [; m( U# N4. 挂载C盘:
7 t' r' i. {- W  Q$ O4 u( d  ^
. S+ a1 D0 A% Y) o. gmkdir /mnt/hdd1 (生产系统C盘挂载点)
% L6 W+ F1 K* x! k# K/ x5 d7 b: ~' m! b* _
mount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1 (将系统C盘挂载到/mnt/hdd1下,注意文件格式和设备号视具体情况而定)
* R) P  ~% ~" j$ Q5 ~9 l7 ]  z0 Y) E3 g& {5 [
5. 挂载U盘:
) q( f% G" e% T0 z
2 m5 J) k! v* k/ `4 u' smkdir /mnt/usb (生成U盘挂载点) % w3 R' C3 G2 K# f: W$ \/ D4 s+ b

2 U5 P; f$ r- p" s, `" d( W0 lmount -t vfat /dev/sda1 /mnt/usb (将U盘挂载到/mnt/usb下,同样注意文件格式和设备号) 0 m; M' a. A/ G7 D; S  D

" \: p: F3 c/ W' y* m* i) D& g6. 将导出的注册表信息放入U盘:
5 X- _+ C' H9 F8 t" l) d+ Y: E; X+ q( c6 s( I5 j4 l0 W$ K( A
假设U盘上已经有test目录,同时,在test目录下有parse.sh,parseWinReg,ShowList 三个程序
, h7 z) Q: u; |( T: I7 n9 Y/ S: n. F/ {0 {0 _
cp /mnt/hdd1/1.reg /mnt/usb/test (将导出注册表拷贝至/mnt/usb/test目录下) " t1 s* L' L, ?8 a, z& J
) R+ j2 a! x5 t8 Q
cd /mnt/usb/test (进入U盘test 目录)   e" G5 {* J0 N) \: h5 a" T

: d4 f: i9 o, n$ m9 ]0 o./parseWinReg 1.reg origreg (将导出注册表进行格式转换,生成origreg) % n/ r  S1 v) K/ g
' P/ G6 m+ ]/ P% x) p5 a
7. 计算C盘所有文件md5值: 2 j# Y2 a5 k- Z
3 k/ B1 z/ R4 _+ q
rm /mnt/hdd1/pagefile.sys (这个文件太大影响计算速度,删除) ! w6 i1 L; f, N( Y  X* l% W% j

8 ~3 ?/ V( r1 x( l/mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/origfile (计算磁盘文件md5值,并将结果导出至U盘test目录下origfile)
7 W8 y3 \$ x4 X9 ^5 Y5 W( [
. V' j9 \, d- t9 n" P8. 重新进入Windows,同时,激发病毒文件
, b9 i: D( j" g( c/ o% Q% L7 A7 p& P! N$ }( N% }
注意:先将病毒文件放入磁盘,拔掉U盘,拔掉网线,再激发!
% c3 r# ]( g; }3 s) I  A) N: R) P* K% F9 R3 {/ P+ b+ H- I8 J- T9 m' J
9. 重复3,4,5,6,7步骤 & g  h+ N# r0 l: M; _  [" a- o& x

1 H+ _$ }( b, imkdir /mnt/hdd1 ( D) @3 m, r+ H2 Q

! {1 v  P- Z& i) smount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1 $ O- n. n4 I; ]6 M! _9 _4 s2 b/ n

' N; Q# n# Z! B' Gmkdir /mnt/usb
6 ?+ U+ |: G. L' L% }7 Y' ^" V( F7 Z" i2 F/ `  O5 ]: |" t' M8 Q+ o& w
mount -t vfat /dev/sda1 /mnt/usb
* N4 u9 \( p& l1 u9 i2 f! x
: {4 G# _4 D% Zcp /mnt/hdd1/2.reg /mnt/usb/test (这里假设导出的注册表是2.reg)
8 O# t1 |( j$ n( R' y$ L" T' X" ~" R6 j3 d
cd /mnt/usb/test
2 O- b7 L) a; y) S' H5 B! V% m
1 T9 i$ e/ V) }./parseWinReg 2.reg newreg
5 j" u8 ^0 V, [# M* T* s% D# ~
4 x  L7 o4 X8 \& S% X/ f; brm /mnt/hdd1/pagefile.sys
; Q/ x7 N0 w. V, N. ]% o
8 ?. q+ z/ d5 L( b' U  f# {/mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/newfile
- z' E+ [( b) `3 ]- F. H3 z% W
, H" p4 m7 `2 F5 k5 s10. 至此,我们得到了原始的系统信息:origreg, origfile,中病毒之后的信息:newreg, newfile / h: w- N6 r. a: L9 L

+ d) n1 X. j/ X! ]0 v: m11. 比较文件不同之处:diff -Nur origfile newfile > filediff
: u, {. n  P% x- `5 z9 R0 Q. R
0 F7 Z  J" T/ v% c6 X12. 比较注册表不同之处:diff -Nur origreg newreg > regdiff & Z+ ~& {: O' X# ?

- v5 X3 M/ F. O, N13. 分析filediff 和 regdiff,得到结论 , y, l8 a( I$ P$ Y

! ?+ C# \6 p/ S0 J分析小技巧:0 J2 r# e8 a. X9 S$ I
, |/ C& K# z0 J' s" d1 ?$ q2 ?6 J
一般情况下前面出现+的就是病毒释放的,-就是有过改动的(感染的),如果是md5值是成双成对出现(一个+和一个-),那那一行一般不是,如果前面没有任何标记,那说明也不是。咱们把没用的删除,只留下有单个+或者单个-的,最好看文件路径,即得到了病毒的产生文件或者是感染文件。

TOP

发新话题