  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
[3 x3 J6 }; }% k6 P
Q, p, m# S) E' i特拿来分享给大家。
# P0 K5 l9 q4 t
& P+ K7 k; Y. M' H今天我们不提我们国产的那些杀软,真的垃圾的要死,
; H r6 L f1 n+ f/ m( ^
) [. z2 R( J" q, Y' ~" N上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
+ f* _8 o5 l( q0 o/ Y" j; p+ i/ T4 d0 ?" Z( C
我简单的重建了输入表就把瑞星搞定了,
' E( o" }" c, C9 Q3 |- A
$ V0 ~+ Z. a+ r! x; J失去信心了。我曰
! g1 E/ K- u9 h* ]
" }7 T `* ]7 G4 \3 r! ^今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。- `# N1 ?$ j/ d5 `+ E/ d) y0 z
% c0 {# r3 e; w$ l2 } E
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
. Z* R2 G$ c6 E! U/ }3 c! z+ U& d5 q9 i
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。3 X* L: r8 _6 y7 N) {
4 t I5 U2 y Q- {; e
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
$ @3 T' E# X/ `4 K6 ^; u6 A$ W5 O ~0 r% O7 ^# l( c4 R
过了以后再调到最高,再做免杀。 q& J2 b, G! C, @3 F
* E% V# Z6 }) V" h3 i以上是废话,
. v8 D1 X i s: B' L/ l
# m$ V6 m `, j8 k& A8 O5 H3 q好了,下面我们来说下常见的免杀输入表方法。4 h% _' J" p D) F1 ~. q
" }% N/ @: @3 ~. M4 ]一。移位法
) Q, @$ L9 o0 n f' O u4 O; t6 r& ~
这个已经过时了,我们的国产杀软及时的跟上了时代,; `* k2 l$ N( V' h
. s/ ~& p7 N4 y3 e x9 V移位法在去年过金山和瑞星,还有江民都是可以过的,
. M( U1 T5 ?9 I( {. J
& c; z P4 l3 t# |1 Q$ w) f4 G现在的杀软智能化了,移位么?呵呵 ,追杀你。
- s$ Q4 |# B) \5 z& x! l: Q8 i
- N( [ |' E" Y如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
: X) H5 ]8 K6 \5 b% k% B" M o- p) E
\1 s% o1 S7 o6 G二,重建输入表
9 y9 D8 O) D5 }0 J. y/ u
B& W, v- y8 i' `/ i9 V1 t$ `效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈: A1 f1 [; Z% }, I3 h% O
: s" C+ s h6 D2 o8 [7 ]
这里我介绍下,2 o H, u9 B- F' r
% n& K; v& Q5 i4 E! e: E% v
用到工具:+ T, c @$ v) J# Z7 p7 k# s
importrec1.60 ?% G% m* s$ G; n/ M1 ^
od! q+ j$ b/ W3 O* ^* X
c32asm
* V/ A9 y+ Z8 R+ ~6 C- R# F* u1 `loaderpe9 `) S) g/ ]" P! V
这里我们简单的介绍下,如何重建输入表% b4 G! ~, V% R# \- p( {5 {4 O
. s* {2 W# }2 _
首先吧文件拖入od,打开inportrec1.6
) o1 r8 i! c1 Z6 m5 b; c/ ~
2 R( c1 m, r) P1 U2 g8 v3 n$ ~" j2 h如图 选择拖入od的程序,
/ a0 F! e3 ^- W
$ s- @7 F2 ~) Y* @9 ^
]+ B8 X1 r/ J$ c' B. q t0 ^1 w这个时候,我们打开loaderpe,
3 ~5 s( A/ i* o. t( P' q1 I! ^: `+ H
拖入我们的木马3 x. C6 m* p. A4 a6 Z2 f* Q
, d7 n. h; T- ]0 m( a) S选择目录,& N; A& m! g, J1 L0 `8 w* p
( V% U6 `2 ?# z. I% d3 v: ~
我们看到导入表这里。。。
; S, H& U# M2 _5 Z2 W6 |0 X! B- b
6 h5 O7 p6 ^/ @0 r: z8 E如图:
9 T' m3 k/ _$ q! I( {% Z
4 n: p9 V; W) A2 v% S; K0 x) p
/ F7 b8 k& Z; G' sRVA地址是0001D000 大小是0000154C
0 g3 o, d% w) h/ m6 ^" L
/ p# m% W1 n0 ^- M好的,我们把这两个输入到import1.6里去3 ?9 C/ D9 M8 Y, H I7 R
$ I1 a, @) m5 m. d就是在“加载树文件”那上面一点
3 a/ S* a/ u1 v. t& @5 ]# ?2 v$ [) Z: V4 w
输入RVA的地址和大小。) v, ^& g, _1 Y) f& j7 s
6 ]) A% F+ P/ ~; H! b; y+ {& g点击“获得输入表”. s/ m& m9 V8 ?/ i
' l7 a9 ]( s. n6 X; J然后点击“显示无效的”. m0 M: W- |( s6 b( ]5 @ c1 l
U; S9 R9 b% n+ R2 j8 M b( i接着importrec会自动列出
9 Q$ S% z7 e. H6 p% m( @6 Z/ n. d0 _* \5 L
我们把深蓝色的字体 右键 剪切无效的指针
/ e1 d5 `) r" t, h/ u& ?- j( d0 M2 [ o7 r
; f/ c. c, [7 K Z1 }. ?
最后,我们点“修理dump” X$ ]2 e$ i) H( Z- g, M( I
! w6 s( v7 C4 w- d l; m0 V
选中我们的木马就可以了% A; o4 q% X3 a' T
i6 Y( \5 m x7 \% m
最后我们要用到c32asm
' L! i4 E4 {8 Q" f6 f' }8 @7 p* x) H
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
. B# G+ c q6 f9 a
6 v0 Y( x' Q; @7 Y5 C. ?这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)" C. i0 k8 j2 `
; }3 r; V4 |! q2 _7 v; v% {这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,5 h9 g& D; v, [" `7 }4 y. W) K; U
9 x7 I, Q, Y) w# A5 c0 q' ^" Z+ f
我们把马子拖入od的以后,打开了importrec1.66 k% X- u0 \. w* { @! ~ g
' X. L0 e; A1 Q( f* w
在选项那里,选择根据序数建造输入表和创建新的IAT4 L9 @' J# ^% w+ s5 @! I$ Y
+ V6 U9 ?, _# s2 O4 S6 t4 l
如图8 r. I+ }/ `6 L5 Z& j7 V

/ i* B, q; ]- z+ Y+ }" q! M* q
B3 G! M9 \3 O* t9 B5 v以后的步骤照上面的方法继续就可以了9 v8 T, m$ L% ?# n
$ M8 B- c3 r+ f- k不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了1 ]+ H" N9 {. t8 J; s
% |! V, I+ Z/ F) M. w8 H因为kernel32.dll的大小不一样。
* p1 b8 i5 B3 j; N; b, J! O- j* h. X" _5 O
3.修改originalfirstthunk
. j& K3 X. d1 K- f: E% A8 V& A) g4 V" i2 @) T
如图所示
6 ~% L; T7 R6 D) k2 N1 N ( ^( h2 _+ ~0 ^4 R9 d
1 y2 U8 m) m% e$ Z1 L, N1 Z8 N
我们打开loaderpe,依次点 目录--导入表(后面那个横线)0 \$ |, _. z% A- z. b3 t
4 M# i! z! E6 O ?; D3 v @2 Z
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
( ~0 I" d' T5 f
$ C, p% N( f1 g; j) W我们右键--编辑--把函数后两个00修改为FF
2 Y5 U( j8 Q. }$ ^, C1 W7 h
/ V4 T* u# @' _5 e7 q5 p+ g9 A这样可以过小红伞查杀。 虽然会出现错误提示
& N/ c, Y# F! |/ A9 D/ t
/ r" S7 ^+ c7 v% \但是不影响木马的功能,不影响上线。" B# ]2 w2 o* m) t K
. S w- Z2 S) e" G# |0 g4.dll后面加20 90法过卡巴查杀+ E4 J$ K& ?$ t) ~0 r
: N3 B- ~8 ]6 F6 \需要的只是一个c32asm而已,非常简单但却非常有效/ j+ y% W/ X- J0 Z, j% r e
5 _8 g# l. |6 Q0 Q- R- J如图
1 Y3 _5 }, T9 c, T4 R M! _: Q L- F+ B9 R2 y' u6 `. ]( d5 x
y! n% F& E- W: `
9 k7 i8 v; |- O
我们可以看到,
7 o! L8 T- h1 l) ]7 W5 H5 B8 J5 U7 c" F. A2 B a6 D0 O5 o$ l' f: w
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90" v8 g8 W# G3 Z0 @5 Y2 U
8 e3 t* s; y7 a7 Z. l3 O这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection" I/ H! u' k/ l: X. S+ z3 |
; L: f! J& f# {1 u) }' y, d; C$ {我们只需要在他的所属dll后面加个20 90就可以了% ?. s$ p* R( N& h
$ e1 o% |; r3 F/ a卡巴目前还不查杀此免杀方法/ ?1 H% f9 @: S6 h2 J
" w: `. T0 }* n9 ?: d9 p9 |3 f |4 N" Y# `
唧唧歪歪这么多,打字有点累了& Z$ m6 O4 s: V+ A' E- U
6 W9 b3 u$ j' _' a8 [
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
1 z6 ~/ T( B: c9 k( [; ]; v* m/ A- ~- w
' q/ M2 K% X1 K2 w' U0 l0 Y[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|