  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
( N1 K& l8 ]3 I7 W( T
$ J f. I' a4 W: X0 b9 Q特拿来分享给大家。
! f# [. W: m) _& S% T0 }; U) X
6 ^& g( @; l( g7 f! }今天我们不提我们国产的那些杀软,真的垃圾的要死,
( J @& {" N! v& s: ]0 N) p5 [" o% _7 `* }+ C' _
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表9 j+ d5 \0 x) h! K( g% t
2 g1 ?! U$ @, p# W4 h6 O我简单的重建了输入表就把瑞星搞定了,
; ?( ] ^( L7 ]8 o( @0 ^
! P( F0 p2 Y1 D' C& Y失去信心了。我曰9 Z- g; L! t5 u2 g
N, ?- i9 d2 @1 p2 v# ^' M今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
. Z8 z0 [5 c8 C) D% W) e0 | S
8 g' A1 S, j' ?) R! x7 ^; N8 M4 h4 r首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
8 r: a+ u: W t: }! K9 M
7 {( F% N6 F* ]外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
$ f/ ]* \+ Y$ u
4 x, w& ], ~: [! P/ x9 n高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低, H. t0 `. p" @7 d% O8 p. U0 m
, }7 y$ H7 J# Y2 r. f8 |2 x: v h过了以后再调到最高,再做免杀。
% Y" J7 D: g' |5 p* v# b) q* T
以上是废话,
6 S# N* L' t; ]2 K1 y7 f6 U1 r
# t/ }& W4 ~4 b好了,下面我们来说下常见的免杀输入表方法。- f3 u5 r- ~) j8 c' K
, d5 G5 C3 |! O, D2 n" {" n5 Z5 S
一。移位法6 ?7 t$ ~$ C" Z
; v7 J! e. e1 g3 g
这个已经过时了,我们的国产杀软及时的跟上了时代,9 S0 O$ V' q. b
4 h; L, @: t! Y1 B. e( F
移位法在去年过金山和瑞星,还有江民都是可以过的,. M0 y2 V( O% ~
# P. c- N8 a( [% G2 C- k
现在的杀软智能化了,移位么?呵呵 ,追杀你。4 q- W8 ]7 L% _9 K
8 g4 B' s: J9 F. A: z4 z# ~+ K如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
3 n. K2 N6 m: W5 _/ l
, a7 T, y7 f @* {& A& S) r) E N二,重建输入表4 T7 z i5 B# v! [ h& f9 b" K
( Z/ K) o8 F- P$ B; L8 @6 d) n
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
) d5 f/ h4 ~& A3 w# K! F* c
8 i: \' d( n4 v* A3 V/ m. t$ a- m这里我介绍下,
7 ~9 }; q6 E: b4 S: v4 S7 N: W8 t% J
用到工具:
; d* a) t! l7 o9 s5 {: t1 eimportrec1.62 e: p- V& H2 W; C$ N* `) c
od
. n" z" B% M8 c' c% f1 M* q; M. Bc32asm
$ d) g- u% U3 ?' z9 hloaderpe. ^* G" I8 R$ B
这里我们简单的介绍下,如何重建输入表) `3 d' ~% b' ^6 X( d) p4 B4 ?
% N# e" J4 C* t首先吧文件拖入od,打开inportrec1.6& v( K7 y! ]& x. u
# [3 w2 V3 n/ X" i如图 选择拖入od的程序,. b9 C# ^5 ~* R2 Q

, S6 I* Q; ]5 w( D5 j0 y
7 ~0 U" T8 r; f8 \* ^+ j这个时候,我们打开loaderpe,! ]' n, O r& K3 @: M% Z
; v& [3 \$ ^+ ]$ j- i, g4 G6 ?+ D拖入我们的木马! D2 i4 t. f0 b$ P
7 d' w6 n/ o& [; p/ L
选择目录,* b% `: I/ n- Y6 e) ?+ S$ p
% ~* k: Q- o6 p; g M我们看到导入表这里。。。
' ^* R q& V( F6 ]9 j7 W) y- w; f2 g. A/ C. K2 s, \
如图:
$ _( ?$ \ Z- i2 _; _
. Y: Y6 i, u, n" J+ Z4 |3 l2 B
/ a! A, Z( d. X9 ~ n! ZRVA地址是0001D000 大小是0000154C
% [. `6 m* T# ^6 X0 z3 T
4 H; L- b2 h" ?+ T9 l. b- O2 { x' _好的,我们把这两个输入到import1.6里去5 `& M. H. Q( ^4 X# O6 Q) ], J, s& L2 A
. q0 F: e3 o8 _- u就是在“加载树文件”那上面一点
6 r. u7 f2 ]. ] y
, T6 B2 e& A' x/ O- d8 U% I& K/ d输入RVA的地址和大小。
0 ]" n, J; Z8 i+ W5 f" }
/ q4 u" z% Z1 @, o点击“获得输入表”
, \& V+ r; |- K6 U9 X/ s' J( Z
+ R9 t, K& E8 C3 M. ]然后点击“显示无效的”4 ?& D2 n: o6 A
. ]1 Y; ?/ z( `8 J* @8 K接着importrec会自动列出1 p( H6 y( J+ C7 G {! f
% f+ N: Y; C+ W/ \4 v8 h
我们把深蓝色的字体 右键 剪切无效的指针
0 h0 s+ f" @1 b3 f2 y$ H0 g' ?
: Y M+ @( x9 a) I/ S0 V
" T7 Y. f# W8 [/ M3 Z) o最后,我们点“修理dump”- I2 ~# l4 |) R5 V F' s$ ?, [1 S
+ {4 \9 W) _$ ~选中我们的木马就可以了8 }) ?/ Q# x2 k: X; x
/ |; c f3 D, k最后我们要用到c32asm
( ^0 L7 m& R4 G7 u, @: M; b# y$ }
7 k/ Y$ L: ^! E" u我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
. J* H3 Q: ^! d. I% ?9 A3 m
- a3 ?$ o! C9 y: i这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
% X8 G: W+ b# K; y2 Y$ K: L/ X3 A& h* T9 J& `2 O
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,6 T7 y* F7 f* y9 Q, O& J) r
) }2 `& n" E! n3 o( O我们把马子拖入od的以后,打开了importrec1.6
3 u5 s; J; T# S$ l6 M5 H% V
6 Q( E3 y$ X$ ]% c9 H在选项那里,选择根据序数建造输入表和创建新的IAT7 E/ X8 `/ e: \* S$ O
$ M' o/ J$ l0 r) l! {0 |
如图9 r$ p8 d, U4 q$ k5 w! \! h

8 A/ v |. {4 |9 d+ U/ l; s$ K0 h" W' a$ u) w
3 k O+ W2 e0 d, E以后的步骤照上面的方法继续就可以了
r) ~8 j3 P7 t. f
. S: e1 k3 W: u c! Q- s+ q$ R不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了; ^* H3 Z, ^+ M4 F8 Y$ R
6 a% o* f- Z3 j( g) `7 O/ q因为kernel32.dll的大小不一样。
/ F \$ I3 D! x$ G; d2 O4 r2 B* F' K* `- W% v; z" Q. o: b
3.修改originalfirstthunk* i8 @ ]# |9 `5 K, B+ ^. a* M
/ _9 l+ D' D \. g9 ?: ^1 t+ H' j W w
如图所示
+ L8 V6 c! W1 H p% f4 X9 T: H( K * R$ i1 c0 K5 I# ~
7 i& c E# _' w" r我们打开loaderpe,依次点 目录--导入表(后面那个横线)
4 {& a0 b- v2 J2 L6 x
0 `( s% y8 M, |% W. O0 |( S我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
% y6 }. E$ }/ `" M. b! R0 s; C4 O+ e2 t5 G7 g4 n- W6 R6 B2 I
我们右键--编辑--把函数后两个00修改为FF
* i3 Z5 a' u' u3 R! ]. ?9 H5 E8 z
1 @3 b4 D" K. }4 R2 Y) l这样可以过小红伞查杀。 虽然会出现错误提示! X9 j& t9 C# f M: `+ E
! s$ e2 Y b, H3 e' u
但是不影响木马的功能,不影响上线。' G) ?! A- H8 ], l! e* T
' h( n5 e0 v! Y2 k4.dll后面加20 90法过卡巴查杀 X5 w o* m. b. I% v% S
6 F4 X" W. }7 f6 d/ c1 N需要的只是一个c32asm而已,非常简单但却非常有效
7 E/ m$ [3 J% g4 k! v
& u7 T* F+ g8 ?- d8 T x如图
5 L$ i9 F/ F/ [/ @/ d0 D% O0 ]0 H5 U5 u, O: i

0 R" p& a5 S) i) _2 O# ]
9 b6 e7 i1 ~) |/ x6 \" u我们可以看到,
/ X+ |1 ^# p T
* g1 ^3 W1 ]% s( y! m在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
9 x' P" V1 L0 \0 s" X5 ~
; `/ e6 n- j! D3 C# B$ q W; n这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
2 b; d' l# h5 [9 a/ c7 b/ S1 w9 f: I4 D2 d6 ~6 R8 \3 h6 c
我们只需要在他的所属dll后面加个20 90就可以了
- c; U8 P0 ?* r3 g+ N( x4 i1 {+ j
! j7 i. ~' H) t( `! s卡巴目前还不查杀此免杀方法7 k- |& \9 S l* M+ b, g
+ c7 {& {9 M) j! i6 U+ v* _2 m+ b) y8 Z5 L8 s
唧唧歪歪这么多,打字有点累了9 P' J0 J6 e8 L- W% P. a8 R
3 F* b( x. j' i9 N4 N以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。3 b# L4 T# d- i; @) g7 N- Q3 B
+ r% T* Z& B$ h; ]" I5 I# I# |[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|