  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
, N- k9 U) @% K, j1 _ F( M, k% w4 t" o0 [
特拿来分享给大家。
0 ~& I1 }) d$ v+ U; n( v0 ]
9 v: j5 u% r% F7 }今天我们不提我们国产的那些杀软,真的垃圾的要死,: i1 v% j; O' _# \9 a( V
& ^6 ]2 L! ^" m( A( |5 F
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表. @* y' o# G& G; D; E* o T
% |# I3 q( c$ Z! `- u7 J: T
我简单的重建了输入表就把瑞星搞定了,9 o; g& Q- L- ~; d$ j, N5 u: k# {
$ e' V& R8 O# z7 L& p
失去信心了。我曰
' A- [+ X; y, ^1 t& b2 m2 |' v' n5 o' Q8 W7 U1 V" t+ U' o; z3 I
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
, J, V- Z4 t* m% M, p1 t& I u7 v1 W$ ~
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
$ X7 a7 T( n% _, ^8 y1 c: S% f+ R) n( r- x) h: e0 x
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
! e0 u. ?3 t& ?- l5 p! y0 g0 i
& v* |8 a, R; Z( d% y& H9 ~4 Q* r高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
3 ?: m: b8 v" h" f9 g- u* z. v6 l0 U. B
过了以后再调到最高,再做免杀。; P0 f9 {4 d/ {9 L3 d" \
. x. J, i6 N3 i8 }
以上是废话,
" [+ ?0 C* C- y( G2 B: S8 d/ U) I9 ?2 N7 t( U3 d R
好了,下面我们来说下常见的免杀输入表方法。- @) x2 P$ p* {, }) |9 [( `
! a, p- |6 i! s }0 E
一。移位法
. R$ X( p6 g" a% p( S. a# Z0 A1 w, A. c
3 Q4 Q! O8 O1 _* P* @5 y) y这个已经过时了,我们的国产杀软及时的跟上了时代,& s) x/ Q3 E9 t) _9 G
N. F8 J* W' ?# R1 d
移位法在去年过金山和瑞星,还有江民都是可以过的,! p. v+ j! n' b5 _
( g$ j: v# h0 w! M
现在的杀软智能化了,移位么?呵呵 ,追杀你。
8 C4 s) C7 E6 _9 c% k5 ?+ U1 d7 f8 N% ]" Q8 g3 {
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
3 y! |0 _, R* n7 N$ F6 a5 L! X3 @
6 U$ v1 K( M4 W4 r( n: g二,重建输入表* \4 E! f) F4 g [7 v; J2 Y
3 |3 w) ]* Z1 z6 Z4 \! z, j# T效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
5 Q. a+ K" H) B1 }- ?! p( |1 X' O( C7 H
这里我介绍下,
' \% L* y r, i! |8 u- s
+ U; F; L9 c+ J, Z用到工具:7 u: U& p) r6 b% _# u9 S& e( D
importrec1.6
" R, [$ i0 }1 p2 l2 eod
0 h5 o' j. `& {7 I) {8 Y7 l& Jc32asm% H V+ O1 K0 A2 f- @0 B7 `$ U& V8 x
loaderpe8 }' G+ G; t6 g1 J
这里我们简单的介绍下,如何重建输入表+ F7 f, A1 }/ D# x2 U0 L5 e
& S( Z5 Q2 k1 I: x# r" ?首先吧文件拖入od,打开inportrec1.6) H v% `- t( y' e! Z8 ?+ S* Y
) Q' L& G# @! m+ S
如图 选择拖入od的程序,
9 B/ i: `" J/ \9 x$ k+ O ? ( Y1 p: x. Q" L
" y" H% ]& [& b5 N
这个时候,我们打开loaderpe,, r$ U2 S) f7 R: i! B% k# a1 @
# M8 w- ]0 `& ^2 U& \( ]
拖入我们的木马7 ^% m& g% P7 e. _
, J4 P5 F6 x5 L选择目录,( r! b. c& O2 {9 W
. U: _0 v( D( W2 G我们看到导入表这里。。。
1 g$ Z! R4 D# X4 L, V' o! r3 ~
. Y S. ~( c, c. W) e# t' n如图:
+ Q' q4 R& F; b
8 F, C% v* u! h/ \* d: c% @
, A8 p u6 n, }RVA地址是0001D000 大小是0000154C
& _- L: ^% ~. _$ [( F* T1 }/ I, ^( u( O" c( \
好的,我们把这两个输入到import1.6里去
" g& I) J' S: `: m# w" @$ E2 U( {0 U
就是在“加载树文件”那上面一点
1 N/ x: C& r8 e* d' K+ S: _" b) a. p4 \: d4 O
输入RVA的地址和大小。
& V/ m# ~7 e U6 V) r
; S9 l. W$ X q/ n9 m点击“获得输入表” O- L0 W4 B2 T/ b7 b) p6 a" z7 g9 N
1 j& Y& { f' }' ?" z3 ~
然后点击“显示无效的”
% Y: y% T3 M6 l! ?
! q) x6 y+ R4 J% T3 c接着importrec会自动列出
: @8 F% G( H, o; X+ c& M
* Y( V7 [' A- v: X我们把深蓝色的字体 右键 剪切无效的指针" Y: B* \8 U9 ?6 C- D
1 p6 v+ K# P) ~6 R: B
, r. q" _" g+ R, A3 e5 n2 a最后,我们点“修理dump”
9 R9 c( C$ T& J5 [- }/ ~% `( A
{/ |3 H2 P; n' s选中我们的木马就可以了
# M- Y4 G9 u" D8 J; f0 e) I3 [: r
最后我们要用到c32asm {& n2 X& `. A1 a$ J) ^: l
. u9 t* F2 O! p$ y. s我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。8 h6 x+ u. l! T0 _$ I3 T) K6 }
' R2 u9 \0 m5 R' u2 e3 R: X
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)0 W% c# I7 e6 O; Y3 F6 U# ?/ r
) [9 i, s8 a# ]7 i
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
0 P0 ~4 K* ?$ L T
; P; A; \. C8 p9 [- c我们把马子拖入od的以后,打开了importrec1.6( K% X' N, j2 g! R J7 O
$ j. K9 C x, ^! e/ q
在选项那里,选择根据序数建造输入表和创建新的IAT
' [6 d- Y2 x1 @
. D( \4 w" Z% l! E如图
7 H5 u. L/ ` c8 `( M- T % R$ H3 P5 ?2 i6 }& ^
8 p: `2 V% @' {* H' R+ Q( L以后的步骤照上面的方法继续就可以了
, n7 E$ ?/ O, `2 n
: u8 e% a) X+ }+ h不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了0 D- R$ ]) v S' l) z6 x+ y- L# I
* } |& L: ~- i# a) W7 [/ J
因为kernel32.dll的大小不一样。
5 L& i1 Z8 p. y& Z7 W: O% v2 C. s# H
3.修改originalfirstthunk
- h y+ q/ K* ^: t* ~& H# x k6 D5 c6 d- `) Z( C2 z
如图所示+ I U) ~# w0 t& Q5 Y: W

1 M# ^- A( s' p+ |: Y
) y0 c0 {$ b! E4 l# @1 z我们打开loaderpe,依次点 目录--导入表(后面那个横线)
2 v6 _, I( N" |" W$ y* w) i! g0 B w. i+ a+ ~4 o4 m9 ` f; t
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll/ P, n' s$ i+ n+ i6 K5 @1 B" x1 L
3 Q9 X0 e) u$ _
我们右键--编辑--把函数后两个00修改为FF3 @+ f& \0 \ M7 D) B) U
9 ~# h- i4 c* u7 g这样可以过小红伞查杀。 虽然会出现错误提示' ]+ h w, x8 ?. j E' I c- U+ u
" b+ T2 W, q; ~2 T% q$ r( G2 P但是不影响木马的功能,不影响上线。- r% b" {9 {$ F4 o( Z- m$ ?
' s3 N& i3 s5 w0 @* H4 T( j4.dll后面加20 90法过卡巴查杀
3 Z4 T& S' d; ~! B6 H/ w
0 M- }- R5 v; A+ Y2 v/ F需要的只是一个c32asm而已,非常简单但却非常有效
5 e/ q) ~0 t: W0 K3 i. g7 z1 o; F- N2 r
如图
4 Z4 @1 |% o/ ~; I/ R* ?4 \: [+ b
3 V5 R& N% p! o$ ]; } : w j3 s. i$ m. |: g
% u) p' V* e& |我们可以看到,
( T) `# ?3 F4 Z5 l
% F, z6 F( V4 }! D" n在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90+ l) |) [5 g5 X
3 D( R" U; V6 R4 p* L$ M
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection( T+ i/ U I, x& [
6 V, ?: [: \+ p( [7 [2 l
我们只需要在他的所属dll后面加个20 90就可以了
8 H4 [' F! x- d& k7 W/ d5 A# o
5 v( G8 }* a6 K' _+ G. E5 p卡巴目前还不查杀此免杀方法/ C; W' M1 _2 X* [2 ?" U& I
* w9 q* k$ \- [# Z2 F) d: ]
# q6 v4 [, P) G; @6 y唧唧歪歪这么多,打字有点累了
0 O" N a% @/ g+ V! _) f" z1 _( D6 X5 V/ v0 f7 C7 |, }
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
& B6 z8 Z7 r& F/ e( O' B
/ E* b: u8 q& ?' J[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|