- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
|
最近和一位木马免杀牛人交流,感觉新增进不少,
5 G9 h. p( J8 V4 `, B5 L7 H9 A C8 O4 T$ g
特拿来分享给大家。
- u3 `- `" c- t0 ]+ y* s, y
1 i7 Z% U1 M( P, R3 U今天我们不提我们国产的那些杀软,真的垃圾的要死,
' }3 Y& `$ ?% p, p+ W8 F+ G$ y
$ l! o# A5 D% R! `3 @& b上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
0 u$ @. e9 x4 p) ~$ ^9 {7 t# B8 G8 h ?$ \/ V% E
我简单的重建了输入表就把瑞星搞定了,
# T. a$ Z' H6 g; r8 B* r `
) c- U. e) J2 D失去信心了。我曰6 k/ _6 _5 B% n( L! W/ n
! }8 z. J! h0 t! p& a) x4 c
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
# k Z3 n; f: \2 w V% Q& n: a- F3 R" m. h0 F) o4 _) {
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
% ~, y5 f/ C3 U: h5 t8 o6 Y% N
7 ?! E+ U4 ^# t. g8 |) c外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。) I/ y5 j% s9 Q9 f4 k: s+ ~
, s6 y* @9 s9 d1 J1 A
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
( h+ J! Y& D' T1 d7 T7 k$ v
6 F; b. O% w/ J. \; h4 D- w9 W9 b过了以后再调到最高,再做免杀。
6 E7 J) D+ I8 W0 H
! Y' t1 S- B, s; w3 s- ~& \2 r以上是废话,
0 P; o( M' C3 e6 X' H# K5 ]2 e& Y1 n- E) B+ P
好了,下面我们来说下常见的免杀输入表方法。
; }! y' C8 }* U" h* _
) b: Y) K, L- D( w% L4 c一。移位法+ l8 l$ P/ _9 s7 _% P+ S
& X+ [( p' Y7 p0 x& y6 H3 e/ e
这个已经过时了,我们的国产杀软及时的跟上了时代,
( }; \& O, K7 S. D# G* o# s
a d5 q8 d2 F* i& K1 D+ d移位法在去年过金山和瑞星,还有江民都是可以过的,9 C/ g+ H* }7 e$ a9 N
( P- A0 {' s' x* ]( Q: [1 z3 G; o
现在的杀软智能化了,移位么?呵呵 ,追杀你。' w- w, E8 j) K1 I! j
( b( k- ?! B6 b* z& e+ s% C" U
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。- P; E) s' H/ y3 K, T: n
9 V/ U6 D# C' X ~$ |2 n
二,重建输入表* ]; S2 w0 Z I$ I
3 F: D) I0 X u! Q, j. y+ {, z" W
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
8 _" N9 E7 [" b, Y
- f: i7 a/ G/ M这里我介绍下,
9 b' V$ r! I) X& E. E0 D! ~( a
W# j5 ?- q6 T: v5 b( T用到工具:! ?, r& W* x9 R0 b( W/ ]" B3 J. l+ ~
importrec1.6
5 h# o" g5 D2 f) ~4 F1 ^" @9 m7 sod
% D2 r; q* Y3 p5 A @2 Zc32asm3 E3 F2 \% I7 j; o
loaderpe
% L' K9 @. S7 E$ V1 \" W3 K这里我们简单的介绍下,如何重建输入表7 P Q K6 L" ~* S+ h# q; }
6 a' Z9 |+ E- W首先吧文件拖入od,打开inportrec1.6
' W& G3 N; Y' m% Q7 `$ C9 }" N5 |$ @0 v! S' d6 E
如图 选择拖入od的程序,
$ B$ t. C) c x* e, Q1 U( A9 y: j# w+ k- ]. J
7 L4 V- n$ F6 \0 A这个时候,我们打开loaderpe,% H9 c5 d3 q+ [% u( N
4 A- i2 ~7 l) F1 _% j1 e- b" H) w' l
拖入我们的木马 x: y% K; U1 U) E( v9 w- Z
, V. h# f" |0 b$ \2 W$ Y1 m
选择目录,8 E! w4 ~: e5 R3 l0 t
0 R! ]) D# ^6 g, s6 G! N/ U
我们看到导入表这里。。。+ H) G. n& | L+ R& M# X
% y. s9 C) M' m
如图:6 V- K: }8 R) L
2 s. ] w& F0 N: z; A
2 N; b0 o4 x' I0 R1 RRVA地址是0001D000 大小是0000154C, j: V& z/ [5 T. E
9 P$ [) g; p3 q4 {/ i& L好的,我们把这两个输入到import1.6里去
7 l- W' s5 Y n: V- V' E2 D" y0 g$ {9 f! G& ^: }- W
就是在“加载树文件”那上面一点 0 }& p0 |; X/ o; B. O. T
8 `4 ]( C. R7 v4 E. n6 `2 D$ @
输入RVA的地址和大小。
/ i" b$ T1 @4 Q% M7 _
; O; {) _# N- J点击“获得输入表”
( k) \- u- T; t, T. s. A# q. C4 Q# B( H4 b
然后点击“显示无效的”" P6 | ?) s3 p/ I* G
! B2 }/ E' e& X9 d+ L接着importrec会自动列出
( s5 t) Q4 V- l+ ]9 R) e* g8 O4 \2 D+ ~
我们把深蓝色的字体 右键 剪切无效的指针
! y% w4 [" b' O3 @: } |
! B/ a& @ [( n w0 f; z x' D l4 R
最后,我们点“修理dump”
; `' y2 F) v0 S$ }
& D4 ^- F+ E# H, t( {& e6 m选中我们的木马就可以了
8 I! [' S0 {- h! B7 p( f
' W# h/ R N: d- e) [$ m' t最后我们要用到c32asm, b+ ?' B% W) L4 V$ I1 r8 X
1 j; U. D5 N9 P我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
) H" G% o; P0 n3 n! C% o3 {
( F. [! k' U1 W/ ?% k5 i这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
' C2 ~+ f$ l' t1 G; b2 b4 F9 U) U- m9 U. z2 z/ x
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
$ B- f& \0 m0 N$ }& g" z" o9 b ?3 i. f* Y7 e) j0 l. ^# q
我们把马子拖入od的以后,打开了importrec1.6 Z* B7 o% I) j5 y. B1 T
5 _/ Y$ n1 P! q' u在选项那里,选择根据序数建造输入表和创建新的IAT- u( Y7 Z+ N& S/ g+ f/ P$ d [
( D: \5 u: G/ {- E1 R
如图9 T8 `2 w3 D) U' e; N% o
0 S4 m f$ {" {" S, @, D' p
5 z/ {/ B( G: m2 p
以后的步骤照上面的方法继续就可以了
* n9 `5 d& i v9 J6 j' C
0 F; u |/ s" s, x9 Z9 |& c不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了/ q; h9 B: q. I3 w: ]) h3 y/ a
; {5 C9 Q6 B% Z5 q+ t/ _) t因为kernel32.dll的大小不一样。; V% P9 y5 X) h" V' x5 [& }
6 |0 }1 _7 c8 }* e$ m4 `1 e
3.修改originalfirstthunk5 W0 _8 @' U9 I9 ?4 r
& `5 s% t; q# B7 g/ E5 ~8 T
如图所示6 F# u9 y7 G& s. m0 I
' ]% t: w6 w# i+ o( t2 |# n, W3 A# N4 E6 Z) m8 U
我们打开loaderpe,依次点 目录--导入表(后面那个横线)/ G8 B# Q6 R* x, Z
' M1 O8 T& E9 [; h# B8 C" k我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
" ?5 T6 a k; V' ?. E
8 Y1 R/ T3 d2 X我们右键--编辑--把函数后两个00修改为FF
! O' t4 {0 S# [# Y' i, F& P$ ~ V
7 Y3 L1 C' a O+ y这样可以过小红伞查杀。 虽然会出现错误提示) s1 Y% U% f! _* j6 }( s
: O! ? v2 k. Z( t* r
但是不影响木马的功能,不影响上线。
$ J4 g B8 A# r3 [4 a6 e! D
7 Z) L1 }5 A( f4.dll后面加20 90法过卡巴查杀
0 r$ W3 i w+ s3 f+ n1 I$ [7 R7 K. m4 |7 J' C1 d
需要的只是一个c32asm而已,非常简单但却非常有效
' p/ n! o& S. o4 R; e8 }
4 f7 _9 P/ G) a, T2 f: X6 v: _如图! E8 ` } H" C+ Y; d! ~
2 K2 u/ y/ Q/ T* @7 k& f% K6 I3 d; }
0 k$ ~3 f5 V/ k; j# s# Q3 ^$ o# g
, D- n& n6 j7 }+ f$ w我们可以看到,' d& E/ D, _! [9 Y' q& Y2 c
& |7 j/ C/ e. l在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
3 q' e# ^) [$ n D3 X/ F7 v! ]; i
& Z& U- ^& ?. D% T# }& v/ ^& x这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
( M% |9 l7 S; t; p4 @
0 Y) o3 x: O/ s2 Q我们只需要在他的所属dll后面加个20 90就可以了
6 h$ F6 M( Y$ Z8 _# p& c) y( p
3 C' ]' w* q# y卡巴目前还不查杀此免杀方法
7 T4 z5 c* D3 e, ]6 e$ A0 L& c" I! {) p* B
6 W6 d5 E1 H: \8 t4 U: [唧唧歪歪这么多,打字有点累了
3 t: q/ @8 r! F% g, ~/ u# r. G* |, O6 k+ N- D5 @1 c
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。" j1 h& h0 y/ Y( G4 K
$ ~( n( @. `9 |3 m! c4 c[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|