|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
2 }+ k% \; i1 ~& T; h
( o. N1 H* R5 T4 _特拿来分享给大家。
( Y+ v% \5 u9 _1 S; o- n+ B/ s7 U: O
今天我们不提我们国产的那些杀软,真的垃圾的要死,
. `# b" z5 S( Y4 Q3 _
/ p$ _8 s4 M( w上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表9 r0 P+ @3 g8 ?3 A# _. A( E9 S
5 D/ N3 r. P" {8 k2 g
我简单的重建了输入表就把瑞星搞定了,* y3 F" h4 r$ u/ @1 l( [; V- c/ S7 z
% R. A/ L; u( w# j/ X6 [+ R+ t失去信心了。我曰0 I$ s. O! a* ] H8 u' U4 x/ {9 e
' T% t% L0 _, W7 ]
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。0 Q$ b! o2 O. x" x! ^
& ~2 }. b4 G7 l- q4 u6 t5 a( K首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
9 o R6 P2 r- f( f1 C
2 G; ]; t4 p+ a* ~( h外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
& A! @1 c* i8 X# O ~* E8 C' `1 i$ C4 N5 r
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低) Q) a* n U2 {7 p9 q& H. O
' P# Z9 v' Z/ `* R9 U8 k过了以后再调到最高,再做免杀。
8 ? b' F9 m0 V; Q( b1 ]) |5 h9 i( a$ F+ G# x) ?4 z
以上是废话,' [: k9 N2 [; U! M
" y" I9 T- J" m( @ u. C
好了,下面我们来说下常见的免杀输入表方法。
m! K% [& A: R4 v! v9 d. M( J$ D2 U
一。移位法4 A6 X2 L% Q) A/ b7 L4 a! M7 |; a
+ `) }* M4 Q2 t# e! \这个已经过时了,我们的国产杀软及时的跟上了时代,
' G) y" g k, q; y+ M- \2 r- v7 N" g: L; k, y
移位法在去年过金山和瑞星,还有江民都是可以过的," I; o9 P$ F1 c2 t
& m% w R# ?/ h7 _" s% b5 l现在的杀软智能化了,移位么?呵呵 ,追杀你。 D5 a& k. g6 |5 F5 M5 s8 v& o
8 ^7 V: |0 W3 v+ F
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
: {! T- \) E! K2 e( j2 I: I. b# q5 `
二,重建输入表+ J: ^+ m8 h% @8 J" r" j$ f$ }
\8 g6 K f% l3 m
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
# W/ D. I4 [0 O+ G) K% @$ p- y, u+ w6 J- ^% K; j$ {! {! G
这里我介绍下,% c1 s% i6 k C: R
/ G: {" S' N4 q2 y
用到工具:, A/ ?) R/ S" g$ D4 G
importrec1.68 {6 R) e" X+ H% J
od4 J: `2 V6 O6 t0 J, f
c32asm0 e$ c! |3 @1 {: @% y8 T
loaderpe M5 c% G) J2 l& G
这里我们简单的介绍下,如何重建输入表
9 C3 u$ Y$ | ?. R6 R- A
3 l8 j s, w1 u' q+ a' G首先吧文件拖入od,打开inportrec1.6& P, v0 L! H4 e8 Y5 l5 ~
8 w0 `9 t% s) N) s3 ~5 e' K
如图 选择拖入od的程序,
* Q" e* ]! X' A2 B$ l5 V) l. T* r" a. k
8 D) F/ A/ [/ |! A/ c! a1 H/ @/ Q/ g4 `/ `! \0 a. L, t( s8 G: K
这个时候,我们打开loaderpe,
- D7 t: @' v1 D, v1 w9 E; F
, n: ]; e- Y9 E, L$ l3 |; l6 k* g拖入我们的木马
E/ P( a% _0 L; }- F; W a/ s, E
~9 L; Z% Q: {选择目录,: {& m$ x7 B5 z# ?! `
- T: Y& G4 _; O7 u8 V! T
我们看到导入表这里。。。4 I `* h3 Y7 k
' h7 g( M! Y% F6 z1 ^
如图:+ E. t1 ` Z% C! p* p ~$ e

7 \ }: G" `% K
, L5 |. J" S7 v6 r) x7 ?6 dRVA地址是0001D000 大小是0000154C
( s6 h- O9 w- t1 j* W" e$ m
8 |8 Z. T; s) Q2 Y好的,我们把这两个输入到import1.6里去6 t1 H: [2 L' ~
1 b8 T2 t( ~8 L# d, C. J" }0 E就是在“加载树文件”那上面一点 $ Z% l/ z; m% x
) }9 B6 q3 U" @) w# ^5 p" |4 m输入RVA的地址和大小。
* E$ E7 {0 r9 J" z& R; Q
2 [ O6 P* M4 X) ^+ K点击“获得输入表”
- G# p; e/ c& L8 X9 x; P! y/ Z' d2 z) {9 N- j/ J
然后点击“显示无效的”) n$ Q# J+ S8 N6 L" w
, T5 d6 T4 H- K& b, S接着importrec会自动列出7 c5 j1 i3 r0 J- e8 C
! x7 h2 S( Q& @我们把深蓝色的字体 右键 剪切无效的指针9 O% c. s! F5 H* S5 p, g$ Y
/ I; q$ V( d' t+ a; k: [# i% L$ X. k. K( H! ^& r2 g$ W. A. J
最后,我们点“修理dump”
, M/ a" ^/ o$ P' ]) X4 F( ]! k1 H/ |
选中我们的木马就可以了
, N! [1 m7 {/ b7 `, D+ t1 g: C$ _- I. w2 r: }: I5 b
最后我们要用到c32asm
' Q% G7 p W e7 X+ S
: F& o! V0 V, M8 v; I- E! f1 Z我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。$ @3 @+ \9 Y0 j
: ?: w. B- P5 ]这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)" T/ Q! z/ q! L, O, C! d0 y
7 H5 `& t" [. C9 }
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,. p- d9 V7 f: {2 L
9 b" Y* `. J- o4 f1 @
我们把马子拖入od的以后,打开了importrec1.6
; ]1 l; o7 U' {9 H. J
, n7 e! d/ e/ `$ o; B. x3 Q在选项那里,选择根据序数建造输入表和创建新的IAT$ C6 X9 s4 H, b9 V7 ^/ a. _* ]9 f. D
% ~) y8 ?" w/ i/ w
如图0 m2 S5 |% ]5 ?: n. C0 L9 l

7 {* K6 S# B; O0 z1 I T4 U; l' m9 Q4 l, |: c0 Z( n
以后的步骤照上面的方法继续就可以了1 C# q" t! u8 X% Z0 ^: o0 g
: ~- d; x0 Y- t H8 V" {' u/ w
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
$ S0 t! }4 w$ z
) H9 |- A# D3 a3 K6 G因为kernel32.dll的大小不一样。
0 s. q' e5 Y* _& q1 r; b7 m$ D
C$ g# c1 u' ` P! x4 J+ g& L3.修改originalfirstthunk
' G) T. c/ c/ r0 @2 `
! B- X9 g3 o+ N/ `如图所示
9 i$ }5 {- {1 T/ `/ h+ H @0 i8 j
* H. x$ F3 x0 `! F/ k- ~/ W" g
0 |. t4 x2 p `" P( q: H) h" a我们打开loaderpe,依次点 目录--导入表(后面那个横线)
0 ?$ Z3 v7 B' x6 u
) v# h- S: w$ N2 q" r5 x- x( b我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll9 L/ {1 j$ z( l8 L6 n8 {9 [
" I$ L4 a" t/ Z. z9 N; o我们右键--编辑--把函数后两个00修改为FF
8 a+ [6 E: d8 @' P+ ], a. _7 C# W0 H( ]* f; a9 \
这样可以过小红伞查杀。 虽然会出现错误提示
7 M) H/ x5 A* q# R8 i. w2 `; o* x# I
, _8 L- O6 W% U. _7 ?0 i但是不影响木马的功能,不影响上线。) c8 x1 T+ ~! c, L7 l
# i) T3 N" B7 F g' v9 y0 w4.dll后面加20 90法过卡巴查杀4 |3 f" ^0 D& v: F8 H5 e) I
1 J0 T& N3 ?2 P" s+ h需要的只是一个c32asm而已,非常简单但却非常有效+ P% K7 v) d9 \0 Y
; i2 C) z2 P" I& ]# e% Z: o$ H
如图( f) W- f$ E. {" J Q5 u
# J3 J! _, k- ~4 @" c: c/ D, V
: q: q, }) Y" v: y' z5 p- ~3 U
- ?% U6 G5 ~# n我们可以看到,
4 P p |. ~# j; S; O; G3 W7 {4 w- S
) G; A7 c- e, }% C; J: B在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
8 V5 z+ V# g/ N1 f$ h5 Q1 C1 _/ |# [* P& ?: e! U' E0 G/ U. y
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
4 a( S- ]0 X9 `' E9 ^" {/ I; L# p) |- g7 d# c
我们只需要在他的所属dll后面加个20 90就可以了
2 E \. E& s% H7 h3 d' a( R2 `/ ~: Y7 r
卡巴目前还不查杀此免杀方法
1 u+ ^6 P4 ?4 m% G9 l( Z* f7 a
% t/ l& c1 ~) v6 i6 a& S( {$ T4 A# H3 |$ v$ f0 S# \1 Z( v5 s
唧唧歪歪这么多,打字有点累了. f: W5 O' S/ s! }# R1 |8 o
8 p U" D* Y0 x* Q
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。1 O" n3 S' b3 K3 x0 g; _
5 ^# [: g7 ?% n9 X! M. l[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|