  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,4 S5 N k* J7 e+ D; U2 T
$ {" z9 ^" {7 T
特拿来分享给大家。$ w8 O3 l3 N; _' v5 f: m
+ O% E3 U' R3 y# Q今天我们不提我们国产的那些杀软,真的垃圾的要死,
9 l: b+ \0 ?0 i5 K6 C9 j
& O9 [7 z. p1 y2 [上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表9 H4 N/ _% ~6 N+ i8 N- B
( S# g: N1 b: U# F5 W1 {# k/ V' e我简单的重建了输入表就把瑞星搞定了,
/ i4 a. y# b' |2 A& X( p2 Y X1 e6 F- Q) g# q; X( ^ C
失去信心了。我曰; F0 ~: q+ O6 I: m
1 N! [ S$ ]3 N: \7 D( B今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
! r0 |9 y; h+ b2 m7 F: \+ Z/ d/ ~
$ K& W7 ]3 L8 j" V7 v) w1 F9 u首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
: j( M5 L4 k. o( n
, j2 k4 B N5 Q& A: {3 \ L5 L外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。, J G3 @, m( r* J0 o* u
, @3 c8 P0 A1 F) H9 {5 r
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
& O; ^0 U3 U; H
% A& x* I! r. }4 d4 ?4 d: q% @8 A过了以后再调到最高,再做免杀。
& f1 b1 F" Q& f/ \% I8 z& a8 L. g9 D1 z) b" O+ k1 D1 z
以上是废话,
' E% D+ l. {5 [" A9 J/ L
% w w; c% Z) ]# ?好了,下面我们来说下常见的免杀输入表方法。! E6 ^7 X. u) |' Q8 T. h; _
c7 `! S7 t! y5 [一。移位法
4 v( a" d! D! |5 p6 F* x% s+ y, u
1 T1 X5 L0 f$ ~ [! k* n这个已经过时了,我们的国产杀软及时的跟上了时代,
0 l& x# q+ X$ ?7 E7 C: M0 \% T% f5 Q2 H4 X
移位法在去年过金山和瑞星,还有江民都是可以过的,
# i& _8 q m0 V4 @8 a% P z
% _4 L2 L- O" w2 h9 W现在的杀软智能化了,移位么?呵呵 ,追杀你。
* R* V& K( X& g+ F) n+ c2 v8 v6 s& n( ^3 o0 H- E
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
0 K2 ^. `& J. r0 p4 F) @3 \$ f
2 t [$ O c+ M% ~二,重建输入表8 R1 A: X! p. J& ~
2 E7 j* u5 @( d! h n效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
+ S& a0 `6 p5 m( o" O9 Z% T
1 _ F0 C( S2 d s这里我介绍下,+ ]/ D1 H% V) ~- @
8 [, Z) f9 B, m* |& i
用到工具:3 a2 r- k5 [3 G' l7 V0 B/ N6 A
importrec1.6; f! K- H- {& c) k( ?$ e
od
: {; ^% h y2 m: I% I( Z8 vc32asm8 j4 R# }$ I! B
loaderpe
# [" ?1 w% b7 Z# g) d6 p这里我们简单的介绍下,如何重建输入表
' R* E/ Z& X% h- p5 m* ?5 E" v* `: e) c0 g9 T
首先吧文件拖入od,打开inportrec1.6* @2 X) p; y: y f5 E+ ]
' _# A* i# e6 f& _! n" Z& h; I8 W
如图 选择拖入od的程序,
7 P9 j* |8 e' D) f% _3 E / k: F$ b" \4 D5 d
7 j) V8 y; A8 t5 @
这个时候,我们打开loaderpe,# r- D$ D! l4 s
* g% ?$ S: \, V6 ]0 t* H6 k
拖入我们的木马
1 z) { @: o3 }* a6 J* [; t
: y- ?# p% d, F6 x% c1 S选择目录,
9 m8 n' d/ k: _$ s% F- |! g2 @+ o& m/ v% l6 G
我们看到导入表这里。。。* N6 D" Y2 v6 y! E) j. T6 w8 U
7 M6 x! V2 S4 V0 Z4 _& r2 ?如图:# v. }) f! G. n& K4 A

0 D; K t+ H: _6 y: [, O! S- T1 u, j7 d1 Q) R5 d
RVA地址是0001D000 大小是0000154C
) t% W( A" _* f7 N- A
& S' s1 ?& t0 s/ ~" G0 I好的,我们把这两个输入到import1.6里去
. F- z; v$ T: \. }" V
" t- q$ A y W# V4 ? w5 J6 T. \就是在“加载树文件”那上面一点
# i( q8 t7 j0 j% b
0 Q% N; Y u A* P输入RVA的地址和大小。
4 a# {. l/ y4 i7 G- L
. I: X; y/ [7 b, ^- x/ h% A$ B8 l1 x点击“获得输入表”9 X, H! h: p, {; z- n4 B& S x+ R+ b
& X+ c4 c8 r, b$ x# f/ @" Z然后点击“显示无效的”) U5 h1 b5 U) Y0 c
; ?9 |' o* I$ _: W0 |7 C
接着importrec会自动列出1 k% A {7 l$ `7 a1 H/ a
, I( ^ i2 y6 I0 u
我们把深蓝色的字体 右键 剪切无效的指针
5 k8 O9 I2 Z2 s/ _0 I3 v# Q, C3 Z" d1 C% c7 I/ b* a7 c
# B2 P; j* F7 z9 F. g V6 o
最后,我们点“修理dump”
' }: M7 h* d! M- r. l, @" [' r
/ V& s. g, F7 u) w选中我们的木马就可以了
% }: E! l- V+ x$ C2 t* U. Q6 U/ V! h6 ?- L
最后我们要用到c32asm; c' |# K4 G% t% g+ l$ J& \5 o
( O# G, u0 H+ ^5 F/ A z. P6 h% e我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
* B/ e- z8 B. w/ I: X
9 v( z; Z, m; F' V3 G Q ~: e- }- s这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
5 s7 b. b. y! b* x r' Z* u9 i* @7 g( O
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,5 f& Y/ A# o- Q& |3 @+ Y4 n5 i' s
3 S. v5 s% Q1 G7 y; D1 J& r9 v1 y
我们把马子拖入od的以后,打开了importrec1.6
8 v6 J/ I. W. o
6 t! ^" Z+ _( j" P1 S在选项那里,选择根据序数建造输入表和创建新的IAT& ]' v. Q" F" g0 h8 X ~
" N8 q% c6 _! |
如图. L2 w. k9 z1 G
% y6 |/ l0 u7 E( a, ^- p/ B
, T; t) E8 e; x# t& |2 M以后的步骤照上面的方法继续就可以了
! q! U u$ m1 ?' e+ |/ l# ?: X ?' \& H" t/ |. J; V& ~
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
& t; c5 S" h* l7 y
" D& ^8 r9 b' U& |- b因为kernel32.dll的大小不一样。; Q' z, {4 ?8 O: V
: t: E% Z3 R$ ?3.修改originalfirstthunk. v- H: j/ P) y. G# I% k. J- x
' {% n2 \: h" m/ c+ D# t0 n, c
如图所示
, b% o0 q( ^) V , p) ^, ~7 m; f: G/ w, v2 k. ?3 Y; i
B+ b! Y* m" m+ S( b- S4 m! M6 s0 \
我们打开loaderpe,依次点 目录--导入表(后面那个横线)1 @# W7 c- g/ N( p7 A
6 b% f: e& o0 O2 G. M
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
& ~5 e$ m' }1 p7 q5 i8 j. \$ m K* x; e3 X1 Z& ?9 `0 F5 v F( Z
我们右键--编辑--把函数后两个00修改为FF
( ?# U% P& Q$ ^+ l# T: t4 o# Y3 e
4 b& S/ M, C& x4 g* U4 c这样可以过小红伞查杀。 虽然会出现错误提示
3 s8 X9 ~0 E3 Z1 V* Q8 v# Q* g( Q/ p6 S" b% a! O1 ~$ ?
但是不影响木马的功能,不影响上线。
5 @! z5 b. ]! e& X; J
8 i: ^3 k+ `0 D* H; ]$ {4.dll后面加20 90法过卡巴查杀' g# W3 X$ Z& k2 c" p; d1 m
+ U% Y s" d' q& s
需要的只是一个c32asm而已,非常简单但却非常有效4 `8 U! W% B- B" s S
7 L! ^7 v3 w# ?
如图! |* g* O7 e- C; }
; O5 G) q, d5 T% i( V

; u6 p6 D( u6 {8 G6 R( b i
) s. b" Z! h: I8 v1 R我们可以看到,- N( O3 g7 S8 s
# E Q0 s% w9 U$ a
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
" f; E* Z) b/ A% [' a- ~$ H8 O M5 ]+ U( X5 m
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
+ `. x3 ] Y' `* G+ `; H X0 R
+ h8 W. p2 x: Z. m- Q8 K3 \; b我们只需要在他的所属dll后面加个20 90就可以了4 b" X9 j( G/ D
$ }1 z# z$ P$ h+ q
卡巴目前还不查杀此免杀方法
4 H/ L' x S" `, b/ n5 G4 J: h/ Z/ j
# Q+ W8 T$ b! T- d5 ~: P. X* ?7 Q
唧唧歪歪这么多,打字有点累了
4 R8 x% Y8 x6 {# {( o: C
`$ K( r0 l% P) U% B. M以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
, N" ~# C' Q' Y" E4 E x" O* v: z" f0 _7 N
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|