|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,+ K; Q+ u. \, m9 P3 b
) [; e# ^- t- N K! w" Q特拿来分享给大家。
7 d8 Q' n- T5 z! Q* I& O
5 L# J* g* V/ \今天我们不提我们国产的那些杀软,真的垃圾的要死,
/ H0 b, j e ^% ~5 G% h! S+ o! I/ t. _8 Z
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表: T) \* x$ T; P# {0 y" \: V% j
4 u8 Z4 E, S' u5 s3 N7 _
我简单的重建了输入表就把瑞星搞定了,
2 A% @+ r* {( B5 ]$ u$ ^
- b7 r- r$ Z+ H4 H+ t* ]失去信心了。我曰
# k, U5 F8 r9 ?7 f8 E! T1 |+ o2 l) K7 x- S8 Z# Q% r- A6 b7 q
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。9 E$ w! K2 c& j& W, P
3 }9 t H9 g$ X/ R首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。4 j" e) h' _3 Y4 ~" H
; h& ?% E# e$ s C. ]# \外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
. Y9 w0 m" k' m0 F8 F2 \7 w# ?2 ~+ B. K9 X" ?4 @
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
' ?- O9 {$ E( Y( l: V
" G" N) |4 I2 _ \过了以后再调到最高,再做免杀。
* C1 f% o& l3 g- p
/ d% ^8 j2 V$ e1 L6 R以上是废话,+ w0 P$ n& }/ x* F, [# [
! ]. `1 E; s# ]5 k% l5 r/ J1 O7 Q& _好了,下面我们来说下常见的免杀输入表方法。0 I: S& ?. j# d/ p6 `& M' e0 q
6 l+ a( B9 m+ F/ J, a$ f一。移位法
0 R" p8 `3 H- i7 F5 i- ~' k+ y. I8 K6 t$ t; v4 b# j1 `
这个已经过时了,我们的国产杀软及时的跟上了时代,- } b% i' s9 T+ g
& k5 O9 G2 w, b1 G0 W移位法在去年过金山和瑞星,还有江民都是可以过的,
6 T/ f; x) s7 l) `5 k" g0 R4 v5 N8 h* `8 y1 _) ?
现在的杀软智能化了,移位么?呵呵 ,追杀你。' F5 G8 x* s, l
& P6 [- [+ c$ z. s
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。' A+ c# l$ l0 l- t6 Q0 U3 D
. \; m& v4 }& ^- }4 @# @8 i二,重建输入表) ~+ W; x9 e) F3 O( F9 h& T
) ?2 X7 ?2 h2 L, \效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
$ g4 C1 [9 ]4 h) R. V0 I0 ?
$ H. n0 R; E6 F! h3 I1 v- h: _这里我介绍下,
1 f% ]* x4 S3 v- @% l6 Q8 e K7 L$ X/ _0 l. h2 G: u
用到工具:
6 _. @& A* a* f, G% Eimportrec1.6
V, f- v% O% Z$ pod0 j3 D! {7 S$ U% X7 P& k! E3 s
c32asm) Y T- C3 S6 j0 e6 d" J5 O
loaderpe" {1 ^# w, W* y ?
这里我们简单的介绍下,如何重建输入表
) f8 ]+ }8 Y" i1 J
% w6 \* v t1 U9 Z! i4 ~2 ^首先吧文件拖入od,打开inportrec1.6
% f3 r$ z: S/ g3 E4 ^/ `6 j5 @* k- O8 M9 W0 ], B
如图 选择拖入od的程序,
' q" N. ]. p% L$ P+ Z / f( u. u$ u0 Y, r5 p
, A1 n5 A( k! [4 E3 F这个时候,我们打开loaderpe,7 ^6 S9 ]" |" V1 B9 @
4 r$ n" s/ e- @5 g; z
拖入我们的木马+ e! ~0 o% r2 ^8 ~' z9 C
. B- @6 v8 H" @* x" x
选择目录,( O2 \! g' p4 y$ H, H
$ y) I$ W- |. W1 B# a* K我们看到导入表这里。。。
% {4 B D) ? N3 }) S) b7 ]$ J6 t+ u6 Z5 E6 K
如图:/ q2 O' b& @; v' m% b4 p% x
" I4 Q2 Z! q S
& [! {, y, V' L% ?9 E
RVA地址是0001D000 大小是0000154C
7 @: v2 k+ n7 X- {0 ]/ u
& ]( {0 t/ `1 N6 ~好的,我们把这两个输入到import1.6里去8 Y7 x8 a( N$ g4 [" n0 a7 t
$ S+ b- f9 `+ @/ k H+ H
就是在“加载树文件”那上面一点
! e! B q% y' x3 P
, s5 v# B3 ], g% r2 L. o5 F输入RVA的地址和大小。( A3 \3 X4 ]1 G- a8 R3 @: Y
" i) a7 {" U8 X5 Q$ L0 `点击“获得输入表”8 _7 m4 P6 Z+ b( _2 q6 t7 Q
n$ O$ j3 i! c" i然后点击“显示无效的”" B9 O1 @. v+ S, R9 Z5 a
7 C/ o9 F) Y, x% M* k& D! [接着importrec会自动列出1 N% G/ q @* U
; o7 X+ b9 W( a% W我们把深蓝色的字体 右键 剪切无效的指针) S; ?: G+ ]1 {7 Z, U
1 G* o6 h( p; Y p. V/ r
- N2 u3 D B0 d& q最后,我们点“修理dump”
+ W7 L& L0 T# n" z' Q4 v8 H/ x9 c- d3 D* w- N% U
选中我们的木马就可以了3 l% c. P# r1 p3 l
3 C4 G( Y9 }2 s: }
最后我们要用到c32asm1 i. f# e6 m/ \
% j7 `! T7 I7 o$ a我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
% @( L( X+ Q2 U, {$ H% v. m+ k0 d2 {' \+ R- q- u
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)7 C0 K( v" w q$ p
* p. K( D, A$ Z) W+ ^9 b
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
$ B# R1 a5 \1 I! T6 H
7 T+ i" C$ |, O! O! `) u1 B( j* `我们把马子拖入od的以后,打开了importrec1.6# S% H8 ^; V: C7 O' r% T
- m2 }) |- W3 x' a9 K. ?在选项那里,选择根据序数建造输入表和创建新的IAT1 q) Z+ b) |1 h6 O
9 D9 T9 ~) _% ?2 x0 {" z+ F0 A" \) E如图$ e* Y! N @' G7 J8 U
b `) x# b/ X/ |" Q; F ^
; D i% g- a# G
以后的步骤照上面的方法继续就可以了
5 x7 S$ \ Q! M0 r9 I6 m* h, ?. L2 R
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了8 O$ h& V9 {/ I9 o8 J2 A" m7 `
, Y9 g6 n5 m @因为kernel32.dll的大小不一样。* N4 f" i9 r+ e
5 B. T) e5 y) P, i. Y5 P
3.修改originalfirstthunk
8 l! n# v0 i$ N# L
$ v% j: _$ \3 Z) Q" _如图所示5 H3 h9 q9 I6 }" f
/ u' A& B4 n) N2 P
# R0 L) R. S1 N' s& e; [
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
+ ?; [+ m* D$ e B9 p0 G& x4 E% L
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll% |+ m, w3 J, i
# B+ @; a& f/ }; p) Q
我们右键--编辑--把函数后两个00修改为FF0 w5 T# n' R0 N& a
" t, K3 \, b7 d: ]- t这样可以过小红伞查杀。 虽然会出现错误提示
( p4 |# Q- C. Q: q
# f' z7 e3 ^. o# _9 ]& ~, _) Z: F但是不影响木马的功能,不影响上线。& I3 X/ a* s+ L' S6 M
& K7 s% J$ T% ~5 ]& ]% l3 M2 b
4.dll后面加20 90法过卡巴查杀
/ z- j( M$ `/ Z8 @ P6 D. y* m1 \ j, b
需要的只是一个c32asm而已,非常简单但却非常有效1 l! `( d- k8 G( s, c# J" p
4 n: g7 P; f2 w, K如图
+ x3 V* |& @; E% `( `% Q! p s
- U' ?' X# v2 D& |5 R6 f . D( w1 W" E. v6 S; U
) ^; }( D$ z Y; x9 z% C8 E0 f我们可以看到,
2 P6 m8 j" ^0 A+ A5 A. [' A! B: V1 O8 n! |. g& L* _, t1 q
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90- {; ?0 v0 P# ^7 ]- \: g
+ M% [3 }' l& ], e6 z. z
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
9 ]6 d& x# F' Q/ ^1 U8 J8 f" w
$ R* R9 u$ c2 R7 [我们只需要在他的所属dll后面加个20 90就可以了9 J$ c0 w6 d& `
. h1 ~2 g; T* a3 O$ P' c8 j
卡巴目前还不查杀此免杀方法/ e( Y' A% r8 F% l+ L
+ L/ x3 k6 P D, N) d" F' f
& q( ~! d" c/ e+ _
唧唧歪歪这么多,打字有点累了
" S! C Y9 F8 B5 Q# P& ~% S: r4 x. m( w
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
0 y3 @$ x$ }1 |1 A4 u4 i4 ?* K5 V. d3 Y# d# C
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|