  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
( J% h" } x( }: G5 }& v. \1 x+ i# C+ `1 p
特拿来分享给大家。
5 n" N! z) K; \8 O% X5 ?$ k# B {4 U2 Z' ]! G# k
今天我们不提我们国产的那些杀软,真的垃圾的要死,
1 I- t r) }! x
1 \% W$ @& d/ f上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
5 R7 z8 Y3 Z; h* x7 e: ]& _7 r5 Y0 D5 i, H- L$ t2 F: {
我简单的重建了输入表就把瑞星搞定了,. v+ u6 K, f3 ^, i' ?
# g& S- ^( Y* }/ O
失去信心了。我曰
/ p v$ L7 P+ H7 C
! l% K; h6 @9 `) M5 d' V' K9 |! Q今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。6 _" i% _3 H. {0 \3 ? A
; ?; @. J8 L W: e首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
* Z3 S% W9 J- y4 s6 y5 w$ _4 f h1 y
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
4 K' I7 ?3 v1 J4 ^, |% x q X) e
( O& d: i( L# \& z2 t) M9 |高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低9 H4 `$ J8 }. U1 m: m3 d
: z: C6 X# t3 u' w% d; {- W过了以后再调到最高,再做免杀。
! M, Q$ g, V. X' U! c& m9 i5 P& j5 z" x V: @
以上是废话,
, q, V! d: b0 B6 y$ `
- D* o2 g% I% t F7 x+ P! Z# K& M8 Q4 l好了,下面我们来说下常见的免杀输入表方法。
# V- U% z* E. @3 D0 A8 C% X) q3 B8 c& k" |3 I1 Q
一。移位法
3 H& K* L7 \8 U% Z& y$ s+ C; \" x' J4 S0 c5 u- E m
这个已经过时了,我们的国产杀软及时的跟上了时代,
7 q( K* m3 v0 I- `5 S, t5 b+ s0 R" k
移位法在去年过金山和瑞星,还有江民都是可以过的,
* |6 j. }6 p; {' G% [7 c/ [2 Q, w3 W5 L7 Z8 T+ A0 c# o
现在的杀软智能化了,移位么?呵呵 ,追杀你。! o# }- z, @, i# ]0 f
" S; W: a: f: |' ^0 V如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。0 I) C/ q/ M7 C# _
$ e0 V: W7 l) v5 |4 \3 O5 x
二,重建输入表
: B/ x& T% S6 \# m) l7 ^( K/ P/ e- T3 ~5 A. \6 r1 \* T- q
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
/ a7 `, Z1 J# ~0 `5 S( [
# e) i3 y" B) ]! w这里我介绍下,
% o$ C1 H# T* ?7 X* r
/ ~/ g" @* K8 [/ R, }2 s, g; U. O用到工具:$ H! L/ F2 `1 R' j) C' L8 }2 Q
importrec1.6) n* b8 N$ z- O4 e; n6 z! k( M
od3 ?% t$ E/ |6 U/ E
c32asm
' i; A5 Z5 T& _" f% J; Rloaderpe. n6 r8 E& Y8 |' K5 V1 D* I3 S
这里我们简单的介绍下,如何重建输入表
+ _1 b+ `% N+ Y% m3 D
/ q, K. P' y! C( W/ {3 w- `6 T) j. t首先吧文件拖入od,打开inportrec1.6
% a/ m. E3 C1 s# i
" \& p( @: A: p* f V% ~如图 选择拖入od的程序,
* p; u3 ~4 U% R# F- `' n( W
8 o( l! [- @' E3 A' D+ m' [+ [4 ?7 R& R1 S( `9 Y. K/ z k- X
这个时候,我们打开loaderpe,
4 I" B; S: T0 P/ u0 q9 U' {; ~
4 ]: ^$ n$ O) W2 X$ |拖入我们的木马
$ S. ?7 t, I; v" ~0 o' Y- e( h+ |6 u9 ^0 V
选择目录, z+ t% I3 e( t4 t- R8 z5 v
/ ]; r9 M9 l9 O+ q8 G, }
我们看到导入表这里。。。
5 R6 d; q( g/ U: V+ u( J8 Q7 _3 C
如图:
4 L- b% I# \* q f& _, g
$ M9 u! O6 z) H
* J* U4 J% r6 f% aRVA地址是0001D000 大小是0000154C/ ]: ?& l7 k! W4 n: s
" b; n0 f6 X ?好的,我们把这两个输入到import1.6里去
$ T4 e* ]; N- ^: K
& b& f. H6 o x- b* l- y5 J就是在“加载树文件”那上面一点
9 z, T$ H$ O4 W. @
* ^5 a3 v% y3 F* X& d0 z( X. v输入RVA的地址和大小。) D% `+ @9 Z( \- Q) j, B1 W9 x+ d, O/ D( {
! c) T' ^! `- b1 {/ F- ?* j
点击“获得输入表”6 @; e7 {) S z; k7 I% j
# Z, G1 d2 H5 c) O
然后点击“显示无效的”
/ \5 g" M. Z5 ^; X( j
; c, p( A; P0 M8 X7 Q' A# B接着importrec会自动列出* O2 U6 H1 z' X5 V
/ F* L9 U# z. F' U
我们把深蓝色的字体 右键 剪切无效的指针
0 o+ e' h$ Z$ k8 p# f
7 s3 T- A8 T9 _1 ~# K
0 G: b4 \$ i. | ~最后,我们点“修理dump”
2 g9 D' M+ U4 e7 M/ g. U
; V2 V5 P; e) k/ f- W4 _选中我们的木马就可以了1 C) v% y4 ^* D+ U/ C1 B/ [
( {& E+ Y+ @7 L& t s5 T+ z U
最后我们要用到c32asm. ^* j1 B) ]9 |! C! O
& O( t5 F% i9 ^: y- {; D
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。8 K9 z. R6 g9 _; i1 G# M
) H8 `: \# \& n: T+ v; D" j4 p
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)/ R" M- S- j! c
$ ? |* r, M, k# C% C, a& M
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
: c4 I$ P( Y( E: t" D2 M
: ?* Z j9 c( V; m6 t; l# j我们把马子拖入od的以后,打开了importrec1.6
5 }. G; ~/ h/ N5 d" N/ m1 f4 ^9 C3 n! N& M( A" p& ]: y
在选项那里,选择根据序数建造输入表和创建新的IAT
" h5 |5 W3 e3 ?4 n9 W- I! l
3 _. S& j& ~. o: Z3 t+ Y. j! N如图9 q2 w/ P |2 \; Y- j3 w( B- d# ]5 l
1 y7 c4 v( R- I
- M6 x' ~5 ~9 o以后的步骤照上面的方法继续就可以了
8 O; ]0 L3 d' l/ A: h7 i* M( y/ J- F0 J' m' u
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
3 Y# m% B. {- U- `! d1 {+ E
i. b% @! n8 X: O5 @% T因为kernel32.dll的大小不一样。
4 w& Q: A2 o/ u+ L, R# _/ N! h- _" P w# q) t) q
3.修改originalfirstthunk. R* J6 q2 @$ U. V
$ _$ A. ]% p/ m ~- _9 A g如图所示* e) I% v) X5 Z5 Y" Z `5 q+ l% w

0 j' j0 C* g& I) v2 K* s1 q7 Y6 d
6 G" ?2 i/ x# C7 n/ ]" V我们打开loaderpe,依次点 目录--导入表(后面那个横线)
" f! M6 \, k ~0 |- f5 {1 B. ~$ q7 B3 _7 y: ~ B) v% |8 W
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll! v( N0 Y4 M$ T9 i
6 y* |/ u6 G/ ~0 J$ A
我们右键--编辑--把函数后两个00修改为FF
" H( f* O4 ~8 x6 p& y3 W$ A5 ]6 {$ D9 @7 T
这样可以过小红伞查杀。 虽然会出现错误提示( ?& H. S( d& s K4 i( _% Z
: H# R2 ^- g* T8 }2 n但是不影响木马的功能,不影响上线。5 P5 R5 q/ a/ b& _5 j! \, V) c! F
. K( z% M' I) x# s4 Q7 T4.dll后面加20 90法过卡巴查杀
9 y+ J" m6 H3 w& B
1 e! U Y; d8 y/ p$ P( w$ `需要的只是一个c32asm而已,非常简单但却非常有效
' _- R1 A9 q$ y. [1 Z1 I
/ F' j0 F, V# C1 O9 u如图
: w+ e- V) @$ j' A
% P; ~+ |1 q, H" Z; k0 }7 J# L% q
3 }! O& Z; j' j1 O& F
/ B/ z; r+ B9 `% d我们可以看到,( v) f2 U+ c2 w: e0 c
+ M/ R* f0 s- |# A1 d在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90- G6 T/ c# r" L
) ]. k+ H* u1 V. T0 p) B
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection' K$ ^) k4 t; I2 d2 m: u* p+ f
3 y' f8 O2 W1 `# B+ z. z$ [我们只需要在他的所属dll后面加个20 90就可以了
( ^2 q' K1 t$ u+ i+ K6 v0 l3 O) b8 {
卡巴目前还不查杀此免杀方法4 n. A, G6 U* p1 j
) [4 L# f( B4 q4 w5 L( `
7 p% Y! x' z! u( R! _1 h6 Q y: G唧唧歪歪这么多,打字有点累了+ o9 ~. C4 L1 \9 X. b' B
, r! I2 `# ^% i u2 G. }4 H6 J以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。( m# b/ r! O$ G3 ?3 ?( h" k0 G8 O
) P: I5 \% s' |6 _[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|