- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
|
最近和一位木马免杀牛人交流,感觉新增进不少,
) h8 |2 L; Y. a& u, n& u0 q% q
2 ^- O& t& R' _ N5 c3 V% W特拿来分享给大家。% ~, `+ [ f7 ~. V0 b4 _
% k4 S0 J7 i7 T+ n7 d0 ?1 T
今天我们不提我们国产的那些杀软,真的垃圾的要死,
3 p6 G9 ~( f* q7 [! o5 C G- A" H& D8 \# d
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
3 A% ?+ W9 [1 d1 R
; q. s9 q! v$ V! f1 N2 n# I& T我简单的重建了输入表就把瑞星搞定了,
2 T. ]4 l4 G `+ k. e4 D- y
$ Z- w/ `6 A+ C! S失去信心了。我曰
' h' a7 u3 V" h. b, J+ C" a* ~
& \! [1 x# b0 a5 B7 Y今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。9 |0 B8 ~8 V' A) U Q
; G, c, ?+ M+ v/ q7 K' e
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
S/ R, C$ q% F- g2 ` j. q) v+ [% U* _
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。! a5 I; V1 d$ U# d6 l
* J5 D3 @4 l$ ~0 N: j7 s
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低* c! M8 N0 T0 H+ Q
, @8 v9 m5 J) {9 l过了以后再调到最高,再做免杀。
3 Y- t+ c! _. T
" q9 u, D% }+ A6 c以上是废话,
l% {+ k5 C3 F, ]4 D5 ?8 j- E* o$ l6 ^* b5 ^& v
好了,下面我们来说下常见的免杀输入表方法。
0 I4 S. h" A! v M+ w6 ^$ W) h% ?" [
一。移位法$ j$ x$ g# Y1 u3 o9 o7 Z! r2 R
+ I! r7 W+ J7 E! G: z0 b这个已经过时了,我们的国产杀软及时的跟上了时代,% _0 i6 J4 v6 D: K) X
/ m+ C+ | u$ [* ~移位法在去年过金山和瑞星,还有江民都是可以过的,
0 W1 T r8 D) m" S$ D/ W3 i! o7 x2 A" X+ u9 T- F6 X0 B5 L9 U
现在的杀软智能化了,移位么?呵呵 ,追杀你。
- h4 ^: O( J8 L: f& G
" b3 Z2 m# {: `! D8 k" `( [% ?( Q如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
) o2 J3 d, l$ F. Y2 x" r9 o
: X+ V. F$ ], r8 o7 l% J1 r" h二,重建输入表
7 |1 Z0 y9 a$ o& _; V5 G
; X- j3 k5 d# B) o2 ]效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈. o) M3 f6 X& _5 X* }" E
7 W8 ?8 R' H2 d这里我介绍下,2 j. [( h! q8 Z$ w" A; Q: _
. ?* M2 o7 k. J! h5 k
用到工具:/ k' s c7 x# w$ ]' ?
importrec1.6
: n" I! k8 R& _1 j- ?! Tod) A3 L6 w# ?% \% i- i1 m
c32asm
& G0 T3 N& |+ _9 N& r) u0 e1 _loaderpe4 y% ]0 q. Z5 U/ }
这里我们简单的介绍下,如何重建输入表' F, j/ b" {1 d; ]3 K/ T1 ?8 r
' t1 x# A0 v+ ]& \- q5 P
首先吧文件拖入od,打开inportrec1.61 M8 Y' y0 b; S) ~! T
% Q. J+ l. C6 k, ]如图 选择拖入od的程序,* d0 t- E4 |, P& v# f3 a8 \9 K
' ?; i" d9 E; B$ i$ g
, K6 T$ V4 M8 F3 k% a这个时候,我们打开loaderpe,4 r- o9 a7 z h2 H$ N
( u: f) P, g" F' b# i' ]$ H, A) u拖入我们的木马
6 l* g9 Y0 I# c0 A( [5 _% e0 e5 R7 H
. N; Y2 h9 W) E6 [选择目录,) A- {0 _; t4 [" e: ~( j
' x- |: b! T% D5 y/ I9 ^- P我们看到导入表这里。。。
( X t: @- x V% V$ a Q
) C* s) B3 F) T u% f0 b如图:
9 \, @7 G/ A: g. a* j1 b8 x `( e, s0 G8 a% V) j G
1 x; R. r2 j$ @
RVA地址是0001D000 大小是0000154C" a! v& _) I# ~9 S' \
J0 C8 F' O) G
好的,我们把这两个输入到import1.6里去
$ `2 m' F+ t V% i9 R) J# V! d: r1 T# x( t5 }
就是在“加载树文件”那上面一点 , ~; c T6 o1 D- d' \; ]+ ^! @
+ U1 J3 h1 E9 e. p8 N输入RVA的地址和大小。- ~. R' K, W' t
7 ?$ q# A: J' i& x点击“获得输入表”/ A. ]* K4 i4 b% j
9 N" D9 X6 X* j/ S1 u然后点击“显示无效的”
4 T. H9 X6 a: c ?7 d" P2 n
: N5 X. T8 M) k6 X9 s接着importrec会自动列出
5 @' ^9 o' H7 ~" z; `9 k9 [ F; r; p/ b& e Q, z1 i9 n
我们把深蓝色的字体 右键 剪切无效的指针9 p( y' F$ c- S* x& |( U
$ a- W8 Q# ?; [( U5 T) {! o/ y+ {5 Q: k. u0 K8 L( E
最后,我们点“修理dump”1 ]4 d. t; S) G9 P% K
+ ?9 H @; D$ K) t% @/ C选中我们的木马就可以了9 F# m% f, K2 r% Z; t) g
; y M, L6 W: [9 ?+ T
最后我们要用到c32asm5 O: d9 f1 I9 @( {
) Y3 I& U5 P7 X1 R5 Y
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
: C# a* s4 C5 W5 d# \" t' y6 {/ J6 k9 x, a0 u# ]3 M/ v
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
8 ]" n' x* a8 A" Z1 K& F3 M/ d
4 C5 M; Z9 O8 x4 {& Y这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
, V" E( ~. N; y; ^$ w3 f$ Y3 u8 N4 Q- i) J+ C8 u! p, U3 X
我们把马子拖入od的以后,打开了importrec1.64 u! K$ k" ^, Z2 K0 I# z* d- o
4 C- v, S* ^& a! |# t在选项那里,选择根据序数建造输入表和创建新的IAT
& Y8 L. i- T% e* D$ w
5 d/ U/ I* `) c+ N+ D2 y: n如图3 k9 L+ g4 |& a9 u9 c# b+ y0 T
7 t0 A% R- k- ]* t
6 W7 S2 G+ J5 U, l& \5 @" ]: a以后的步骤照上面的方法继续就可以了3 ^6 N( [& G& k5 ]- z6 x$ v9 i
: g5 r2 {# F5 Y8 {不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
0 c% S/ G, \' s w$ |2 K* S; U- h" `. N' d" E
因为kernel32.dll的大小不一样。
9 Z8 P' Y. c. c* u, Y ~( H
3 p4 u# Z/ f. ^9 \3.修改originalfirstthunk+ s/ K/ N8 W& ] [' s
- j$ O* M) i1 Z" i; d如图所示
! ?! b+ M! s' e& P9 b3 E- M0 N9 j, i) m% G& M2 P5 K
% [! a, m# N5 f我们打开loaderpe,依次点 目录--导入表(后面那个横线)
$ W5 `- R; X$ }2 a0 C$ _5 w6 u
& p. |; ~9 _+ e! y" H8 W; w& t我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
5 k: S. w5 C I' O9 h/ q
8 A( N1 r; G1 W' \; m( ]4 k我们右键--编辑--把函数后两个00修改为FF
. L/ D) v e9 `5 D! h1 G! ]
, ]+ W! B( A n9 y p/ R# u4 ?这样可以过小红伞查杀。 虽然会出现错误提示
9 ]4 \1 t* W: Y* X$ d# r! K7 m7 A G/ c
但是不影响木马的功能,不影响上线。
8 \& p# O" @0 B5 H, u! |7 `1 j& q6 G- q) T5 m
4.dll后面加20 90法过卡巴查杀$ M) t- c l, a- U) G4 T( z% b/ m
4 R% j; m% `, L# Y+ S7 n+ Y, X" H需要的只是一个c32asm而已,非常简单但却非常有效( A5 q8 f, w5 W6 p1 K% w
6 }. C5 \ q; D如图) P4 Q O& Z7 \" @% |
) R+ V/ O S" ]+ ?' b. l! j
" U( `# y: V4 O0 k
; e: I/ U" K( b' n7 P
我们可以看到,' K7 P' U' i; g, n5 P3 b( C9 h( Z. x
0 f( e9 O7 b2 N& T9 e
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
" c5 S1 E+ B: W/ E! V5 R. R G# g/ ^% w9 C9 T# @
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection3 q* @5 |; N4 z$ r, f( e
/ Y. x: `5 Q: s) X T5 p1 D; [我们只需要在他的所属dll后面加个20 90就可以了( W! {8 W' @# z M
, }. A6 K. j4 a6 \1 o7 f W* G
卡巴目前还不查杀此免杀方法
# q* [2 y [7 t0 u" j& D; W/ d: b: ]5 T& D0 P( ? @
' W' U: L5 g% o, w: H2 m
唧唧歪歪这么多,打字有点累了4 ^( N( d5 f; b2 |. @9 a3 W. q
6 `4 q ?8 y5 n) W以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。5 A) x$ L( d1 s: v, ^& x8 l
+ M5 { l, d( K3 D[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|