  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
& H+ J6 A4 m) u {" M
( |5 K2 U; |( O) B特拿来分享给大家。+ `$ b4 G4 [! ?1 y/ C
. |. [# v0 g/ e7 b4 Q7 N, {
今天我们不提我们国产的那些杀软,真的垃圾的要死,% k# X8 u" B7 @, W9 w2 D! P
1 Z/ _4 V, i7 W* ?% ~2 I+ u上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
, u+ m2 k4 _3 R# o2 p* [# f
* O3 d8 |1 ~" s4 ]* j$ ~. K* V; @我简单的重建了输入表就把瑞星搞定了,
" x+ K( _9 i L9 o, Q5 V) H @& ?$ {' V7 l4 c1 B5 G$ D+ W
失去信心了。我曰
; T) {% c# x- n( }6 y9 g
* l, ]' m/ G3 ]* K* N& ^今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。) v' N5 Q$ g7 V' A/ M1 H- V+ K
$ n/ {6 @. c* W- ^首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
! \- d# _. F' c s* E6 |
3 @- c+ i4 h$ j# x外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。4 \6 h9 K5 L8 n% |
8 ~9 U& \0 r0 y& \1 e$ h( q2 T7 F高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
. i+ B- g; s' M; E9 C" o) P: H! i* H( s- x/ b% v
过了以后再调到最高,再做免杀。
4 N+ ~* q$ J, b6 {% g# k5 c
) `& K5 {% w3 q/ x4 V以上是废话,
' I! p# w+ M1 q2 f
3 W) \" \/ V, m! P( i2 _8 i8 d& A* ~好了,下面我们来说下常见的免杀输入表方法。) {/ a% q; V# d4 e: c; m
& J8 h" r+ A7 A3 T6 y
一。移位法
% V+ T5 t! d4 e' C6 D' G5 H5 L* E) f$ `
这个已经过时了,我们的国产杀软及时的跟上了时代,
( a9 A$ Q. i. i1 ^3 F% D8 D( |5 q$ w" f6 G
移位法在去年过金山和瑞星,还有江民都是可以过的,
+ w% x" J; Z& O
: J4 f+ g- t# G* t; p现在的杀软智能化了,移位么?呵呵 ,追杀你。2 @1 M2 k4 g5 X9 f9 J% v6 C
6 c2 u/ F. X8 [
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。) h0 q* U! s/ a# z1 I
i+ X: ?7 g( Z/ w& [" D
二,重建输入表
6 x5 H6 Q7 O: E8 }6 U! Z, U u a6 d) q
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
: U: R) |/ ?9 `' X/ V
7 V' X3 L7 X$ m# }% @9 d( c这里我介绍下,5 Q/ j, q s: M; _2 h3 w
" g/ q# _# J( ~- M0 p# H8 L用到工具:
5 N( R; s* [4 C. ?+ U1 mimportrec1.6 P! |% Z" a; `2 {% [
od3 x% ~8 s( k! ^
c32asm) C6 _+ L0 E. S1 H9 E& O
loaderpe
! |( k2 O/ `) V3 e m7 b4 ~这里我们简单的介绍下,如何重建输入表
' N( f2 i6 L3 l7 A
' E$ k6 {$ Z; ~. \6 r% |首先吧文件拖入od,打开inportrec1.6
4 e% P( H3 J6 y2 a- u9 v
: `( m$ b; T) K( T/ b& ?. c+ X如图 选择拖入od的程序,
4 N. q u5 Q \; Q3 ^0 y+ p
}' w4 W: L% ^2 q1 Y' {7 P: Z1 u# m' ?, n, E
这个时候,我们打开loaderpe,
: j& K, Y7 j$ }$ H. ~- n
3 N+ L4 n3 V; H: J/ W# A拖入我们的木马, p0 g1 M3 Z$ t Q4 L3 t8 P! l
+ i. t$ m$ E( i选择目录,& c4 [$ m& g2 n& f3 I& o6 O; j8 r
: W% J2 G# H$ e5 `* {" }/ \我们看到导入表这里。。。
) J7 E5 [0 u/ w) Z* V
( Y9 F4 s2 ~9 k1 l6 c, k3 v5 Q5 _如图:
" a3 w) y0 }5 y 8 I, C) \8 m$ C$ \
8 R& A! T a( y% RRVA地址是0001D000 大小是0000154C
; h" O. O& R5 N9 S) o! g% e% o2 Z4 ~, n
好的,我们把这两个输入到import1.6里去- e9 M% w" }8 G' J# w0 t
W9 W4 a! s& s7 x( d4 F' e
就是在“加载树文件”那上面一点 * g5 l5 i$ I9 N6 }% u
@; ^ e7 n, A+ q. J& s输入RVA的地址和大小。
) Y+ W7 K4 n1 r8 }6 G
$ r F# G/ r, M8 p% a; p点击“获得输入表”1 r, F" j/ a! L
1 A2 f# }4 o0 g7 |& R( V& Y
然后点击“显示无效的”
* i0 P: m9 p! x( p: s7 \0 R3 ~* d; G$ Z3 e! z
接着importrec会自动列出
: L) ~; B. F; a5 l% y! @: U
6 r" |' Z3 _# I* X) ?2 t我们把深蓝色的字体 右键 剪切无效的指针! i! o9 |) _# Q( o6 w8 ~% Y
9 P0 A2 b- S+ t( [2 w' T
. Z3 N6 O$ ? A) i2 k5 o最后,我们点“修理dump”
9 R( d; T* p# b- |# ^' W9 G' y$ n* E+ z! w
选中我们的木马就可以了
+ w1 _" z9 N( ?- L' h: P! I2 {6 C$ Y/ {. _
最后我们要用到c32asm" Y7 G* Q6 p4 v+ K5 D% } c
1 S$ c2 t0 l8 a- ?8 K8 \- n我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
: r+ U2 Z2 }; ]2 y$ C6 \6 }" F( w6 O+ J, w/ ^
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
% T- {" L/ ]! N8 K, f. |
4 X# m# z1 G) ]. ^! r. k& w" e这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,3 m A: T/ h3 ~8 o( c
; u& A J# O, l- z! _! @& `8 ]: \我们把马子拖入od的以后,打开了importrec1.6
) Z9 ~1 p7 S9 q1 Q$ O- S! W/ h9 V0 s8 X3 j7 V- D. N
在选项那里,选择根据序数建造输入表和创建新的IAT2 D1 D3 u2 K& \5 p$ M) r, u! v
5 p1 ~3 [- d% i$ v
如图
0 C. e; }5 {/ V3 ~) g+ @ 7 y9 ^3 w, L$ j/ q2 V2 o
# E1 U/ X( B7 C7 c0 f) J
以后的步骤照上面的方法继续就可以了9 c% A- A8 [1 P. Q) |
- a2 T( E$ |' ^% e: }不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了( ]! R0 |! }/ k) `; a+ ~/ \- E
9 h/ @! J# ?5 Z/ D
因为kernel32.dll的大小不一样。# q% ?8 `, Z; [9 ] c6 c# c
5 r5 _! K% }! o2 ?, q: l, [3.修改originalfirstthunk Q4 ~% G, l' f: O- l! u% `9 e6 v' b) k
4 }, M" s- ]0 \; q6 h
如图所示. K1 t( L" |% d% x2 N
8 }8 [* n4 {; \9 @ K6 H
9 x% k, ]! P+ P7 ^: ~
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
0 E6 @; G6 l8 Z7 z
+ @6 X+ |/ n( B我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
1 k/ Z# t1 H# l2 Y$ F
: V! U) s$ g& w8 q1 V: d% P我们右键--编辑--把函数后两个00修改为FF- E' u/ ?* z1 U% Z4 f6 W
6 F5 ]4 }- @# [2 T, e3 q
这样可以过小红伞查杀。 虽然会出现错误提示) Z% o' y( s1 d* V- A" c* u
- B' S* l- v* [# [4 i5 B3 X
但是不影响木马的功能,不影响上线。5 G; b. e5 Q: }! A3 q4 Q
1 u' g7 J- N' j4.dll后面加20 90法过卡巴查杀
. G: J# u0 e" j0 c# w: Y" x) J O! M# B
需要的只是一个c32asm而已,非常简单但却非常有效
3 H) {6 L, E% L. L; Y& Z' k' u) w
1 C0 @( m2 Z! [9 O5 w如图
- u) u+ J3 x/ t# t
) J: I2 l: `7 B2 A
. @; k3 R: O9 j5 W& }2 b$ e$ C0 g4 O ]8 r8 ^1 R
我们可以看到,& n7 S3 `1 s( Q& ^$ j+ E" g4 j/ w
7 Z8 V5 T& X L4 w9 q0 ~8 O' e在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
4 W: ^4 s8 T, u! _) l! L, E2 _6 D8 G
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
# W x' F! Y. m) O7 a
1 y" H. Z8 D9 R7 B我们只需要在他的所属dll后面加个20 90就可以了- R# o0 q9 Y8 b
6 g |$ Z. j4 @2 f; ]
卡巴目前还不查杀此免杀方法
\* S" w4 |7 m! P" D& C: V! a. p( f1 G& R
( F: y' V$ T) d* S8 R& D$ E8 w唧唧歪歪这么多,打字有点累了0 \& W( D' b& K _2 ]! C
& i6 _! U8 \1 T8 O/ P8 X& q
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。6 c: N6 b& V( [/ X
& G8 }& [: C9 z7 j! H- k2 _, c
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|