|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
& }4 D' r; p, Y5 I0 l" k/ @5 O' Q4 M; i! D* X* [8 f
特拿来分享给大家。# e4 h) N" a% Z& }6 G
& E* A4 _! N" W! ?4 H N今天我们不提我们国产的那些杀软,真的垃圾的要死,
; L7 @! ?( \# K8 }) n0 q. B H6 K& e9 C. i+ w. Z( {* [1 x
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
7 K8 y& R5 u- J2 t# ?( z; C
7 I; c6 B K8 V我简单的重建了输入表就把瑞星搞定了,3 g' U. L/ @8 l( g9 A* b" }
% [+ C {& n" {7 k3 L* Q
失去信心了。我曰
5 u" @3 g( b& Q/ J" F1 |2 p' A
9 g2 s6 J" v: m- `今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。, j& F% k; G% B
8 U0 d- ?: ~+ Z5 j2 i, a! ?; V首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
1 x1 I8 O2 ?0 d( Y5 o* u) O" N1 z
( v& H* J' W, ^$ e4 X外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
" D( F2 ^6 D2 f9 A' @
, ]8 Y: k3 j7 h: J4 \9 t* o' n高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
+ k5 |- S( p% O8 K# m: ? T; q' l% L& [$ V& ^2 a" G) `% u
过了以后再调到最高,再做免杀。
! _! `, R5 N i8 V% m; g4 M" i* e0 }. s* X4 j
以上是废话,+ n7 b( @) T% L( O% s" S( U
& Q* |% x" I( @" i2 K好了,下面我们来说下常见的免杀输入表方法。0 L1 [) e; I: l! h# o9 d! H
; \- `0 I, h8 ^7 W. h. R一。移位法
" I) a3 ]& e' ~, ^& r
2 b1 m( K" _# e( k/ y这个已经过时了,我们的国产杀软及时的跟上了时代,' C$ N. ^1 ~8 G( c
0 ]6 A$ I/ a4 s% y1 ~7 `/ S5 t移位法在去年过金山和瑞星,还有江民都是可以过的,3 P; r% ~4 Y0 b- y! p
) X, A/ V/ E: {( w) ]1 U0 s& P
现在的杀软智能化了,移位么?呵呵 ,追杀你。 H% t4 F; [# ?6 \2 r |
9 K& v# P2 A7 l! z. n3 o6 \: `如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
/ f" P8 t3 }% d
; _5 A7 ]0 X1 _* ^二,重建输入表5 r6 |3 j! P0 ^: |$ E; S; x0 U
! {4 r4 e I6 _$ R% T& v
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈8 u" Q3 `' U9 G+ x& J7 h5 i
. C" I- |$ v+ s7 n/ J# Y3 J+ K
这里我介绍下,
3 }- T7 ~( D2 ^& \/ R* W' P) X; c
/ @4 s2 a' z4 c用到工具:2 V0 G% ^/ C/ A; t$ I
importrec1.6: Y) G' ?0 o5 | i2 x0 Z
od/ R) k! \ s# h# n0 z
c32asm' X1 `4 n) e& l
loaderpe
6 {' c8 @/ E( c% L7 t3 x, Q这里我们简单的介绍下,如何重建输入表
1 x% e& j( A: X
& V4 G6 B5 |5 D5 {* Y4 N首先吧文件拖入od,打开inportrec1.6$ M% {$ J, s) |# C8 ^$ c
! G( `) g- b! f# x% T8 d: Y/ W5 @" J如图 选择拖入od的程序,$ a6 i6 b/ M0 \1 F$ M
) n! ~$ l0 K s, h- R9 {
& m; X+ O: X# q7 ~( s. J
这个时候,我们打开loaderpe,
, x( {' T A; q
' J# {5 L! J1 {8 n2 R/ k拖入我们的木马
" u* j( K" `! V( N8 i2 I0 f/ n9 ^; s/ B
选择目录,
0 p* Y4 t) g! i3 |' w* Z4 N/ l; E9 p% }% v& k% V
我们看到导入表这里。。。9 T$ ]4 C7 G+ x
$ L+ \* R* U% N9 \4 d' g如图:
D, U |) H4 [ ; {8 _4 n! y f& Y7 ~- z+ A
4 x/ X" |$ h3 b! \' kRVA地址是0001D000 大小是0000154C5 N5 l% \3 N* B' m7 ^7 {# ]
1 ~) h8 K( `: j% C7 s好的,我们把这两个输入到import1.6里去% ` ?. U# X5 T$ F; ]2 v
' N/ x" J0 o; `6 u: X+ m! t就是在“加载树文件”那上面一点
! y Q3 x% u @8 C6 q& f ]% O* P4 D7 b+ l |9 D- {) u) N2 W
输入RVA的地址和大小。
& X# |7 |0 ?% [) A5 j- p) x3 T ~2 }4 |7 X) j, W" W' i, `8 C1 i
点击“获得输入表”
& J; w+ r( k5 f+ K$ ]8 {: M+ x/ F2 ?5 J+ t' y
然后点击“显示无效的”
$ [. G! H" f/ I V
) J- t; F+ o5 o7 _; b接着importrec会自动列出
9 z1 o5 ^' ^4 p# p2 g4 C3 X, o8 U; q: n& ]7 f5 e& r& A) e
我们把深蓝色的字体 右键 剪切无效的指针% M/ P, B- _5 G3 t. h
/ _* e% y' [* _& J
7 N5 y) X- T* b, T- d/ [最后,我们点“修理dump”
; |) n& N3 a- F7 l$ O
7 g; V0 _ C. o$ I$ b选中我们的木马就可以了8 }6 L9 L+ p; E
7 q* l; y+ Q# D6 O+ e2 r% ?! D4 b
最后我们要用到c32asm
# H. Y3 m: w% C
4 X- h @2 q' Y$ _ c我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。! a- ?3 {4 X2 K7 B$ G+ Z3 J8 ^1 g: q
: h0 I1 p* Z* ]5 E u) D这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
5 x2 l7 ]/ j0 z3 _
" w T8 H/ I& H" I8 S! b这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,+ `- l4 P' m9 u8 }3 ?$ O
" w3 E" T/ Q, @, q& t8 t+ A
我们把马子拖入od的以后,打开了importrec1.6
2 ^+ Q1 f' M* Z
. a/ }; A2 ~% p0 k5 w/ {在选项那里,选择根据序数建造输入表和创建新的IAT1 G& [ k e( e! t$ r5 g
/ O1 k( m1 M6 C2 Y7 }9 z( `如图9 j: Z" q" ^; G

; O' O J5 `3 a. p% ?2 |. y$ _* P; e7 `/ j' i5 Z
以后的步骤照上面的方法继续就可以了 f* ^, F. U9 B) D
/ J* i$ b1 b4 s/ Q+ Y: v
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了+ \* [3 e( p2 O
0 p2 T3 a8 |8 O5 B. W
因为kernel32.dll的大小不一样。, E% N4 f$ g; D2 |5 Q: V
" T r& x- x# x7 f; v7 o' O" y3.修改originalfirstthunk$ ~( v* H6 O% Y' @2 q6 }' x
% ]9 Y& z* _. d9 S- K/ a3 }7 E如图所示 L: D# D4 x7 F4 Z7 O' f

: j" T5 \; z8 i: ` b% c# t+ B- T" c6 g
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
5 y6 s" U% `1 A) E1 {8 O) A
6 v4 H V( W: \- H: S2 X* k3 [我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll% C6 D( h. U* \/ W% t1 K" h$ q
; I0 v& t, V( s [" U
我们右键--编辑--把函数后两个00修改为FF
+ v$ h9 P7 X- I: t, ^. z
3 L: K$ d8 z) N3 U+ p) a8 Q这样可以过小红伞查杀。 虽然会出现错误提示2 k! ]2 v H# q! X
3 C% f" z8 I8 x+ f
但是不影响木马的功能,不影响上线。/ e8 V7 P1 [3 v+ A
/ P% s1 w0 {; ]7 |; R/ ]! g& O9 f4.dll后面加20 90法过卡巴查杀& V& w# P! m) n; t, D5 O3 Z
: v' S1 l8 j# X1 \1 g2 S需要的只是一个c32asm而已,非常简单但却非常有效
3 b6 U9 m1 h% t' T; E- m& E: M3 N, g G! L4 ^& e* y8 {
如图; W ?1 v5 Q5 r
. d% N. R2 Z& i, O3 J& _
1 M% {: G6 S; u+ a3 }3 Z- I
0 Q7 D8 \" e1 o我们可以看到,- H; R; M# C4 w: J
, w( ?; J0 |: ^# F, R6 c5 d
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
* _5 `$ W- Z9 `+ P2 T* F/ M+ v
2 }2 ]9 m6 E$ M( ^4 o. h6 b这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection5 T3 X; x4 |- v. X! a4 {" c
6 n5 X* A$ c* K2 F: ?# I- ?
我们只需要在他的所属dll后面加个20 90就可以了
& ]1 G3 y, c! i7 q+ B6 V4 J! m8 Z/ ]
卡巴目前还不查杀此免杀方法1 v- b1 K9 ]# X( D1 w7 z- @
; Y/ ?* ]8 f% b O5 l6 C0 W; m! o6 d4 b2 z6 u7 ?
唧唧歪歪这么多,打字有点累了
4 x& r/ p$ W! Z! r- i* z
) r, q7 C4 p) }% n1 X; G( S以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。) z, q1 \2 Q; C; N, N4 V% R
5 D) Y1 t) ]) Y! _) f7 L) M2 ?) I
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|