|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,, p4 \, W* k/ d) O( K
" g, x1 D# E% I g6 G5 U" X- v特拿来分享给大家。- }7 p2 p' [' [2 k6 B
5 C! A6 `/ l ^3 p: z" Y今天我们不提我们国产的那些杀软,真的垃圾的要死,
% \- E2 B- `% V9 N; s& s4 K
- o. V5 v5 |7 s- A上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
. {" q4 v6 Z1 F& S
* s% g% x' }* T8 }% u/ Z我简单的重建了输入表就把瑞星搞定了,
* @9 @( @5 _1 h2 I! h+ E, g
! [( A& D+ j! u5 B( g失去信心了。我曰* x/ n% o1 B" e
4 \- U" b- ?- ?6 h/ o今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
1 a4 o# }2 m& }' D# K$ @2 |" C9 A) M& w9 ?6 @: y
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。2 [# [8 W1 ~& q- \
3 I* `% S5 `7 S" e; h& C( p. y
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。) l5 [7 u S1 F* o2 S+ p( C
6 ^% X4 N& X5 g) l高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低4 G# q: m2 s( r+ l
! x; u8 H* b. P! F, a
过了以后再调到最高,再做免杀。2 g; e4 i' W! M& [; P
3 \4 X, c$ K/ X$ s以上是废话,
) Q' F$ U# n \! Y3 M8 ^1 x$ y1 l; u; V+ Q: o
好了,下面我们来说下常见的免杀输入表方法。
3 `. Y. C9 N4 w0 N6 v+ D$ |5 \9 a9 e7 M$ J/ g" }
一。移位法: d" L, u+ }& r( w! P# J
) G/ V1 \) L# t9 t2 _0 z1 F
这个已经过时了,我们的国产杀软及时的跟上了时代,: B9 M5 [- _. `3 i: B
1 S! N5 S6 x+ A" W! Y# j# w! G3 i移位法在去年过金山和瑞星,还有江民都是可以过的," w$ Q$ x0 w5 W ~; C$ P
- r7 J8 W- o( N8 f4 J3 s
现在的杀软智能化了,移位么?呵呵 ,追杀你。% {' G: K; |! w$ k
9 h. a, i; D- I% F* L/ T
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
+ G6 S, A; I/ B9 j" W9 `8 \2 z
- t0 s% f; d; p) V( y二,重建输入表( L9 l' Q$ Q9 q0 l
! N! @" m5 r; p3 R; F+ j
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈5 E# A, x0 m, Q: `! d: l
: t* H5 S$ t S
这里我介绍下,- o4 S/ E" g2 Z& v" P+ N: N
' D6 \$ Z" {1 S M* W
用到工具:7 w' w! w/ T1 L+ m4 N5 L; T1 i D$ i
importrec1.6- X8 J; U$ J2 j
od
8 D" N P* C2 q* ]c32asm* G( M" s8 [/ ~8 y9 h
loaderpe* i$ H# c$ ?+ c) p, @; `% d6 Z
这里我们简单的介绍下,如何重建输入表
, i3 ^" I3 W8 w# y, D0 x1 f9 J7 t3 U2 w: {
首先吧文件拖入od,打开inportrec1.6
) R2 ~( v8 \: ~! C1 X; ^) k6 \5 p" ^ P
如图 选择拖入od的程序,
; n4 ^$ l( l. r5 N" P$ U $ M* c$ S( s! J# E# e- ?4 _
o0 q' L# E# n! }) j这个时候,我们打开loaderpe,
, L+ m4 d. {1 u9 ?) p) [3 m, V" j" E! b/ Q
拖入我们的木马
2 }! {6 ?8 _9 H5 D% q; ?
0 \$ ~" I8 Y+ f' @# O. [选择目录, I: k+ _ f) J4 \* ?' [; E
7 _- b# v4 w3 X9 ]9 V3 {9 r
我们看到导入表这里。。。) a& m, S! _9 h# b+ t
" K s7 w: r/ {3 E6 E
如图:7 P8 {6 @; i( e( _7 L7 q6 E
( r' p$ h3 V6 ~( q
8 k9 k. X7 o2 f. e
RVA地址是0001D000 大小是0000154C; ?7 K* W& {: Q6 ?# O7 a( h
; U$ G" ~' i8 C) @; v- ]# B3 k好的,我们把这两个输入到import1.6里去# }1 s& y! Q$ S6 ?& o+ x
5 i4 S9 y# _. U3 q- S9 Y ^5 g' ?
就是在“加载树文件”那上面一点 $ a2 g* v L0 R w1 W( O
" {6 p- H- s0 e) s8 ]9 ]+ B0 S输入RVA的地址和大小。
$ p) c7 k: ~' Q0 L8 f7 o; }
. }& a7 u6 o( e* d2 i点击“获得输入表”' g* Q3 l3 o8 ?& u3 k
! \7 Z- b) V4 i; n5 F( Q4 i& p5 X然后点击“显示无效的”
6 W+ v, L0 a4 v8 d$ D3 f" x
5 E* R+ t g7 ~' c3 x$ }接着importrec会自动列出3 S! }2 E, X- o' \, w
2 U& T7 u6 M8 A' C; M+ p我们把深蓝色的字体 右键 剪切无效的指针
8 `5 E7 W% N7 r4 y. l
/ O# Q4 V! g! m1 d! F7 p; a" }3 G$ ~% _9 z, u$ m \ F
最后,我们点“修理dump”
! G( f) I3 {9 D4 K* K
2 C# Y5 r+ U) q9 Q$ T! q2 D/ K选中我们的木马就可以了# o" F, e! j8 |; y: [
5 [ l9 `1 ^2 E: | k3 @- E最后我们要用到c32asm H5 P' e4 b/ |' A+ Q S
1 [0 c7 [' N& V8 `, O1 k4 E我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。+ f3 w9 ]4 u% e, k+ R- ^4 U4 l1 @: z: Y1 |
) p5 N, X. s) O8 L& O$ x+ T, Y! P这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)/ R0 a' q3 x; O" p+ u* L
7 X, [; r, V/ g2 |这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,9 i8 l8 B2 z e! {4 `7 |% E9 U
6 o1 w0 A$ `+ A* A6 x我们把马子拖入od的以后,打开了importrec1.6: u( A" c2 q! Q& Y& _
2 _2 H4 G! p/ o( f9 X) ~1 _在选项那里,选择根据序数建造输入表和创建新的IAT
& b( M* I9 A; [. Q5 b. \% o. d- m' _$ _5 b) b; w" L2 W( A# ]
如图& e! C! s w+ a# n* g$ p

4 q# L2 }2 w0 T. p _9 S- G4 W$ v& w2 u& d. E
以后的步骤照上面的方法继续就可以了
$ e0 ^) q1 R+ Y9 U3 o4 j- O# q/ z1 y. c7 O' q
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
3 s# O U- j) Q& y
9 |" {& q/ X7 v' Z# t% M1 K9 z因为kernel32.dll的大小不一样。
8 a# ]& q# ?' y+ S
( b2 u2 o+ D9 Y2 z. H7 s3.修改originalfirstthunk
: f9 U1 ~1 R- e. D7 r0 X
/ ]3 e" d* X1 s" i* I6 p) q$ M ^如图所示
$ ]* C0 `6 A- p& K $ @! x1 |2 e6 Z
% s+ S; p! w- p7 Z; ~# {) ?
我们打开loaderpe,依次点 目录--导入表(后面那个横线)+ B: z* Z: ~, x. P
& a9 A" \5 B$ m2 B1 ?' Z. j
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
' _- D9 Z. g$ J5 e) Q$ X$ D+ s) B4 Q6 x. A* O, d
我们右键--编辑--把函数后两个00修改为FF
3 _; ?! N% K! y* |1 M/ ] u; Y, U3 t7 l# ? f
这样可以过小红伞查杀。 虽然会出现错误提示8 `1 n$ o0 W% | O# V; g
0 D$ b2 u# O$ {7 G5 D' u$ ~
但是不影响木马的功能,不影响上线。: f% `/ r$ e6 b4 E. T1 D
& p7 V0 L7 F. b7 V4 u
4.dll后面加20 90法过卡巴查杀
5 f/ b: z( Q; ~/ |2 w* W
0 H6 \- Q! p0 o5 N9 z9 C! g需要的只是一个c32asm而已,非常简单但却非常有效2 M L' ?# I( L$ E: B ^; A
7 o1 Q% I0 `8 h! ^
如图
3 E& F; f" V% e/ I# N$ [
5 _" u3 T0 p0 u+ D8 U ( o0 a1 {$ L1 S
% c& v, @5 X7 e# y' p: `' a$ b我们可以看到,
% g. P* x" x/ I8 l! p* H6 d0 m4 H5 f3 V' ~+ X& S# N6 ?# i
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 906 \" S4 {$ A" e7 {# U% }( w6 o
+ h4 B0 m; W5 H8 |5 B0 @) H; W这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection0 \& x& `" u& J7 z8 l, S
- u) k7 q7 c" p5 i, @2 Q
我们只需要在他的所属dll后面加个20 90就可以了5 P4 S* T, O& L3 |9 \! v
: y% e/ L7 h8 \ A2 m' k" d
卡巴目前还不查杀此免杀方法
! q/ Y( E( i" b* }% o
) m y7 o f; H0 @* @ q9 B; E" t8 D; n$ m9 g0 m
唧唧歪歪这么多,打字有点累了; b; e/ H; U b* R- F+ B
% C, e' f7 g+ d- ~
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。4 I2 {, C9 W# t6 ?. [. e
$ ?$ z- o) n( G
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|