|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
: H& \" `* [8 \& C k7 [, M# W
8 Z; G3 {- V# }& G, a; t# K( b特拿来分享给大家。' ]' [0 ~8 d" w
, R% {* j( o, N; P1 i. e今天我们不提我们国产的那些杀软,真的垃圾的要死,% @! N- Z) A' H- v1 ~+ j- a
3 g t: X7 s9 Z N0 p+ ]0 [上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
8 r# B) B |7 x6 r' C$ u( E: k" b& U9 m+ c0 \3 x
我简单的重建了输入表就把瑞星搞定了,
4 J& M2 w" J( Z# a- p+ l' n0 t- F# \+ ]3 q J9 n, Z2 b' F; `8 Y, a2 \, N
失去信心了。我曰; U* q( p% c9 J& w& \! |1 E
0 g+ O- v( w0 P+ {. n5 M: t- s- j/ i
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。8 H" q" I7 n! x6 ]. C( g
& l$ d c9 S% P' H0 j9 k
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。9 n9 ^* u2 }( P0 `- H; r
/ h8 f7 T- w$ g4 s7 J% C2 Y
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。5 n9 h2 F4 G, |7 J2 O. ]
+ |1 ^4 _' _/ u6 p5 f2 G
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
/ X: w- G9 F1 m+ _* R. r& e: R9 [6 {
过了以后再调到最高,再做免杀。
! E: o9 H9 u/ O
( E# B1 s! I" Q I0 M* l以上是废话,
# L7 K3 v1 ]2 S' D( a% F1 K [4 J. c7 C' {+ d9 O3 W) z% J9 R" F( U
好了,下面我们来说下常见的免杀输入表方法。1 M/ _& Q8 w$ \! U
, c* `, X! N. k1 f# S一。移位法. |7 `7 e. [; a6 P1 a0 \
; q9 u `- B0 @8 V5 f& \! B这个已经过时了,我们的国产杀软及时的跟上了时代, A, c) m: {4 ~0 B2 q) R
9 T0 B" M0 \- K2 {移位法在去年过金山和瑞星,还有江民都是可以过的,- M2 L) z5 \; A2 y8 b
; ]4 t! I0 U0 N# r# O7 O0 T
现在的杀软智能化了,移位么?呵呵 ,追杀你。
8 A ], y5 I8 R) I! r, O, ?- E7 m' v% l- ~; o8 {5 H3 b: \
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。2 A$ f: B! W* T- m" U) E: b. I9 C
5 ]; F: C1 n, K1 O& w- ?* M二,重建输入表; z! w. s) K" a4 O1 P
+ v$ G2 f( E* ~ Z# }效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
4 E' n3 G% P0 K8 m- f) C! l5 ^# G0 W) `! d
这里我介绍下,- @% } U- Z' k& S, d2 T
r9 f7 j2 ^ {( }
用到工具:6 t. b, a( R I! x: x( I( i
importrec1.6
( \6 T: i- [; E! P( G6 eod k2 D% c4 \) i6 A0 ?! Z
c32asm
% c' K$ s' i7 p% k# L' `4 T6 bloaderpe3 v) c. w! @; ]% Y: z5 |
这里我们简单的介绍下,如何重建输入表
( P8 a+ `, N8 N5 K3 L7 q4 k9 E9 v1 x h3 ?) V% t
首先吧文件拖入od,打开inportrec1.6; f& I$ l# w% M I& W. P
' |! G% S, Z( ^0 ~- v1 E! E V如图 选择拖入od的程序,
# v1 `. `( b( K8 u! c$ Z# h6 j $ @, Q8 \8 Y# K
; s$ E- S- G. F8 d! ]- w. d这个时候,我们打开loaderpe,
2 |1 F+ ]& T! ]* k# T& z2 x# E* a( T# G/ A% e! `
拖入我们的木马 P7 u+ w* Z e0 _6 H: i' K
; m; u$ B8 b4 s, W4 t- S4 h选择目录,
& \$ w1 _! y# ~
3 U. s) H1 |+ X% O; K我们看到导入表这里。。。8 s8 u, s* D8 Y9 l1 c
1 N. W) X& D/ `! M5 P I
如图:1 w8 o+ h' @; B! I

/ d. K: Q1 B" q- g( X, U6 r9 g. q# x! F5 E- G( i, h" i) O
RVA地址是0001D000 大小是0000154C
. W2 k `% ~& z8 E& [( A s5 _+ j. C4 u# ]0 [* W
好的,我们把这两个输入到import1.6里去" H/ k4 R" w @. s
1 j) `+ C: u8 D
就是在“加载树文件”那上面一点
* [7 G, R4 ]+ z7 {2 g' M
) o0 ~! I3 T# @! v输入RVA的地址和大小。 A) }; _6 L& M- W- ~+ {, c! |
. a4 x" Y/ c" S) `点击“获得输入表”( c" Y# g, f/ G' i; r U+ c
% L# {- l* G/ | H) ?然后点击“显示无效的”$ I. q* K" J! s" p& J* Y, H; U
$ h+ ]7 j! M% D5 w' Q5 J接着importrec会自动列出
6 ~, E5 S4 ~. ?1 p4 j+ r9 z# g7 ~6 W; W
我们把深蓝色的字体 右键 剪切无效的指针
/ [5 g. i) V5 U' e8 R0 f: D7 s5 ?9 \- c) n4 N" P8 O( n
5 q( ~* ~* H \4 {; D: w+ X4 X( v a8 F
最后,我们点“修理dump”
; Q" {6 F& Q7 [. _& E( v( O# }# Z" b9 Q3 G' G
选中我们的木马就可以了( {1 F( L2 J9 Q
0 H% k" V! T6 v+ W最后我们要用到c32asm/ l+ p. @; ?0 a! H
, Q3 x8 j, R5 r# o我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。. Y, f) N7 e! i6 C: G: ~' B
" x& | r( Z" b" d9 [" p1 n0 x. Z+ O6 T这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)$ d0 c$ \* }- I j% O& t6 h8 H- e
( L% A+ T O) V+ d1 ?$ }
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
8 q' Z# t' z& X. H, Q3 H' q3 p% O. H4 n0 w; R: S
我们把马子拖入od的以后,打开了importrec1.67 Z3 Z2 J6 K) T# i3 \& ?+ v) P
9 m" _5 _2 W' }$ ]
在选项那里,选择根据序数建造输入表和创建新的IAT
# h8 d* ?6 {' \! F. ]0 m1 ?7 T( ?- \' \4 ~) D$ l) r( u. b) l$ S
如图$ m+ ]7 C; ~6 t2 k/ z
' s& ]4 F* w$ W3 I
+ _! q( y V' e2 B
以后的步骤照上面的方法继续就可以了
/ b u9 H: N9 u' M9 J& n
, @: H5 `/ y3 M( ~2 g不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了; I5 j9 i% J7 r$ o3 p* o/ K
' t# O& b( Q! P% A- P7 c因为kernel32.dll的大小不一样。
5 G h: D% d$ I( f2 I! l/ G, o# D% U
0 \7 Q3 j5 e- f: I7 T! \3.修改originalfirstthunk
0 B# h' D- b9 ]' ?+ w% ~2 v ?4 b) K' }7 w
如图所示( }% K+ M( C5 ?; p9 T% z- f
3 d' X3 |% h7 ~! O) l Q6 t# B0 B
g% D W3 i1 ?* Y1 I; @) D p我们打开loaderpe,依次点 目录--导入表(后面那个横线)
9 [: S( A% D# X0 M1 U! s& K
7 Y) ?' l* i- R我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
; d4 Y! B: _& ^" {! V( N3 ^, _) Y# K$ b5 {( n% _; k1 m
我们右键--编辑--把函数后两个00修改为FF
& m# f: B& N# x5 j: [( V
7 ~5 a8 P8 R$ S& T2 o9 `. C( i这样可以过小红伞查杀。 虽然会出现错误提示
9 u2 ^( _- D( D& d' V- Q% F! W( l/ h$ W. `( H
但是不影响木马的功能,不影响上线。8 @5 }* b$ t5 p& T
: i5 k* m' W7 m) D0 F
4.dll后面加20 90法过卡巴查杀 v! \# b& J0 n9 P5 P% h, C
F8 e4 U2 h' F V需要的只是一个c32asm而已,非常简单但却非常有效
; Y6 o( z2 l7 L% l! m Y0 _$ A. J% \' |
如图$ B7 g" [0 v0 O) H
( R9 ^% v8 n7 w- K% G" \" g/ k
5 o8 M& Z: x) N; w! u* {. i
% c2 J* Z1 T4 v! a4 l$ t我们可以看到,! `, V4 ]+ e* _) r! S5 ^) i8 z; t
' ~6 A. K( G" x v4 r. c6 g. ]
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
/ M' s$ l3 z1 x! _" N: y! V' v+ ]' _( s! Y$ ~0 I7 r6 p: l$ o, G: J
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection' |+ G" c& F: _7 S" ]
9 K6 r# s6 a) _. s, P8 { c7 \! {# \, Y; n
我们只需要在他的所属dll后面加个20 90就可以了
) Q1 L" H; R: d" U' p; u7 v( U5 P! I' z+ k& a
卡巴目前还不查杀此免杀方法5 a: H2 c* j; i( A
$ z$ }2 \7 [' O5 B5 [. Z; f# i: Y8 Z
n: v$ ?5 v, C8 H" u0 M! C8 ]; C
唧唧歪歪这么多,打字有点累了1 e, H2 W) M: @' a# y- U4 t3 a
1 Z& J$ \7 f9 a以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。" r6 Q% v* E) K9 L/ f: y
% j v# C0 t3 @[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|