- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
|
最近和一位木马免杀牛人交流,感觉新增进不少,
+ R d0 S; j6 t/ y3 g; G" M L; ?% a+ \0 C" {
特拿来分享给大家。
5 Y: o+ B9 K- m. Y$ f/ o( H: I
. S6 {" X$ b- u7 k8 r8 g今天我们不提我们国产的那些杀软,真的垃圾的要死,
$ N+ ^4 A. }( i! m: ?5 ~8 ^7 C V- K$ B8 k* X. K4 `8 |% e1 Y
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表, g6 j, s' Y7 m) B) h
! T' H# E. m' _4 @7 w7 e, H我简单的重建了输入表就把瑞星搞定了,* N0 [: X5 K, j' P( C' U( [
) n% J* t- J1 S+ I3 z
失去信心了。我曰
0 ^/ x7 ]. Q0 k# j: x
. u' V% g; j4 C6 T8 w今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。# Y* [4 ^$ A/ k& J# T2 a; Y
3 G) t. D% V {0 S
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
) `6 C; u9 d5 y! L5 i% e& _ Z& o, P" V0 i: L8 Y4 c1 g+ t' r
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。) Z& g7 L: r9 L6 T( J( q
2 _: K6 A J, S9 s, d. K高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低, ]' O N; ~* N1 T
3 U; h* Y" o* o# w2 _0 P9 |+ X" I2 X5 v过了以后再调到最高,再做免杀。0 A+ E& p2 a7 P- c7 S
1 p3 N% a8 @. z, b6 d3 E7 t以上是废话,' a, m3 F1 I: C8 k& F0 O0 g- N. K
: z1 x( f2 c: n9 E1 _# V6 L. P9 t, Z
好了,下面我们来说下常见的免杀输入表方法。7 e5 U# h: z0 {% Y# T( a0 h0 `; s
' C8 O6 @1 w8 l% C" i. C2 D一。移位法
5 V9 R5 i4 b; X$ {+ E2 [
! ]; I# s1 n# d) `( O+ z这个已经过时了,我们的国产杀软及时的跟上了时代,3 g7 E8 }6 W% q7 c* z, G. N% p
( z2 i5 \( P6 L4 G移位法在去年过金山和瑞星,还有江民都是可以过的,6 {% }1 _& [, e& B4 l& c
7 X! M' O- q% g5 q" B现在的杀软智能化了,移位么?呵呵 ,追杀你。# h( e% x8 A k7 ]2 _0 q
+ O2 x& A0 p+ [# \- X% g% ]% l6 E
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
' O4 q# \9 V5 f% F" c( S& f5 g4 s R- Z7 o$ Q: `
二,重建输入表6 s7 h j6 c' C& r
7 a7 J6 u2 Q+ S# ]7 D9 T效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈7 M$ m1 |, T& [, c) b0 n; c2 J& U
' g- f) r! X- ~/ E. S9 `6 [
这里我介绍下,
% Q3 H; g, |% G$ l" w8 A& Y( u2 D' H6 D$ y' Q0 J
用到工具: |* u0 N% q9 w
importrec1.6! k, _& h; t: ^6 V! Z' f$ e
od5 n+ `2 `' e8 U) m
c32asm) |$ S( m! [9 J7 q
loaderpe, q( ] n9 C7 p% e: u+ p
这里我们简单的介绍下,如何重建输入表6 r- O) Y1 P) e; B6 |0 z( P6 U
" ?! e/ \- X9 {$ T: V- j8 d$ N6 \首先吧文件拖入od,打开inportrec1.63 K5 K. T- f3 b- I0 k' D8 F
4 K. q" I& [7 O$ r如图 选择拖入od的程序,
8 m/ S9 y7 {1 U' S) k
2 q$ `' j2 p$ _# Q
# t) W5 t( g, Z$ C4 G这个时候,我们打开loaderpe,' a& _* L. q) U
- c" y. N3 U1 ^' t7 W7 {3 i& Q
拖入我们的木马4 ~5 `1 y m$ w6 X9 w
. a) q2 q: ]( t# w% K
选择目录,) P$ h2 ]+ f& y) x% y8 h% g
& V! k2 N4 D5 c2 k
我们看到导入表这里。。。 a# n9 c* l) @3 p# U" d
\9 u$ o+ D! R2 D5 V如图:
3 e( R7 X, O0 }9 p d( S, N2 u6 k) ~0 ~7 i
4 e4 s) Y1 O( T; c, O& {RVA地址是0001D000 大小是0000154C1 Z- ^) w" U4 [" v+ e
) |2 H) i: e! w! \5 s好的,我们把这两个输入到import1.6里去
, {. x8 X& N5 V$ D: `. A# ]
8 }+ Q% A4 l( Y5 p8 T: t& M+ `就是在“加载树文件”那上面一点 9 q8 f$ N5 z, D+ g
" ~+ h9 d- o% z u输入RVA的地址和大小。* D, Z/ B! n5 Y K+ ]
& j& x' M: y# a T( U! d* x
点击“获得输入表”8 o. W( S+ r" w1 o. f+ L- d
8 e) {7 t" ~! a( r6 { n9 I
然后点击“显示无效的” ?2 I. O9 j( q8 X
" X) J# Y3 l7 W) F }6 ]7 {* }接着importrec会自动列出
& r B h) m& D. i; u
4 f2 Z$ Q5 D* ^$ o3 ]/ }我们把深蓝色的字体 右键 剪切无效的指针
, w; m6 ^4 x! ~+ N A$ U9 a) z
& w" j9 {) m5 y最后,我们点“修理dump”
' m' M' k6 Z; l H5 ]) W( s: b7 [0 `6 @, v4 }0 m, n1 z
选中我们的木马就可以了
' }6 |# `, x* p+ M$ B4 }: @8 ^) }% a" }& ]1 y0 b. O& w
最后我们要用到c32asm
) P q' G# I& j' d+ Q$ s$ h3 n
/ n) ~ f5 [, P3 U1 n9 I4 q我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。! I6 h; t9 g7 d6 N5 i% g
0 L. q7 Y6 Y9 Q7 B7 @& w
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
9 A" I2 y" s5 q R4 D* U. ]. b6 U7 b f5 J: ~% l5 H+ v8 `
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
: d, P% }% u% }6 l% q1 _1 Y% F" L) H/ D; u2 e
我们把马子拖入od的以后,打开了importrec1.6
2 P6 K! l- Z! E5 ]5 ^
# Q1 e( M+ |& h, ]在选项那里,选择根据序数建造输入表和创建新的IAT: @" h8 [7 p: R: @; U4 c& I
' P4 x4 L9 l+ d' K如图
' P1 ?' _( y) x' x
7 X& ^0 u8 N1 y4 V" H( X( ]) J) e% ~; G4 D3 n9 }
以后的步骤照上面的方法继续就可以了: i% A% A4 v9 L$ b# t
" S0 x! \' y0 }' R# A) W
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
. y; g1 w8 }; u. C; w ^, m( j+ h- O% B# n( O9 }
因为kernel32.dll的大小不一样。- _# F) n/ j1 J) e2 s
1 ?1 s* a; O- W0 W1 h
3.修改originalfirstthunk
) a: ] ~; n% ~' X8 _6 l. n' }
/ b- C: [; i/ t如图所示7 z% F' C' Q8 D: i8 K4 z/ S( g
0 x% `1 Y9 ~/ t
9 i+ T! z% y2 E/ q我们打开loaderpe,依次点 目录--导入表(后面那个横线)0 c A+ d2 [$ |
1 g9 J { s4 ?
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll3 R$ `$ c9 [/ o, Z3 h4 x8 {& H; x2 l
; |: S$ N7 S- U" U: `7 k. y我们右键--编辑--把函数后两个00修改为FF: i: e7 Z+ [4 [( D2 K
+ r: X3 t! i7 `- Q) ?' Q9 O
这样可以过小红伞查杀。 虽然会出现错误提示) |# U$ O1 N4 @' j
: ?+ ~6 F- L' ]9 u: g
但是不影响木马的功能,不影响上线。+ |/ @5 Z" K: J$ W5 x Y
, _ [; |# A: Q, c
4.dll后面加20 90法过卡巴查杀
3 n" c6 _* k2 E* J
; S' v. x4 ^; Y* U p, K! P需要的只是一个c32asm而已,非常简单但却非常有效
, [7 s7 W1 a C# A3 C& n; Z3 J% {4 Q0 Y
* T/ z1 b1 K9 w- U如图# e/ u/ e. R# N! W, v# m: _7 t
5 Z6 L; A; C+ y( y2 C
0 ~8 p `% J0 x! K1 [0 B6 J
) W3 ~" y$ `, ?; C% }# ^
我们可以看到," X1 @& L2 e. a
4 d, g. O/ P; m5 y, m$ ~0 i0 L: F; ]
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
; D2 q3 g6 i/ H. U% Z4 @' s% p! L
1 c0 d6 f5 A7 M$ A6 U( G4 X这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
; i7 e$ X3 t6 b% s& c5 U: \7 F c+ ?; O( U5 i2 L& {% k6 U
我们只需要在他的所属dll后面加个20 90就可以了; z% I1 W; ]0 X/ {: b
, a ^& i& c. I9 L) J8 f% Y$ F7 |
卡巴目前还不查杀此免杀方法
; e4 a! N+ f2 P6 _" R+ J4 f0 m$ `/ e
# ]. P8 l" O8 H" k4 g# W M( e
唧唧歪歪这么多,打字有点累了
+ V( L8 f; K2 x+ }1 I7 ^' V& M
& x5 D7 [5 f x8 K7 W以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
" [: S+ l$ d7 D* o! h( Z, e/ ]
" b( p9 @/ ]- [1 B[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|