|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
# W# H3 U7 R1 u
) w- \* d$ @3 \+ H% Y特拿来分享给大家。
9 f8 H, R3 C9 B4 v& y0 i5 h' q
/ r* @% R3 u+ a0 x# U/ M今天我们不提我们国产的那些杀软,真的垃圾的要死,
4 |: M; k4 V' W/ N+ e5 p( N; v0 [) `
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表 ^2 [% }; s" d/ w7 }3 R
: u/ a" R3 J' c8 p( O我简单的重建了输入表就把瑞星搞定了,+ {( h1 \, P8 p' T, C" [; h
" {+ A2 T2 M3 h4 g8 W7 j; `
失去信心了。我曰
( B* \7 v# ]8 A! ~
& \6 ~9 b% w0 V( b5 b3 j6 e今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。1 ~5 ^( g7 ?: @) f( b. y9 k
! b8 a U0 F, V. n; M5 {! Z8 S
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
- ~- u- x$ B4 D% g" ^1 K) @) l% Z" K( g, Y4 e' \+ G+ x
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。5 D# F h; [8 J- m$ A! B H: n6 o
# c0 ]! x# a' S高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低1 R* ]- |6 A- O! c) l& o
3 [; p" k ~, S, V8 J0 r
过了以后再调到最高,再做免杀。
1 K( \& J; d- k+ A) i! I( |, j* ~1 R; t) n7 V+ @2 K7 n% U* P" C
以上是废话,9 g- q) I" B8 O$ {/ s
5 u0 a$ J6 v$ e8 t好了,下面我们来说下常见的免杀输入表方法。. ^1 E/ [2 S7 n4 h3 s
3 V8 n- A5 M6 L) ?' r( p+ W
一。移位法
& R- j; G! C) ~2 c, B, f4 {. x. k3 m7 i7 P8 |
这个已经过时了,我们的国产杀软及时的跟上了时代," Q+ i- v: N1 m: G. P
8 V8 \6 N6 @3 a/ O8 A
移位法在去年过金山和瑞星,还有江民都是可以过的,' ]$ h" p* l$ Q' I; a9 c
1 M* ~, [1 @7 C9 x
现在的杀软智能化了,移位么?呵呵 ,追杀你。
. J0 O L0 W2 `; J, X5 g6 f
. Q- H$ H9 _3 R- A: Z+ z/ O& D2 P' h如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。# @+ v; y! t) W+ u; Z
: n% S( a4 d e1 o1 L9 H* M2 v二,重建输入表/ ^0 w& ]7 K; t: N6 U
$ B4 m% ?7 q4 q _. \. O! h效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
/ @& H5 g# R& G; ]- G
1 S( U! k' {5 f9 j这里我介绍下,
1 ?% T6 g3 [% Z8 V0 [2 B% @% }0 q! \1 ? L( w9 H+ r; K
用到工具:, m( [+ d! D9 L8 a( N
importrec1.6
. |2 o# y. i/ `od5 C! ?. W2 Y: D+ S' D/ f$ d: h$ M
c32asm
4 D Y- t5 k: w& \) Yloaderpe
3 X0 ~! {$ k Y |: k6 C, l; ^这里我们简单的介绍下,如何重建输入表
- k! @% `% u/ O2 I5 E- s- W6 c4 ?' W. [' a h7 x+ ~2 x/ E
首先吧文件拖入od,打开inportrec1.62 d( V7 h9 `7 T- j) d" Z
# T2 A5 F- d' L$ V# u- o9 B+ ?
如图 选择拖入od的程序,, f2 `" \% b; o ]& p

) [1 x2 @1 F8 J, A. a9 h& j
0 }9 P9 ~& a0 N: _2 U6 i, j' Z这个时候,我们打开loaderpe,4 m" v; y, l. P7 _
; I# `1 ], p' D& d" _7 _拖入我们的木马9 F3 S7 B: [( ]
. l& y* C. q# S W* {% m选择目录,
9 `' z F- w2 y" R$ }* n7 |) u0 }$ y l- u6 h2 T2 ?$ P% k
我们看到导入表这里。。。! f6 Q9 i) z) J1 q! }+ J
& j/ {, M3 s& [' g
如图:
' H" F1 _* ~% e ( g, ]9 ?$ p; e- a7 |& l4 M
% d" V, E( ?. ~* x; E3 w$ B) ?
RVA地址是0001D000 大小是0000154C% S/ g# |, R9 Y, }9 E* ]+ @
8 C1 S* C" u. Q( S
好的,我们把这两个输入到import1.6里去
4 R5 M* a% V0 s y- t" a V) `0 M# P2 p% z8 W7 ~
就是在“加载树文件”那上面一点 0 l! d! ^% y* d! [
5 ?7 T5 T1 X( B0 v/ a输入RVA的地址和大小。
2 e) U. Z6 R1 k5 G1 @9 H
8 r1 ^3 r( h' ?: u, J3 A+ X; G3 x点击“获得输入表”
$ q% w( h8 h% [; l1 B/ M0 }- j, Z( u, R- ?# m
然后点击“显示无效的”, U: j9 U( m/ z
. H3 e9 ~. }' D# o/ m' ~6 U接着importrec会自动列出: m( f2 @! L+ @. J
- A( \% g% b4 X$ V8 R我们把深蓝色的字体 右键 剪切无效的指针
: b% ?$ m2 x9 V( g6 b1 I' E3 F9 B+ Z) r( e/ O2 F
' S' v( e' }" G) S" X s- j最后,我们点“修理dump”
. k U4 t' v7 ^& D7 \3 N; I" l3 y0 x2 a0 `
选中我们的木马就可以了% |6 s" w8 @9 v
; v1 Y5 |9 j2 C5 N8 x& d
最后我们要用到c32asm
# P3 B# ?& S" ]0 l, L
+ A# T# Q# p- [* @! M, c我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。# K3 I" w3 ~$ I# |( t
' f( l; G4 s& N% d1 Y& a) r) N这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
1 E0 w2 i) O% U. ]' R$ O% F. \$ r" _. c. x8 W1 U8 j4 G* P; M
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,4 _% G5 H- j/ K
3 Y+ g" G" d8 l/ s# [! @) p' X
我们把马子拖入od的以后,打开了importrec1.6
1 \7 \2 } V% n0 W2 M
9 w% S' a0 F9 R0 _( u( G在选项那里,选择根据序数建造输入表和创建新的IAT
& R/ Y) }+ W+ k: H5 M5 r6 p! h' E5 z) _- x! K0 M. @& ?9 x# V
如图
7 D0 o/ o9 a! y! e. { 4 N# Q2 C: _+ o6 y# P: Q( E
4 h) S9 C5 {$ ?# q ~9 |以后的步骤照上面的方法继续就可以了7 v7 S9 W( E6 f% G- [
' v. C/ a) r- b1 Q" {% W, `- w3 b不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
& S( ]- W. _7 x0 ^4 Q/ d, G" b! {! q E3 S, @
因为kernel32.dll的大小不一样。
. W' ]6 d$ \% p8 ~) s8 g
6 F9 a* C( e, `+ j5 ~) M* l3.修改originalfirstthunk" K5 e; p7 l1 f+ p9 B0 L* O1 f
; y" X, C* d5 Y3 F# r% u! x5 B
如图所示
* ?5 R& y5 u0 C$ I
! l, A6 z* [; f' Y+ z/ Z3 O! o$ u8 \/ g/ z% F, V
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
. p( t3 X2 S4 y$ e! ^) |# r% X: v/ O$ x+ ?
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
; s; h! ? J' t/ \7 {
& L& @' `1 Q y& H2 Q; R我们右键--编辑--把函数后两个00修改为FF
( u, ~: {. O2 {1 _' y, V2 v- x1 ^3 B
这样可以过小红伞查杀。 虽然会出现错误提示$ z3 u9 [: s' m# Y% S. j
8 o9 i9 B! I! u
但是不影响木马的功能,不影响上线。
' ]% v. s/ X _
) w5 c7 c4 l6 g% Y; F: V4.dll后面加20 90法过卡巴查杀" `: R$ x# F$ a- ]/ S
6 R% _7 ]1 y- E" U8 c需要的只是一个c32asm而已,非常简单但却非常有效* R% a+ I! e5 l3 \& S t- @. j
* [( i5 X5 V$ c: u
如图! B+ K1 p8 X4 O" K' U! T
, G8 T5 O% D7 D$ @3 d 7 |( X: ]% r! m/ P/ c& V5 I! @
+ J% l* {) p# L& j; A. B我们可以看到, Y5 B! J, e$ M. N
" k. X1 w$ T& [! @" w3 B在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
z) q* ` u4 g1 b+ s: X! p+ @7 j- i) g; \' z- N5 S
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
5 S' X8 K, B) C/ x3 x% \; H0 G2 U6 G" \4 M0 `' X. s
我们只需要在他的所属dll后面加个20 90就可以了
# `6 D! j* B/ V: V }; Z( W/ `2 N- M0 w+ o9 B ^6 c9 l
卡巴目前还不查杀此免杀方法
/ l* K* J: V- c( Q9 l8 X) ?* f+ F
7 P/ c+ D \. d5 b2 i9 o5 l& ? A唧唧歪歪这么多,打字有点累了, D; s! \; W$ m5 d8 A6 ?; c( x
- f; B1 h- L$ [ x3 H以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。7 e8 j0 S E& C/ N
) {8 T% i0 g' x" S K N( U$ i% U8 n
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|