  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,9 |( w# I9 M1 H' n1 S
2 \8 H1 V4 _ v6 }! N2 @( T$ d3 U特拿来分享给大家。2 N9 b- G8 r: r. q$ r) ~! ~
2 x5 `0 ~1 s) b' T. t
今天我们不提我们国产的那些杀软,真的垃圾的要死,
. T; }5 R- C' `* i+ t
7 c, {( w) S- p! O) j上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
0 y8 f% j# ~" s. `7 l6 d1 N, U5 N
! _5 R; \ T- N" m1 p我简单的重建了输入表就把瑞星搞定了,9 `0 m0 w7 }! o7 D' U5 t/ q
" k2 T1 D( w9 v7 j' n8 v
失去信心了。我曰5 E) }* |; }: Y1 b4 j- z* X5 ?
) O0 q/ ?7 m" S; U% l5 A0 A
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。) I& }9 n5 c# l4 q2 L+ s
9 z# ]: i$ o% j" s& ~
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。+ U* n$ z9 h: A# T6 ]. K& ^8 I
/ t) D) {$ S' e& E; V6 r7 E3 P4 x
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
. S' R9 g. a9 j7 C( ?1 ^* ^* W/ y- C6 X7 L# m+ m! c+ }4 q `8 z
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
4 T \' D( `: Y: H* J1 G$ o/ H, t; P. ?* R6 U; o$ w6 ~
过了以后再调到最高,再做免杀。* t" r& p/ v! k/ R: T$ ]. @( }. h
) v$ u+ r% B1 s
以上是废话,8 S; k! G' A- J8 w1 W3 o
- }7 [7 N" b( @5 w好了,下面我们来说下常见的免杀输入表方法。
5 U1 e1 E7 n" |4 U- a/ f- `2 Q6 q, }9 P' ~% A
一。移位法; d. C5 H _7 b% I. l8 L
% g. k. `7 V" ^5 c! Q/ |9 e0 o这个已经过时了,我们的国产杀软及时的跟上了时代,
2 r! Y- g. g7 e& O: A4 y4 J: Q; N9 l& n" K) i L' h2 i
移位法在去年过金山和瑞星,还有江民都是可以过的,' u; Q$ r8 O4 q3 m
+ K2 g8 p; g' g8 _) K现在的杀软智能化了,移位么?呵呵 ,追杀你。: g% G- o' o# p( u5 c( X" u$ X# a+ E
6 j5 L: M" b H [
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。5 d3 C8 n# G, x/ q
5 H. F- q4 v; M! X) _
二,重建输入表
* D2 M# P" m( ~# }
" ~# P$ a7 N) q" L! z; r) F效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈( A/ ^9 U% C7 [( v1 r
6 j9 r4 p8 O/ ]+ p3 b: G s( a
这里我介绍下,
/ g' j! h& n& S9 {* S7 M( [
9 y; A2 K: a; p8 l用到工具:
+ L& O2 `3 v/ A7 Gimportrec1.6
2 n; B, ?6 l8 c$ b _od
# `7 h0 i& V4 {9 v! n- cc32asm0 K d1 h9 {( p- G w g! W: v+ ~# R
loaderpe
+ P! j9 U+ h0 @" P {这里我们简单的介绍下,如何重建输入表# X& ^5 l8 N1 E# Q1 v6 _
. R6 I& T Z6 H6 Y9 d
首先吧文件拖入od,打开inportrec1.6
+ P ?4 |& u# G
( { i, K2 s9 G% ?" B- V4 [: k8 h0 c如图 选择拖入od的程序,
) ]6 e& u- w' q8 H
9 R, P9 S& G7 n6 b: y; p3 J
/ }6 [$ u. h: U; r" |! {3 i9 E, J这个时候,我们打开loaderpe,
; U! k: I9 b4 C. d; r! w
, r& R$ W. a9 G/ K拖入我们的木马
" P7 {. J& `5 Y3 O3 h. n3 ~6 r* O! Q$ Q, s, _" ^ ?: F, i0 _
选择目录,1 D* W) e# l% r: m4 Q. n, }
/ \! j+ x W& K2 g
我们看到导入表这里。。。% Z3 \, Q8 [5 R) J' o
! ^2 `: O1 j/ m: O6 h8 O" f如图:1 t+ p2 D1 x0 s( `) m, W5 _
: R- s k3 E2 e+ v. D# P
5 _/ V, ?8 E; z/ ^- N
RVA地址是0001D000 大小是0000154C2 e1 {% P& Q6 \9 S
! ~6 U J6 H. |/ H5 K好的,我们把这两个输入到import1.6里去
6 r, C/ n; @8 s p7 p# J3 M; X0 t$ F
就是在“加载树文件”那上面一点
8 |+ b) X6 ~) d- k. }- B+ S) C, ~7 I) O
输入RVA的地址和大小。
) {' W& f: ^# a0 w( g" _
" e$ V4 `# z; w; m% @; n- Z8 ^2 u) O点击“获得输入表”7 R% A" @, L! u
& X ?$ k9 r0 Q3 F# d然后点击“显示无效的”- S3 H6 n1 K* V. @/ A! r! k5 H
0 i a! v2 e+ `# Z( z% x接着importrec会自动列出
: {7 p& r) u( l! z0 f
- K1 F1 A4 s, {7 Q6 b/ ~, P我们把深蓝色的字体 右键 剪切无效的指针
& Z% x5 u$ [- N7 V) M* S7 h) i5 T+ c" k# g! a9 y( D8 v6 r3 K
t# g) v4 W% M, M1 g7 I" K; ~最后,我们点“修理dump”
1 g: y( R& T2 K1 a) O2 P; w$ o- U+ z% ~' v4 z; p% i
选中我们的木马就可以了
+ }4 H2 h2 x2 p" u
* @+ u" o" d3 P" r最后我们要用到c32asm
7 K6 K" b& Z/ a w' \$ \
( d0 C. X( l0 r ^& T+ G; N我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。( P5 \1 l6 p; e- x, ^- R4 l
6 }" N8 }$ E! ~ X
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)9 m& t O2 z7 v0 z, `
1 y& M1 S A; U2 U! ^* t9 n这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,: F( q" b0 F) l, k
" K! P0 {4 h8 T4 p* t$ H
我们把马子拖入od的以后,打开了importrec1.6
$ q! x+ l' }) c: k: ^
1 n+ n" t) E3 y! {6 U3 W' ~9 e在选项那里,选择根据序数建造输入表和创建新的IAT" e( X8 ?1 l, t0 H9 F
' u" }4 ]- [' [7 m( p# D如图
2 s+ z/ Z K9 p8 t
% S5 F: F x* w9 C& H5 l; g* m
以后的步骤照上面的方法继续就可以了
7 n% l0 c' ~, i4 f5 ]0 E4 {. g
- u1 z& G! ], P! d* g不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
/ K1 f0 A" R$ _8 p( c3 H* E% C) h) z9 Y S
因为kernel32.dll的大小不一样。9 w: C$ H. U. S3 j
: H- k6 i+ u- i. ^& K* n2 E; F3.修改originalfirstthunk
0 |+ h8 Y2 o0 v5 Z! w4 L5 P$ ^$ X9 E3 B, H: d
如图所示
( j8 g/ d0 @9 H" {3 {6 @+ e1 f 0 K, c3 w$ O6 N9 _, i( x% c7 o0 ~
* R; p3 F8 Y5 \/ I1 `
我们打开loaderpe,依次点 目录--导入表(后面那个横线)3 x5 R+ s' ~" q- H. E' q( V
' @! z3 k" k E" F! Z
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
4 f) \- G9 ?! @* r8 A6 ?. X) z
7 }: p5 p# Y& \8 c! L我们右键--编辑--把函数后两个00修改为FF
4 o$ a* Z( I( E4 u! R+ X" L1 j5 _' W% ~/ }
这样可以过小红伞查杀。 虽然会出现错误提示
. }8 g% A* _8 H' W" y0 C- i/ w h- H/ Y0 _$ {# h9 Q
但是不影响木马的功能,不影响上线。2 O) T2 q& m+ K0 ?
* T; |4 D# A, D6 f+ i B) a: n4.dll后面加20 90法过卡巴查杀6 y/ |. }8 e- C( T$ h
: g# b7 _0 A# G0 o0 U; {8 X需要的只是一个c32asm而已,非常简单但却非常有效
; U) _ Z( {" y2 s3 h
: K4 f- t9 T2 B如图
1 M- X: B+ A" B4 A6 m$ o S
z) y) Z3 x/ T9 J, I7 z0 ~ ; P0 k8 _: Q! t, g1 b& W1 T
1 l9 K8 F4 g% K' h4 w
我们可以看到,
0 l# N( w! \" N Z& B4 d
1 C! J6 b2 ?; P: \在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
+ m- |8 V4 i d0 i: k" }0 h; p8 U( N1 g
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection1 q& I% C" d1 a4 [. D# b
. L, U0 h( W3 D1 I% |, K我们只需要在他的所属dll后面加个20 90就可以了( F8 g* o. e& F' L* r' n' ^+ h7 T$ G
. t, d5 r6 r& R1 v' ~
卡巴目前还不查杀此免杀方法
- k8 }! g: Y( Y* R- K2 o# e
" m& o$ T9 Q, Q$ m
% I& Z Y& z) d唧唧歪歪这么多,打字有点累了$ s; g, G* j$ U" h7 ^
- r; E* H; D# P- [, C; |以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。: G2 z3 D( J' o4 \9 C1 @
: {8 a5 x M( Q ~% ~# y8 `% d4 [
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|