|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,& B7 s2 ^% q- @
. K8 b! l, j! L6 S3 I# _/ n特拿来分享给大家。# {) j( {+ K- t' V( K
" t( t. [! R1 }5 y3 w* |今天我们不提我们国产的那些杀软,真的垃圾的要死,1 s4 c. h% j9 g3 U2 d' Y
& Q- ]+ j' r+ j8 A3 H$ Z/ f, Q* S& w* T上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表) `2 I! `9 z, r8 Y
# I5 o# W0 ]' o' C6 z1 s4 ?我简单的重建了输入表就把瑞星搞定了,
! i K; K* w% z; @, h9 t5 ]+ Y! o) B3 J. Z2 S
失去信心了。我曰- t: P; \- t* p. b
( `: y: {" Y+ N0 a( V0 x/ ?7 u* k
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
5 V; T/ E3 I4 i. S* f" }! K% e [ g% o7 }* k8 W$ M2 ~5 R
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
3 |- b" i0 I$ v9 t7 ^! S; n. m5 {- V5 H5 O7 c
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
) l H o. m/ s S1 ]* O/ T1 W, A
! P. {0 o q0 w5 _+ S7 N+ V* j+ v高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
* N* }' N/ l- k, q, E. V! F6 v+ `/ C* d$ j& A. @5 t# Q2 w7 W
过了以后再调到最高,再做免杀。+ f4 C* Y2 W% s2 n. t; V
3 d K1 J& j( d以上是废话,
7 j5 W8 z+ z. Z7 Y# {( ]
& |" ^, G6 U0 }4 l0 H1 C3 p( ~+ V好了,下面我们来说下常见的免杀输入表方法。
' E+ b) G, u- V6 h* y
6 L. I! V9 Q) ?" ~2 Y一。移位法1 O8 _5 `- B& k9 c
$ T7 Q3 L. V, K这个已经过时了,我们的国产杀软及时的跟上了时代,
5 s/ {9 _+ A5 B+ A
- r) E* Q' }7 U% c2 l7 d) `* X ~* B移位法在去年过金山和瑞星,还有江民都是可以过的,+ n& j& g! A- V* S+ X
9 o% P! l/ `" Y& n% C* J; |
现在的杀软智能化了,移位么?呵呵 ,追杀你。( n2 {. H% F3 p8 i+ R5 n) J: i8 R
/ L, F" e# B$ }- P, g! u8 `* F如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
) t; H# Q* W2 E6 {! ]% u3 y; _
; v% V& |4 S* O$ N8 K- U二,重建输入表1 u; p- w% ?5 M" P
, i& U h; s0 q! @$ |效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
- r- y% i( c& a' n/ T. M
2 |$ {; M3 R5 F+ i2 R, }这里我介绍下,
. y8 A2 S+ {1 y3 v! O2 Y! x7 [1 B+ C
用到工具:
* O, j4 Z9 ~6 _1 l9 l, ^6 y9 Dimportrec1.6
% k$ h2 B# k; u/ w" a( l& ^od8 Z8 ~) e4 |; ?' k3 ~1 \4 D' G
c32asm
! X. W# A" Y5 I% Q: K! Nloaderpe6 K# Y: l; u8 W# j( O; o% z7 h7 z
这里我们简单的介绍下,如何重建输入表' l& v% G4 t- c ~) M
' I+ u9 M* e" t- i2 }3 S) U首先吧文件拖入od,打开inportrec1.6
# p1 g9 k, V" r( t+ h
# P* _4 v$ a% H, L, t7 ^- T如图 选择拖入od的程序,* i0 `8 e+ V2 B( Z( L- a$ e

, o8 Z: g$ _; d" P( m7 o8 Y8 d% ?* ]( z6 @: g1 J$ B0 Q2 O8 M
这个时候,我们打开loaderpe,; c: K! p/ s+ Q3 S: O% U3 [& a1 \
+ t; \7 h1 ?( q! A
拖入我们的木马* r9 c$ C+ H, Y: E
* K* N8 n: C) e- e# e7 K1 \% O选择目录,
) y* z; _- `! ~* W4 ^" M: ?3 g6 L- c+ E
我们看到导入表这里。。。' V6 ^9 {/ `! S% V. l
$ K& l7 U; T9 C# N
如图:0 S- Z% k& z! W$ b4 j) Q! M$ P
2 u5 R' d9 Z3 P+ T& y9 y `
. Q7 m# m# ]7 P M6 L1 K) NRVA地址是0001D000 大小是0000154C
y3 F/ R! `" H2 ]" g! r( S7 f7 x) K, p; G5 F2 B0 K4 a! I
好的,我们把这两个输入到import1.6里去
+ C! L, |8 @& B. C4 l1 n: }
: |. F$ F/ }9 Z' v/ ?& o# a/ x就是在“加载树文件”那上面一点 s3 h4 h& b$ Y" h* _ E0 C. @% C* N
- B7 H* ]9 Z3 g& {输入RVA的地址和大小。
$ v) W4 j; K/ }" n& B# J, l, s8 b8 }
点击“获得输入表”) _1 X9 @3 P5 a8 ?
% E, c) P" S$ P$ C, B8 ~+ h# K3 U( ]
然后点击“显示无效的”
5 B- o! \) g1 `5 N( H. F! r( r
+ Z2 ] K1 g' D7 t- z! }接着importrec会自动列出3 F1 G' D, u1 M& O. s
) r3 b1 H- z3 L, i
我们把深蓝色的字体 右键 剪切无效的指针6 u4 C. ~) f/ l! c1 d* M
( a9 U1 t) h3 }1 y9 A/ h
3 w# z% s' t: @" x最后,我们点“修理dump”
; S: [/ J Z6 \, U) @. \% [
, L H5 M) y) z2 ~, v. \% L% g$ ?选中我们的木马就可以了
' c# n7 p" D! I6 A+ a" D. I( T, E, H- X+ H, R* y& w! i
最后我们要用到c32asm" y; B/ h/ S2 l* b( |
2 V/ r5 { B2 t/ X( ?我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
; Z3 N9 s: C3 G* X4 c# s8 A4 s5 u. C9 y: ^* e4 h& i
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
; Z5 {) b. L2 @" ~. `4 I
% x3 I3 Q: V R2 | H这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,2 ~. H( x2 I/ x- q4 |5 E
) L. Z9 `2 P& u, [& ]1 [我们把马子拖入od的以后,打开了importrec1.65 Q1 C. C: [9 W: q5 c b& X
1 M4 U( {$ [5 B( ?) c' \; x
在选项那里,选择根据序数建造输入表和创建新的IAT* \2 H4 V7 F, D8 F' b9 h
# N5 R! I% ~7 G, E/ ?) t! O如图( q# V6 I6 f- r& C0 P z$ ?- s6 {

, X( v6 |1 b ^1 q
4 ?3 o* ~; r- @' m( S, H% }9 ~以后的步骤照上面的方法继续就可以了) z0 Q, z; z6 Q1 m ` Y3 Z
8 ~& `) n( W( m( T- Q3 K不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
; o$ m7 ^0 [$ e
3 N4 J1 R, K; T- Z. d% a因为kernel32.dll的大小不一样。2 q2 M; p9 {: F* B; U" Z
/ V9 z- n6 r8 T$ ~3.修改originalfirstthunk
8 H; b. L) ?. X* E$ I* U# l. C' D2 u+ D& \4 @, H' [% Q( `! K6 e4 D8 W
如图所示8 p" \' S9 X, \1 E. J* T

" B5 d3 W9 B( ]/ @% F3 V
5 R+ P+ U- g( q! t我们打开loaderpe,依次点 目录--导入表(后面那个横线)
& v+ _0 ^* |8 {& t% I1 a' K! ^7 S S4 l c) D) [8 w
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll# _% z3 I; z) _& K% T
2 O! F9 ~; J; q$ o# B我们右键--编辑--把函数后两个00修改为FF1 L S4 Y$ A; B% O& `8 D
2 j. M" M6 ~( o$ l/ K这样可以过小红伞查杀。 虽然会出现错误提示
, b2 A9 K- [; @9 g* T1 [) R
) a3 D7 s+ Z4 V1 f" H) |% W但是不影响木马的功能,不影响上线。
# P6 t# q1 G+ v8 O( q
8 [ M, e q3 [# {# s4.dll后面加20 90法过卡巴查杀
7 ~7 ~8 I% Y8 d8 t& |% ]) A9 n3 b. e; i! u
需要的只是一个c32asm而已,非常简单但却非常有效
2 U O& M+ Q$ a( O- Y2 }9 y- T6 J8 e! w D, }1 F' ]
如图! {1 F: S5 m5 P( z9 _0 S
' P# P+ E# f0 C
: R, `- |6 A4 X& ^1 J
7 g: l( y8 ^7 ~) r, p我们可以看到,; s- D1 C8 S2 s3 V0 z$ r# [
+ X0 V1 l& F) {在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
6 Q( {/ K; a! k N0 H) U
7 m( I* i ~0 S% L这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
9 M5 b A$ b) F1 x6 b4 L7 X" C0 \: `7 x O" r8 G& [0 ]
我们只需要在他的所属dll后面加个20 90就可以了
7 H, o$ H# `7 U; j! T( `
& H8 ^/ N, A$ m2 K4 C& e+ B+ L: C$ ~卡巴目前还不查杀此免杀方法: O7 t% g$ A4 E& M2 p3 ^
q( p8 b0 b; R+ g
5 I4 x9 R% } A( S唧唧歪歪这么多,打字有点累了* R5 w" b# O8 Q* M
& G. N' M @* X% [6 x& ?# Z
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
8 R5 O. C V- H+ A$ m; L2 F. l2 e3 p' z" k/ f
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|