|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
( b& [7 L" j. u' ^0 M1 e, O3 s2 g1 t" B. a
特拿来分享给大家。
3 z O! h0 r7 a8 G
& o5 j, e8 Q2 i今天我们不提我们国产的那些杀软,真的垃圾的要死,
- o; ^ S0 a- O9 [: \$ c/ f1 T5 Z# y
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表( j! m, z3 ^$ M$ J6 p
b3 m6 j. u" O9 m我简单的重建了输入表就把瑞星搞定了,9 p U5 x/ V+ D; U! x
$ ^1 O- N# G( g5 g m
失去信心了。我曰
% ?8 ~- o" |, F$ c) i M& l2 c( b* Q! h
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
4 w" H4 c/ [, W) ?5 U, |3 Z* n. Q: K( I, ~& ]
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
0 ^2 e. b0 Z9 l$ J: Q( P0 d/ ?1 x! Q4 Y
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。7 f5 Q0 `' g9 N
* J( Q3 n* ]7 R6 L& v# S! j
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
( m, L% B! t# U) p/ k- _
" b& I" [9 F0 P/ K过了以后再调到最高,再做免杀。
4 x# \9 t d5 @7 O# k
/ R" s+ Y u, @以上是废话,( U& f1 l- I- G' N
4 |* ^* }. A2 |" U; @好了,下面我们来说下常见的免杀输入表方法。4 i8 F9 h. {+ ~
4 p/ z3 ^* I8 P- i
一。移位法
! o& p$ S* g6 r% ^: ?8 ^+ ?4 |$ R4 g3 O3 ^7 l9 t& f9 k7 y9 h
这个已经过时了,我们的国产杀软及时的跟上了时代, S! \+ D: J& U$ u1 N9 K7 B
* m- _: Z5 @; |& t A( L; U移位法在去年过金山和瑞星,还有江民都是可以过的,- B5 ]3 L0 n6 }
# E `6 u# h' R3 w& G$ x. h; z现在的杀软智能化了,移位么?呵呵 ,追杀你。
7 W( u7 j1 W$ P* p3 Y+ {1 p/ R3 z; o) P$ x4 c; C& Q
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
- b( D" c" X% x. B7 C7 ~0 g6 F
D R/ G: `7 x: L6 j二,重建输入表8 e6 k' X1 |3 @; ?8 Q$ J2 |
3 a+ N0 t. m! j1 n7 T& ^3 A效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
! J5 g o% d' c% |- Y) E4 g
0 Q% H. t/ f5 b! H( b0 Q这里我介绍下,
6 i! L7 B7 W9 c$ X0 F6 S3 c! y$ c' e/ c7 g
用到工具:+ }% a+ Z2 @! k8 f- j$ E" [
importrec1.61 j& n; D6 ~: \
od
" q' O; I$ _* D& |: rc32asm
/ v2 O9 `9 V9 J% e+ l$ G# A; cloaderpe
# E+ E$ e; N; H; Q这里我们简单的介绍下,如何重建输入表
3 E9 z( w; i3 d9 F: W1 A# B* U- d, c1 I
首先吧文件拖入od,打开inportrec1.64 p* ]; c/ l9 |" N. S+ Y$ ~% T
. F* s- F$ Z- A0 t; `. q: l3 s
如图 选择拖入od的程序,% {' j$ C# i& U. u7 ^

6 I5 K d+ S# j# `* K! k. v$ X
) \4 f/ S7 O$ s/ g这个时候,我们打开loaderpe,. S' C/ p$ r# d, J
D/ ?0 ]" e+ z$ ^3 m# r' w$ z拖入我们的木马
7 N$ c$ g! X4 k D! E+ b8 r
; i! v0 |& k4 S+ R7 Z% a7 B. K选择目录,1 }% D) J& n& O, ^6 Z
& C6 G0 y V5 S& m我们看到导入表这里。。。
. w2 P0 G* K) p7 N
/ o* A. K: A4 g9 u如图:
& M; v3 E" @, g+ N, x9 J% T: Q6 D : c8 G! k' L1 t; A# B" b; j
3 b+ p. ]) d7 i) ]- H
RVA地址是0001D000 大小是0000154C) D* r# @. K2 q0 q5 ]% L1 M0 ?
, ?1 t9 |5 d# X/ Z' m8 Q& ]- K
好的,我们把这两个输入到import1.6里去. j& _9 v7 }: c6 l- O
$ ?' B; N/ `" Z2 H$ O* A1 i就是在“加载树文件”那上面一点
+ P5 O1 \. s8 N, W2 ]
. E4 S% s* ?3 w9 v输入RVA的地址和大小。
3 a1 B; H& B0 h( A' Y7 m( n$ v. R/ s6 w9 Q2 O
点击“获得输入表”
+ N4 ]# z2 {" `! _8 J4 g: F! B" C; Y1 [4 g& h* Q
然后点击“显示无效的”7 a# H( k7 D0 X& I' I# k# y
* H' m e' Q/ E% g" c% A+ e
接着importrec会自动列出
( M& O7 l, ?2 C, n( y
# q" i2 ^, @ f9 p/ [( [- x9 \; T我们把深蓝色的字体 右键 剪切无效的指针) W* h1 G9 o, W
% p/ `1 T: D7 p9 l
, A+ @. l3 ^; K+ n2 D- f
最后,我们点“修理dump”
5 Y* |) o* S) s" ~; L) N, \4 N7 n# ^
选中我们的木马就可以了( T; S4 u- P- B$ b6 {2 u
) }) @5 T5 `1 M4 @1 u最后我们要用到c32asm; Q8 h1 U$ s! T
1 r- H4 [9 P8 A* |/ m: X7 k; g* C我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。0 c" q+ G8 x0 M9 b
2 I- G0 h e& b) ^4 O, \这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
, G: l8 D( t6 Y+ f' f$ q
1 x0 y. s# |5 Z这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
% a, W7 |4 D5 t+ V8 n G4 t
1 F, P+ x% K7 H+ _+ i: x& T9 m0 I/ }我们把马子拖入od的以后,打开了importrec1.6
5 x+ I8 `* z) ]3 d" `+ k$ |! v6 N# h$ E; I! G
在选项那里,选择根据序数建造输入表和创建新的IAT3 e9 E3 V# r3 Z) B
8 ?2 d1 n/ r* Z: J; S
如图& O3 |& o( W. A4 U

7 ?, o9 B1 K. F( a' n" X7 o6 Q" Q2 I4 ^, q1 f. U
以后的步骤照上面的方法继续就可以了
1 U. q# g6 B( I1 g p! y& k% G: w+ Y1 i2 h; z1 t
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
7 R4 w. T! \& b3 O( S3 k. j
7 f9 c* U" y- o因为kernel32.dll的大小不一样。
0 q4 K& c3 q% J- r9 }: z# ?6 y- b
+ ?8 p, Q. x! S& H d/ r( w" l, r3.修改originalfirstthunk
0 W+ V6 }" D |& b# e; @* T! g# T0 p7 K9 g; b
如图所示
* ]0 e/ z# M8 M; J
) v/ }2 h& _: C$ A
9 J) Z" }. {6 n" l; o( \我们打开loaderpe,依次点 目录--导入表(后面那个横线)+ J* W& `4 M: e( {
% }1 n2 _9 [& _( O$ A我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
1 x% x% R7 I6 @2 ]- Q2 U. _6 x& E5 r; s. ]5 e
我们右键--编辑--把函数后两个00修改为FF/ C( l' @/ a }/ L& y
& f& w: ], L: d7 c& |6 ]0 ~这样可以过小红伞查杀。 虽然会出现错误提示
; E0 [, U2 H4 |
- F" R6 H H2 c# V: V& o但是不影响木马的功能,不影响上线。4 W$ V; b9 h, B* M8 i) m1 Q S
T3 I/ }( `% @7 \9 l: H" X- D# M, v
4.dll后面加20 90法过卡巴查杀. U. `* T: W) I# ^
x1 }/ k. I3 V需要的只是一个c32asm而已,非常简单但却非常有效6 _5 _2 j3 S" A& Z/ Z
- |9 K3 Z( _6 B i& K: s
如图* I; p. R6 d+ ^+ o2 U* D" I
4 G# l2 l/ l) J3 I' k ' w" W% Q8 z n7 y9 U0 _+ u
! z; H( Q1 C. M
我们可以看到,8 O# a% E7 I# A" Z6 `/ o
! C' O& c( \% V: h2 s8 a7 |在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90+ M1 Z" o4 k6 |9 {$ J
' G" s8 M* W4 e
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection3 y7 Y# H) |! z k7 t) p7 |0 e
) P+ D3 [6 X) Q
我们只需要在他的所属dll后面加个20 90就可以了3 v* i) ~/ X/ o( L- @: W2 t
z4 g, v6 S* Y( X* c% R& @卡巴目前还不查杀此免杀方法
4 T& ^0 v9 O8 X6 {( d5 f4 k6 ^# I; G5 |
$ B0 B6 L& J: t2 v* a# a- f1 Z/ C唧唧歪歪这么多,打字有点累了
4 W" ~! H) a; W3 ?# ]$ l' t1 X& ^6 X& J, W! V
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
2 j4 y& e% g; ?! ]8 J
! a3 Y: j$ ^9 A' F[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|