  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
, I. A) B9 r9 G
9 ~: ?9 T2 M7 l% I: S4 Q: Y, s特拿来分享给大家。( W0 B/ T, b* H; S7 @9 i& X
- ^. v% F; _7 ]- X) z8 F+ I* [
今天我们不提我们国产的那些杀软,真的垃圾的要死,0 {! e1 p; ~* y% ]; x& k
! w) @, U- A$ W% v4 ^% n# P
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
4 G' N" k: [& _/ L) ~9 N
8 f; V% y, j: f4 H$ e我简单的重建了输入表就把瑞星搞定了,. Y- |. [) t, [; u# J
; O, z0 Q4 b- Q6 ^' d失去信心了。我曰
8 m& X9 Z4 U& a! W1 l1 E) h
9 Z! v5 |+ i3 q+ S( a今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
* o, d0 R/ |9 J2 w
- J) D# P5 G3 i3 p0 \6 o+ o- ]首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
/ t7 B: A( O: B/ H; A, c" ?# J) [$ h" A. |; m9 }* }
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。7 l+ `$ W0 L6 f6 t0 m
+ H9 _+ R7 U& e" j' g; D高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
1 w1 P% m4 p8 w) C) Q
' Q2 y7 U% m+ g过了以后再调到最高,再做免杀。
* S# @) Q6 E' {* G' _& g3 r- V3 F9 K6 Q4 @
以上是废话,
0 i, I9 T/ R/ O- G; n
' E) O3 |, P4 `/ |; I! J好了,下面我们来说下常见的免杀输入表方法。' r" X# N: ]3 Z/ J x' w
. R7 L- v- [/ r `6 ?6 r( v3 a
一。移位法
% ~7 Q+ c9 m+ r
, o- ~- G1 V: D+ a1 l3 |, K这个已经过时了,我们的国产杀软及时的跟上了时代,! t0 W- {+ i9 m, n
+ w/ L7 O3 A+ `' ^+ E! @, p3 Q
移位法在去年过金山和瑞星,还有江民都是可以过的,# _2 z1 j$ v) z- N- Z3 j8 T4 t! P; J
' Q" X" k( w6 I& l9 n现在的杀软智能化了,移位么?呵呵 ,追杀你。
! g! w" ^( B' X( X% X
! h J* ^: B5 V- z7 @- M8 L如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
4 v! u+ ^7 O: W( Z" p. F. u7 H- m0 C, g- ?
二,重建输入表
9 i3 R \) R& \5 r1 w, ]0 ?4 r. o6 Y( A
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈( K: ~, E9 I) @0 A
7 M; u4 Y4 g3 `
这里我介绍下,- |" o6 v$ H: ]- Q! A. I
# o4 t' m/ A; |
用到工具:+ j& w C; n" i$ }) o
importrec1.6
9 T+ G- `( p, B/ l1 B# k5 R2 ~- C: Aod* \5 Z8 X$ n& p" e4 ?
c32asm
0 I" [8 A3 O+ m1 v( M5 Bloaderpe$ H8 Q3 l( F1 }$ N* U) v! [9 L
这里我们简单的介绍下,如何重建输入表
: F" Q) M3 P; N' ]- m4 G2 {
) w H' h, D( p p6 ?首先吧文件拖入od,打开inportrec1.6
2 y: q( y4 j& N$ |
( c* v/ y+ l2 i) L* g$ x" a- q如图 选择拖入od的程序,/ ~# k& n: o8 i8 h5 T0 ?" J

$ L3 \! y: I/ ` F/ y1 @, q5 ]5 S0 C8 H: i- N9 W7 b# X3 I0 x% J
这个时候,我们打开loaderpe,
9 b; ?' t: ~/ Y* Y3 t5 ~9 N
# I6 ]: N# b: t/ m8 {: \' q; ^拖入我们的木马
5 l$ C- i% G: L6 D C' y: `. m# B7 S7 D( s; B! h" p
选择目录,. \3 ^: r1 c1 A% W# O7 ~! P( U
, m4 e& t$ B8 D
我们看到导入表这里。。。
# x8 {- P% G* K: L# z; Z" J
3 \) S& ]% {5 @5 G如图:% I. W. ` P2 f9 ^8 D7 o% P
( s2 ?. Z9 e3 Y+ v
% W4 f0 d3 {: k8 K( f6 TRVA地址是0001D000 大小是0000154C
) d ?# w. v4 R' V- j X. {" L; K5 _8 N9 d( W* _+ r( }
好的,我们把这两个输入到import1.6里去
1 a% A" [: z$ m1 q1 q9 I# M6 h1 j, I7 s/ ?) J; \) a$ b9 e6 a
就是在“加载树文件”那上面一点
* E- y, a5 d- i7 Z
8 O" x% R5 t8 B$ I# f6 J/ ?输入RVA的地址和大小。
x8 ~- G7 x2 m4 S. l. u- B) @, D/ [' L% M
点击“获得输入表”
& @- c7 n5 G! }8 ^2 f! o5 G& J4 l5 N N7 B
然后点击“显示无效的”' t4 ]2 C3 c2 U9 Y- l( \
6 ] i% e- o0 ]" G接着importrec会自动列出3 p+ t9 b, F' h5 j% _8 K! r
# V* N6 r% j2 i我们把深蓝色的字体 右键 剪切无效的指针
7 B- |7 N4 E& [# R1 ^' ^
4 X5 q! J1 Y7 L! }3 s- ?' s( K; m( j2 r7 `! P
最后,我们点“修理dump”4 N6 Z" l/ `% L% \
) r+ F, J) P1 A& V选中我们的木马就可以了, ? T3 a, B; q2 }3 ^3 W
8 j4 Q# `, l, P& O( c最后我们要用到c32asm
& H b4 a- c) ]. X1 n; L# \; Y7 f, o
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
2 O, O) Y8 E" c4 x ]
( S" ]4 C/ R6 Z) p! b6 f2 K这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)6 T6 ]* Q* }+ B0 q f/ F C
$ y9 b- e$ o& _7 x" |$ y
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
3 F, v- z: @! \: g( h4 d' N
) M6 \& `, P7 c8 q4 P% m我们把马子拖入od的以后,打开了importrec1.6
$ j. G8 Z! m: U" G5 o( j' G9 _4 e$ l
在选项那里,选择根据序数建造输入表和创建新的IAT, B/ ~ x" S; |; {( k4 q! m4 @
, n; d4 r. Y; }3 h: r' p
如图% `+ ?5 @# v! g( F" t( Z5 L

& x+ \* i- n5 ] J0 X% h4 Q" r% W* t: T! {9 r# K; J9 }* {1 N: K
以后的步骤照上面的方法继续就可以了4 P% Y, a# A$ R/ p% ~+ ^* g: M
2 [9 {0 J' V% o% }- k
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了1 g/ c# G7 W1 r
" N" ~) p4 B8 z/ s) @! x- S; @因为kernel32.dll的大小不一样。& }9 d/ n0 p# J9 E9 J6 A
0 }. o/ }6 N( M! F7 C% B2 P& w3.修改originalfirstthunk
6 Y( V# q) o& }* `9 @) ?; @/ B7 `1 E k
如图所示
# S1 x/ A0 L* ]0 l5 D% W; `
. c N4 k+ x5 {8 @8 F
% J# y$ O5 W" A! I" |我们打开loaderpe,依次点 目录--导入表(后面那个横线)4 g* I* a" w ~
8 J1 n# ]! O7 ]( G# ~6 T我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll g( i4 r* q! L+ L: o2 M
6 |7 h; m, R% a( _6 _5 J: m我们右键--编辑--把函数后两个00修改为FF
: v- A- ]3 g9 c+ F3 b
& r7 m7 L, k5 I这样可以过小红伞查杀。 虽然会出现错误提示
. e" ?$ G/ U6 t' b3 ]$ ~
' \, l) d: \% h- y7 r' w8 w但是不影响木马的功能,不影响上线。
8 [, a/ g3 }' g! l
* t( T3 W- S8 b. q' k1 }" c4.dll后面加20 90法过卡巴查杀' I& w P% v$ y I, I+ Z/ E
: s: q1 \' K( ?' r9 m4 g n
需要的只是一个c32asm而已,非常简单但却非常有效4 T6 t9 _$ K( W" _
i8 z8 ?6 k" B8 W
如图% V6 K& T. y1 n6 X
$ K5 E. {; q5 o8 ` Q, h& M6 e

" X A% L. b# o% V( [$ ~5 r( r+ }6 n4 J- ]9 K
我们可以看到,
" D2 j. h. u5 i
. z- Z$ J8 o/ K" c3 u在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 901 o* L3 I" _, S$ b4 g% | x
8 _5 Q) I) C* G; p4 w$ j# `
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection( T6 H- W/ P! R& L
/ u/ z5 x; b$ T
我们只需要在他的所属dll后面加个20 90就可以了
3 d- p+ A% W' D7 O
5 O1 S! B% I& K* h8 Q卡巴目前还不查杀此免杀方法4 l! J; V7 _5 N- ~' O
; o' F" r2 [' w, j; V1 f
5 X- }( j0 s3 B" ?4 L# ^
唧唧歪歪这么多,打字有点累了' L' B/ q( I9 U3 X% T$ H* q
- o: Q$ F; [$ L* Q( f以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
0 O& V" \, R }1 l- D6 _" ^8 o* c
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|