  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
, W- a( u- f' E3 y" g f
2 E# i; V' S/ K8 [9 N' Y! n- R特拿来分享给大家。
5 w/ n" V1 B# w8 w. X/ U3 p) u( T$ Y) p( q8 p) o
今天我们不提我们国产的那些杀软,真的垃圾的要死,8 h& M( o( p$ l. S4 C9 F
. Y7 H: x, R$ m* n1 M" L/ {. m A
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表- ]# _" A8 P/ ]& L# g+ B, F
2 v# B) ~) Y7 V7 U C
我简单的重建了输入表就把瑞星搞定了,; K& j& M2 L" b# C/ @2 G
+ O- U+ W, c1 b7 D/ @失去信心了。我曰9 z7 z7 E( h8 F5 [% x
8 \( r$ d! b7 @, M( H今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
0 N x& d# ^, H/ ^. g
# H3 H0 R8 o6 B8 n& V( e9 B& F; X: B( G首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。7 b! Z' }4 W& \
& ~0 @5 {- ?4 H. p; F
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
8 A( L* r! H8 C0 I# t1 x. k- j
7 G5 e) f0 ?* `高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低. y) y, q+ T) f3 o+ s, W) L
, ^6 P3 A! C" F$ P- j, f$ _" j7 D过了以后再调到最高,再做免杀。
4 [, N1 C' ]# A- K0 A Y& b$ Z+ ?1 V$ Y
以上是废话,
2 q1 T0 }, H/ p( D- Z! ?6 B
. Q) G/ l+ k u& g' E; [好了,下面我们来说下常见的免杀输入表方法。
* Q4 k/ ~! U; v; }; l9 q' a0 z1 s# j/ N
一。移位法; D9 `" Q: E9 R$ `
4 j+ b. G5 ?: O/ k" {
这个已经过时了,我们的国产杀软及时的跟上了时代,4 W4 g8 V' D. _1 } q+ X- @& _
. `5 u9 T6 l$ n! U
移位法在去年过金山和瑞星,还有江民都是可以过的,+ ?0 a* v; ~) P, Q+ E& X$ z) E
/ l* k& H7 z' l3 X2 h现在的杀软智能化了,移位么?呵呵 ,追杀你。
( z4 [# I o ]! ^
. [' f! K" f, u如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。; t: Y8 _6 t8 }$ p
3 n3 r; t- ?1 K+ K# V* j
二,重建输入表9 e5 |% z; `/ Y% H; C0 x0 a
! i* G- `; t( v
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
& A0 y1 m2 g0 a; G, x5 ~* x0 j" {9 l+ b& f9 f3 d4 l" b
这里我介绍下,
9 t8 x! S/ _- K2 l7 G/ Q
, J; J: w/ c# W4 g' Q1 b用到工具:
, Z- G$ l) v+ G* \* Iimportrec1.6
$ B/ q- D' `4 |- j6 j ~ Lod5 c, }" L6 W, {; Z, p( C- Q
c32asm
# R% F$ G; k. S/ gloaderpe# K: ]) h" J* l1 n. G
这里我们简单的介绍下,如何重建输入表
. d. C: O. ~: G1 g2 v+ Y: U& [$ e- S. U2 t( r
首先吧文件拖入od,打开inportrec1.6% i/ i- I ]) t! f; E, R
/ n* C% `9 p% D& b$ a9 X2 t如图 选择拖入od的程序,, `- t. i& N$ c' ~+ f+ g) l
, v4 M0 I, v" G. i% Y5 X
' G/ b( C U2 y- M4 m- B这个时候,我们打开loaderpe,) M w: x! b: X3 B( j0 V( ~
7 U* V/ s# V7 }, i N; z* g% N" h
拖入我们的木马
9 c+ s0 b8 V6 E( |( a9 Z3 k0 f8 S1 U+ R
选择目录,& d; a( k' N9 X6 H# Y
; o, v2 z4 p- _) L$ M. z# N- j8 n我们看到导入表这里。。。
2 B& K$ a' y$ ]) P: m6 J/ F, D' g; W4 L
如图:
/ F& @5 ]' Z1 h% h
: A5 S0 B0 s- v6 \5 i% h4 w" A% \* {2 r% ~
RVA地址是0001D000 大小是0000154C
/ A( m5 ~+ P4 R: m8 j- {+ h
! o( J ?( ]5 W- o好的,我们把这两个输入到import1.6里去; x( _$ o: \! R
* S/ E& S2 ~. x
就是在“加载树文件”那上面一点
, g( }* R) Z7 D) e8 y! a! o! y
输入RVA的地址和大小。
. P. D& r/ Z& q/ z; M, X+ V- D* C/ E# \/ ^0 a& M
点击“获得输入表”
# ~5 u- V. F2 j% h: a1 v
- g @. A7 q; X9 `* {1 m6 E然后点击“显示无效的”+ R) q) x1 J+ V! B
- ^/ ~9 u/ H4 Q4 ?% A; h. x, E接着importrec会自动列出1 l# D% Q9 t0 L. O; A
3 U4 k$ r. n( x Q' w! F* Z" i' f
我们把深蓝色的字体 右键 剪切无效的指针1 G3 j. C+ E: {9 n
- L% \6 `4 x" i k5 j' P3 d. ]' |
最后,我们点“修理dump”( b0 I5 ?0 X# I9 J# [- s* W0 F
+ |1 K% [3 w4 V* l
选中我们的木马就可以了
; W8 a: [6 Y1 M& o2 H9 w; j6 h1 J4 T4 @6 U0 r
最后我们要用到c32asm
8 w# d8 f/ k- \
6 e. g& S. q, T5 V8 X, K我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。$ G' \# l& d8 O7 ]1 `4 ~
9 r$ q% f: ^' o5 @$ @这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话) G5 s4 S# h/ ]& Y9 m" a* m
& z4 m5 c. p8 H/ K+ Y+ v这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
, E8 t0 n: H# o
& [7 F! S5 y5 q- j. [我们把马子拖入od的以后,打开了importrec1.65 g5 S0 ^+ _5 t c$ `% y0 `
: M& z& {8 b- h. M) Y
在选项那里,选择根据序数建造输入表和创建新的IAT; A3 c4 Z7 R8 n6 o
) P2 Q% n5 W- x( u5 w4 X如图
/ ]* e5 X E( V5 f, l; g
/ Z0 t/ b: z2 ^. Q1 j- j
" C$ X% Z' ~0 D+ l" w V" b D0 g' W以后的步骤照上面的方法继续就可以了1 w1 z6 z: F6 x; R3 H
8 M# G+ X( M4 t不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
4 f: }" F+ V% r. g" d3 c$ E# w: V c9 R7 N- A8 S8 q+ o. N V
因为kernel32.dll的大小不一样。
" v! N; {" b8 R5 P# Q* {- G+ ]& ^9 G; v. E ~. Z: s2 R+ ?
3.修改originalfirstthunk
8 M8 H' J; ~: \2 w& l9 ^# M1 g
- a0 ^. N- `- }) v; n' J如图所示
: E* e( @2 o0 P7 @' h4 v$ L ' w( L/ K( E4 }9 I# t1 l, a/ _
- l7 ?; Y/ X/ n7 {; ]; B我们打开loaderpe,依次点 目录--导入表(后面那个横线): H$ l9 u* J, O0 R& y
4 \3 ]& b+ n$ t- d+ i" A我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
/ t% J$ G' j# c2 [
* F/ a& j, v0 t我们右键--编辑--把函数后两个00修改为FF
0 ^0 h% c& I0 N
z) g5 _. t8 t( q6 B$ J' I这样可以过小红伞查杀。 虽然会出现错误提示9 U1 }- u9 C. C2 H+ k# b
' i: z! `; p* x z! m
但是不影响木马的功能,不影响上线。% q3 S% r- P j+ P
" s% T, K, L$ Q9 c! H8 c% k" X4.dll后面加20 90法过卡巴查杀
. J6 I7 F# i/ S/ ?# N7 M1 [
* v" b$ K5 k1 S# M需要的只是一个c32asm而已,非常简单但却非常有效" e3 w8 |& \' D( c
+ H. o: z+ V; J6 w ]& }% ?如图
& C4 h' N# p" n! ?" b
0 S% r2 E7 a1 L- h, v8 X+ s
. S- N5 A1 C( k% V" ^, \
% d2 s0 l$ f- X6 B, y6 @4 U9 ]" A我们可以看到,$ C9 F( Y2 t" h4 M \" o
; A) R# l7 n% h在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
5 C/ f n3 N4 P9 y
y. F' U; d* n" K k这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
4 k* M& h2 H8 b" R9 B7 L d9 x8 y" D
我们只需要在他的所属dll后面加个20 90就可以了
: P4 x: O( \+ b& \ j# e) F
6 ~% z& H$ I* `/ ^. ~, k卡巴目前还不查杀此免杀方法5 M) L) z9 ?* g# M, u
& j. X6 k8 V& O" `0 o
7 o: X# f- ~' N; {5 b* ^唧唧歪歪这么多,打字有点累了' C q- L2 {/ d! i d1 i$ |
9 {- {7 s2 k2 x: A& c/ U$ d以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
- ~- A! w5 U; `% K
D: m2 F5 B# Y8 d[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|