|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
5 X( p, X7 n+ a7 }) _( k
' P1 v& t' C& F6 d( `5 ?2 g特拿来分享给大家。
0 g3 _( G U, p3 ?4 G: n7 ^2 K( S3 {
今天我们不提我们国产的那些杀软,真的垃圾的要死,
+ o8 y+ }5 a0 ]0 w6 V4 X% Z" o& Z W% |: I1 V& V" v& i
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
. [( J* y; {6 H# A
3 G# g+ g. K# z% i; }我简单的重建了输入表就把瑞星搞定了," v& A3 \0 N& t1 X
4 M _: Y# c4 c _: M6 W/ X失去信心了。我曰
( R: W( R/ S* B! v5 [5 Y
: z& z& O, b1 e1 n |1 Z今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。& w2 N$ U, r5 P) P2 E
2 Y' f3 e5 b% }! A9 B. `6 V, e! j首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。4 P) B \( n$ G- A D6 h! f
. D2 D. ^3 r4 d& k外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
% z- j0 ^: S! g! B% r
& G$ m, M! N; C( [0 B: w+ a高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
. o0 t' ]2 M, l& S& m( g/ b p( f. P) T3 O. x+ n9 F
过了以后再调到最高,再做免杀。
! q$ A* g) s; R7 E+ A8 c% G( P+ P) ~) D4 O3 R1 _. n
以上是废话,
% J% \+ R) W1 c- V. E. G# g/ D" a( L9 F+ ^: [ v/ T
好了,下面我们来说下常见的免杀输入表方法。
9 G) V0 b9 y% R+ G
- i4 F/ X$ z+ k. ~% U一。移位法
" w8 s6 o4 g& K' I% @- _8 A5 ]
6 ]' P F5 D9 ?( G$ c这个已经过时了,我们的国产杀软及时的跟上了时代,
0 N, R; ]7 A, Z3 l8 U7 H8 V& X1 r2 ~- `7 n
移位法在去年过金山和瑞星,还有江民都是可以过的,. y* @% U& k( P! n% U9 s
! Y, B S+ k: W. |' e2 x/ Q$ @现在的杀软智能化了,移位么?呵呵 ,追杀你。
7 a+ D/ w- b/ u( E0 R, |, D
7 i) f2 `- f7 e. z如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
" J! z3 @& v, l: J- \" z) X6 _, `% y" Z
二,重建输入表2 ^) D% {) j; R; z) U, n
" O& V2 U# {, L4 p
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈. D7 ?' \# Y5 o( X0 d
8 i/ U* `: R8 m& r! [这里我介绍下,
; w. K' w0 ^' L
- y, a# H; A( L! [$ \5 K用到工具:
" }: e$ | R" C' z8 k1 }7 ximportrec1.6
/ ?0 s! C" @, i" ~od4 i6 f& A+ J% O' n$ J
c32asm
& g8 Y5 N& R8 floaderpe# d3 V& h0 O& T) G4 c
这里我们简单的介绍下,如何重建输入表
- @4 K8 n/ }$ t& S3 S( H1 [7 P9 [/ W
首先吧文件拖入od,打开inportrec1.6
( }1 x4 ?8 W! d3 u, \7 Y
, c- G L: u& s% h, C4 D. m如图 选择拖入od的程序,7 ?! |( u p# ~ c8 d/ c6 R

9 U" [9 g( {7 n- i- p, O+ t
2 d$ b& k' @& C9 T7 @4 a这个时候,我们打开loaderpe,- C; ~2 n3 t8 g9 _
5 |) W( m, x) e- W% [拖入我们的木马9 i5 _" P( F4 z
% I [& I; m z9 z( I
选择目录,( U+ `9 B" {+ R3 G' j+ [' s+ q
+ n' F% a" H& ]' i; I2 ?& T# n7 q我们看到导入表这里。。。+ |! s" O/ e* e3 v* R/ D
5 k- F* @; x. j, e如图:
! ~; g7 q# x, A5 y4 j" T' Z! R
: H. d* r& ?( x: B8 y! I3 b- R6 g$ C) `9 I
RVA地址是0001D000 大小是0000154C1 C' s- z1 t( ?, K
4 C1 S5 ?! \0 @4 M( T2 w, Z好的,我们把这两个输入到import1.6里去
& `5 R3 N, W' l5 R3 \" N
. _& o: @5 U, W5 v% D. c( w就是在“加载树文件”那上面一点 : h7 h& X# R) ]# R# R4 m) ]8 k5 G
/ I$ U' q5 p: R) J" ?; N4 W/ R' ?
输入RVA的地址和大小。! \% J* v/ |$ y
1 |) ` j8 ]( [" M8 r. o" p
点击“获得输入表”
" X) C, J. [" ~0 B% J0 u8 a0 ]4 M/ h$ M+ d A2 E }& A5 j" U4 b9 {- K
然后点击“显示无效的”+ a1 m/ c; J( I, r# `% l" T
7 _+ P# P$ m5 j. D) J" O! L5 Y6 h* ?
接着importrec会自动列出
8 n6 `9 @7 Q! l$ v4 i7 J
$ s# E3 }* h+ w$ n我们把深蓝色的字体 右键 剪切无效的指针
# F6 A/ w, \, L3 j- N2 V1 K
0 l6 z) p. V6 ]$ R! Z' g
& t( c2 t1 m. ?/ F最后,我们点“修理dump”) m H4 @! {* U4 ?& Y. ^) X' e
( D9 d3 n4 }1 l% \6 T. o$ A) W选中我们的木马就可以了
2 @( @- d* \" b2 G4 f' ]% K/ a* |( a" b8 [( n& x
最后我们要用到c32asm
1 b; _+ x+ ? W* O6 M- A) g
1 I) o9 I1 J. A9 F3 F我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
0 M& H( n% b- ?6 o4 z) W) a, j; O- F: f- |* S% M; c
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
& |2 \6 F; L0 {5 Y4 n, g( g! A
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,8 y3 k O% v5 i
4 @& L1 C: [/ x _1 n我们把马子拖入od的以后,打开了importrec1.6
5 w5 D+ x; T' r; v- H$ U+ Q f% V' n7 A$ B1 O6 @; n* |6 \
在选项那里,选择根据序数建造输入表和创建新的IAT& B" f8 O |5 g9 N
$ {; L7 E: I" O
如图7 ]9 i: W! n+ y

, O1 W% c! b9 n7 v: e
% m; j2 l D( h+ ^4 y; s以后的步骤照上面的方法继续就可以了
) n6 g/ P0 A8 Q+ Y0 f" K
, Y8 z3 `3 _8 K7 r2 ~- |5 M3 `不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了# N* F; u3 {0 z% T' _
@" M) G, D+ [# P: A5 Q因为kernel32.dll的大小不一样。
7 I9 R8 P9 s( S( J9 U3 d: u: h: o2 C0 g( I( r
3.修改originalfirstthunk: F9 Q& P5 z5 X, v1 a" G h0 `
3 ~3 ~5 P3 ~% H9 L1 P2 `% }) u. P
如图所示3 ?" m" O8 x9 H- T W: y

" c: y8 r# q6 h) X
2 @* y/ t+ v% V! S/ O我们打开loaderpe,依次点 目录--导入表(后面那个横线). u: {! z) ? q v4 c) _; A" |$ c
& l/ W; \3 C7 q我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
* X- w: @) X; Y7 s% r% }8 u$ e! X
我们右键--编辑--把函数后两个00修改为FF
) f# X1 A2 O- O* O& t1 n) \9 A: ~, n7 ]# w( @6 C
这样可以过小红伞查杀。 虽然会出现错误提示
% V* p$ R5 [% }5 y+ }7 L/ h
/ \# D: H- R$ Z1 j但是不影响木马的功能,不影响上线。
0 s. g2 v' y6 x4 F3 Z: y& O; H3 A6 r
4.dll后面加20 90法过卡巴查杀0 _& n8 Z5 x1 Z
- I2 {. ~: {. W+ y8 m
需要的只是一个c32asm而已,非常简单但却非常有效$ _7 W2 z8 Z- W! p! c/ g0 ]
$ q* |" O, X9 t如图
5 Z8 O& W$ b- J" n0 y, P. L# P$ E) }3 q4 m' Z+ o' U2 _

& g& X" W" [! l8 B2 ^; G
; E3 |* k# m9 Z% V* Y我们可以看到,! I g4 [0 H; z/ a# x7 l$ w) l; }( n! ~
! e3 ?. g$ m8 N0 i* |. O" B在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
% r, a1 O; A+ Q
# p: x# F' O* u. t# w/ J这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection+ o% h# S2 f$ F; G# U) z
5 u) g) O7 a0 _
我们只需要在他的所属dll后面加个20 90就可以了
& j6 ^ r* E& B6 p0 m' I# R$ |7 Z, c* Q
卡巴目前还不查杀此免杀方法" D5 y T3 ~' E. s8 E$ ^! U
# T, p/ f) {. r% {/ Y
& i' _5 r h: Q唧唧歪歪这么多,打字有点累了8 g V( u7 l* }7 ~5 E" ?5 ?1 q! X: ^
6 o& x. {5 \2 d& a以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
& w5 x' J$ C5 h: q& b+ p- h3 D. y) v L& K M
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|