  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,: V/ K9 S: ]# n9 x9 Q; Q6 P
5 K" @" L$ A3 b1 l% a
特拿来分享给大家。
6 C" j. k7 z/ X& r& M# |( B+ l6 z+ c5 f5 k, l8 s7 o3 o
今天我们不提我们国产的那些杀软,真的垃圾的要死,& G- G9 |# O- }. z2 S8 ]% R
9 j7 M2 e8 ^1 u
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表4 w; o$ `) S$ \% K% @% N( h k
) \( c3 R7 y* X/ b8 P
我简单的重建了输入表就把瑞星搞定了,7 [) j5 E T- g
* v P( g+ d8 e) P/ K4 X6 o失去信心了。我曰
0 V: @+ a% e6 h6 w, K2 m) s, B6 m0 s" k: J, K) K3 J& B4 `4 D
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
2 d5 D3 U8 x6 T& Y# P0 Q p0 d9 U8 w0 L# C0 v9 [+ s
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。; k+ C J1 |7 _8 H N! b' k
3 \0 U, r/ N6 ~, i外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
# _* `+ [+ E& A: C2 I3 k n) i) Q! ]
! n1 R/ y, R7 I9 _+ w高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低8 B' [0 g! Y1 a$ V) d; U
% H- A6 m2 v* K! \' `( n过了以后再调到最高,再做免杀。9 v) B" P M4 |2 u6 m
7 S4 o- L8 v( ]0 x5 ?) N1 |以上是废话,8 I b$ b# \( z
$ E! ^4 _7 _/ x N) f+ U9 `5 D% ]' d
好了,下面我们来说下常见的免杀输入表方法。; r4 O( V7 ~& X2 s
/ Z! H: l3 P! u一。移位法4 Q d4 |2 d) J1 m3 T
5 X+ G& Y* E# X( m, l q这个已经过时了,我们的国产杀软及时的跟上了时代,2 P0 f, M3 Y' d
8 ?, A5 }9 i- l' K3 H( Z- b移位法在去年过金山和瑞星,还有江民都是可以过的,
) `) |) `2 S3 i% @6 }1 s0 j2 k! w/ z" P& z, L* r2 U
现在的杀软智能化了,移位么?呵呵 ,追杀你。) |) B/ N/ r# e0 c7 R5 V- }, C# Y
3 j6 J$ S! r5 x$ Y
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。7 j @# J0 ?9 D5 G
8 Z, f7 g" K* t! k5 j1 b
二,重建输入表3 t9 g+ H' G7 A. S* J3 J6 \2 Y
9 |( E& \3 \: B X$ i
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
0 z7 Y# @% _1 P' m" G; r, o! S( G! ]4 N S
这里我介绍下,
* o. l6 u; c. Q: N/ b
% x5 J- l# X+ ^/ S2 B ^用到工具:3 {2 s2 M, t# t- d
importrec1.67 o5 ~' U+ v: C0 y/ D8 S
od
3 E. H- [7 x2 o5 nc32asm
% x0 {& f% I) ^& ^, Uloaderpe) {2 U, y: S, R. ]% ^: @( g
这里我们简单的介绍下,如何重建输入表; M& w: n8 H4 o$ U$ r
n" U4 T. f! q% ]2 k首先吧文件拖入od,打开inportrec1.6% d/ b: {1 H: S% o
: v2 [& z' O3 e( a) s
如图 选择拖入od的程序,& r* { W6 B5 R, i3 s

9 w; [8 T. d( W* @' C* z
" {/ N5 T- T: h( E6 \' [4 s这个时候,我们打开loaderpe,
! d; @9 ]* [1 m9 p9 N/ @( R8 a1 w W2 x' p$ f Q8 B% ~
拖入我们的木马
) d# G3 s! ]) n9 [# M, N1 P4 D* |/ m& z
4 p% @3 F" ]8 v: {4 l选择目录,7 V- s4 ]. q* _; J( \# B6 c a
' x+ k. Q4 Z6 T我们看到导入表这里。。。
% I* y2 h l, U3 G: `; f
" e1 Q3 v( c9 N7 H. \如图:
% \8 _! ~" q7 j " t4 P# ?( w& |; S4 n
2 C# W3 }; Q% }1 s7 D- D# b* ZRVA地址是0001D000 大小是0000154C
/ C# \- F C9 o* c) K* n% _6 s# r$ p- s2 x9 s. S; F
好的,我们把这两个输入到import1.6里去* a7 r9 ~& x* {4 s+ a0 d" S1 L5 X
% W) L4 r9 S0 N' u$ O就是在“加载树文件”那上面一点
+ E K( o2 I5 v9 Q# h9 C1 S7 [1 r; ]. w- x
输入RVA的地址和大小。
: ?2 u8 B! `, ~/ N( Q! N* `) i% }+ M' [7 E* d+ @
点击“获得输入表”
; `8 A6 y' i# G+ q- S1 i( t1 E& j
4 z( L9 O" O8 P' w |: K/ t* l然后点击“显示无效的”
/ c" K$ C0 ~3 L# I7 }. e
# C v; P3 g0 O% |2 z接着importrec会自动列出
; w4 o# B1 j$ ~, ?, J- f) A% W
# S6 A( k' _8 o" ?+ H6 e我们把深蓝色的字体 右键 剪切无效的指针
) R+ L1 X2 ?. A* P& C _
, C. l3 [) ~) q7 t; ^& s" `$ e
. e! @, l- M) ] c最后,我们点“修理dump”' U* U; t! e* Y+ Z( |/ p% R" ~. \
" }( t! ^' n- Q" Q0 ?- t+ C n, Q选中我们的木马就可以了& Y& \6 i4 g: n7 J
5 X' @7 ` [2 [0 x( v$ o/ L
最后我们要用到c32asm
& _* P# G7 d# Q$ H# U" C
- }! {) M) z/ U: w9 V$ C我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。8 j1 _- E1 S! n& t4 D! l
8 n$ b1 b$ P& }: L8 g
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
; {" ^+ N/ c& [2 X9 g
" X' i* ^1 g( n' \- ?这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,2 r: R/ A$ }( v' _% k
3 n7 z- u- y# p5 Y/ b, \" I% K3 [8 o; C我们把马子拖入od的以后,打开了importrec1.6) F" {1 H% @* E/ O: J* d) X$ h
+ c7 F4 W3 M. F7 G" I, N
在选项那里,选择根据序数建造输入表和创建新的IAT' [* A7 j' r8 F6 g$ F8 L
3 g# Y/ L( ?& d5 s9 `
如图/ E9 X/ X6 r2 g2 I7 t' z
# L. W1 T; r0 M/ r
) T" x6 Z2 r* Y3 o! K以后的步骤照上面的方法继续就可以了
, O- x1 h) L! ^5 j# k
! p. H- s2 |4 J( t不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了9 E0 G) @: f& E0 J: d8 k
/ j+ `, X- C; `+ x
因为kernel32.dll的大小不一样。
, x( V7 C a w: M9 k
% Y1 p+ x8 ~5 h+ ?3.修改originalfirstthunk
. h' Z! x; \+ e9 R: J9 H/ y' i$ H' L, W% x
如图所示' p! S9 {7 S0 E2 i) J* k6 t/ f: H

! u6 G+ I( ?7 b/ k6 E0 J2 X8 I' Q% l/ E
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
0 S; f# O# H% s" u8 k( H1 }" [; q a$ ~- q7 X% v
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll& ]. z z- h9 Q$ g7 S8 u3 ^
0 O7 V' \1 o1 h7 S& {/ }
我们右键--编辑--把函数后两个00修改为FF
8 I6 W" {8 y; v, m- u$ a' y3 u% S. p, `) `$ M9 E$ I+ \9 } s L
这样可以过小红伞查杀。 虽然会出现错误提示$ V1 [; N/ G7 {/ _
6 h; k b+ S @+ g但是不影响木马的功能,不影响上线。" O3 P- L/ [, t. z3 O* {
% M5 u/ _1 `) c0 q. M3 _; n, G4.dll后面加20 90法过卡巴查杀& c" @, g! A) {7 n2 f' g
; l( V4 Q1 G0 K" `! l+ ^需要的只是一个c32asm而已,非常简单但却非常有效* Y# S+ k8 Y: L6 q
4 x# D3 W, }3 q7 K如图
2 W% U% O* G* x5 a! r: i5 S5 q5 E# x

7 _$ {( a1 h4 @8 u" L3 t/ v ^
* g3 x( U* W1 P我们可以看到,; }* i3 J% m: x
; r! m5 f& {6 [+ S% {在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
& L2 V7 x* G0 G2 t6 X" y. ^( j0 i A; T/ k5 i. m
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection& k/ y9 p* h9 B' Y( ?8 j# j* }
% y7 d- {9 r0 N我们只需要在他的所属dll后面加个20 90就可以了* h# |# `4 B8 Q
& ?% H# x0 @: L9 X$ @' [
卡巴目前还不查杀此免杀方法
, D3 T& j+ l! w! Z
5 Q& ?/ u% H) O& [) X" l
& U! D0 _* @/ ~) U) y4 Z, F+ f唧唧歪歪这么多,打字有点累了7 F5 }, l: n; T( S
) f5 Q3 Z P% ~1 R8 B; ?. b
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
: v% e; y8 S% D+ F7 }( x4 @# Z
( z( c4 W; m# P: ][ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|