|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
. _) F1 @. p* \/ Y$ Y$ m- F5 W1 @) j) B# N! x! E9 X/ K
特拿来分享给大家。3 _ \3 d: C+ x( n" E4 P3 q
! S/ Y2 D, c' N% i4 @4 M; n" }* X8 i
今天我们不提我们国产的那些杀软,真的垃圾的要死,! z8 | z) M/ S9 X8 d
: }& H/ |/ |1 W( ?' i+ k- t- b上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
5 c: v' s" q' B3 Q+ I6 [) u
! `7 k$ Q% O7 C4 [" w" K我简单的重建了输入表就把瑞星搞定了,! ` U% e! w3 i; x
% S5 ]3 F y! | @" V' {- e- s
失去信心了。我曰
2 U. r/ r) S' X5 S- r9 z# I
3 h, ^! U+ Q8 C2 O今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
2 _# Y: {9 J3 A- s1 U1 ]: m2 P/ U4 S h8 J
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
( e8 j% D) K9 d3 J: [9 l5 Q0 F K) a" P/ ]7 E4 K
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。% n* T# I: q V3 [7 K9 o
5 P: \# K; `9 M1 m+ |
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
8 I! a; A1 Q* N( V k
3 R6 V4 U! @# k& k; m/ Q: j过了以后再调到最高,再做免杀。/ K8 ~. _$ C8 s# k" x- n. g2 b$ u/ U! D
# F! F" P" ^1 C6 \
以上是废话,8 h- O9 y1 V3 P# q* m+ \
% u3 |! B4 k: ^9 S好了,下面我们来说下常见的免杀输入表方法。! n. d# O; ]& H# V+ m" h1 t
$ r2 ^; d$ t. `* Q( j$ C
一。移位法( `7 R, }7 R6 H
- _: q: a0 E/ R& _ Q7 P% R
这个已经过时了,我们的国产杀软及时的跟上了时代,
. V# s/ H# L* I- v' L# R+ a3 Y$ _ ]
移位法在去年过金山和瑞星,还有江民都是可以过的,
1 S& ~% S2 J* V+ D. x
/ {- f2 P3 S# q: W现在的杀软智能化了,移位么?呵呵 ,追杀你。5 E0 y* n1 W0 h
3 G( V- ]! q& o7 Z3 Q
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
- D; h# R5 u v* D1 t J/ J
( w' L1 g3 u" V, S! q6 E) j二,重建输入表. j8 d4 T( M+ f' L) r8 W
4 V& h5 c) s: s8 i( H
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
& z. A1 r# ^ j# o7 }$ c+ A5 A- B! G8 \ ?9 x, ^
这里我介绍下,! c2 X$ `2 o3 K& e- ^/ z
/ f' D8 p" J. B( p: f& P. Y用到工具:
- P1 p- @# I' Mimportrec1.68 D: M4 S( t t
od
3 p9 t8 w7 |! Q R% Fc32asm3 A4 a* Y. Z+ V
loaderpe
: h3 ]( F: R6 c7 y这里我们简单的介绍下,如何重建输入表0 _, U. T; H; k
2 z# h* A9 y: `4 D& y首先吧文件拖入od,打开inportrec1.6
5 c( X/ ?& r( L- e: `
! Y" @, C6 ~" h如图 选择拖入od的程序,
4 ?6 S$ ?, q3 L: M* N
0 Q2 r5 x: _7 Z# Y$ H6 c* s
! S' O1 H7 P% ?, n这个时候,我们打开loaderpe,7 v9 H F' q" o3 p: `) l% L0 I
' o W/ [" n) a' k0 U3 ^9 j2 }
拖入我们的木马
1 W: p/ R0 y5 F0 y1 { r, v. }4 C" g
选择目录,
1 Y4 V/ K: e, Z; f
) E* Z& W, w0 l7 m4 `- P我们看到导入表这里。。。5 f& V% K$ _" |7 m2 Y' S+ U" {
7 q0 g+ @% |+ s如图:1 o# z5 f& w: S3 r7 Y8 K
/ _) o5 R5 @" W' o5 ~$ U G
2 n) L/ P% T0 T p8 uRVA地址是0001D000 大小是0000154C
3 Q; J+ Z- E) p! D8 F9 t
% x: G# @" T2 }4 r# |; w# }好的,我们把这两个输入到import1.6里去
- u! b6 g) h2 [2 \
4 T5 r0 C8 K% E- ]8 v# p. S就是在“加载树文件”那上面一点 2 K' H8 Q* Y# E, _% X+ [/ a
# A* M: V1 v7 m0 z输入RVA的地址和大小。
5 ?+ b. I# a9 b
% d( @7 O" w- B6 a7 ~4 b点击“获得输入表”+ L/ n3 H* Z" w- S3 b/ f
( R3 m! _1 R. I% N然后点击“显示无效的”& Y' ^' L$ u! I5 T1 e
, E2 X9 D" f; V接着importrec会自动列出( ~; ]5 U r; X2 @ T
, x( V1 x* ]/ r* o$ f我们把深蓝色的字体 右键 剪切无效的指针( H7 n4 c8 z3 N8 ]
6 y: ?( j" {2 r8 L. J
8 J6 Q) w8 S I6 }1 y% b6 q1 i4 [7 e最后,我们点“修理dump”
7 _" Y( a) j, c
' m2 s' R/ S+ b4 S选中我们的木马就可以了: ]5 c/ M, E% n; N/ J
: {% F- u! n' G* {最后我们要用到c32asm$ D# `% x+ a# Q6 m9 }) s" d
" N. B$ E* R( ?; B2 b我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。& R- u5 P: j8 j f% `2 y
; q! e3 b1 t0 d) z) { p
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)0 d: l9 X8 \* ?+ z0 o1 \& O9 C1 g: f0 f
9 V: {% ^6 p0 q6 u# J) v7 j
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,) s8 C; L4 Q. D# Z, c
" x- ]" N/ J+ d; {3 ?3 ~5 }+ m$ `
我们把马子拖入od的以后,打开了importrec1.6
8 m- x2 j5 n; _* N, P5 U
& l8 F+ z9 ]& W+ Q/ R在选项那里,选择根据序数建造输入表和创建新的IAT6 F# K" [: K. Z, [, |; q
) _# Q5 {9 H# N& @1 y" m& k6 |9 h
如图" W! }: B5 a3 P( I+ G9 S* ?# }
; f, w4 C/ J6 }+ e" E" F
% M7 m/ L7 B8 y4 `
以后的步骤照上面的方法继续就可以了
1 v/ g! Y; Z$ ^8 s: }- Z9 V; A& m4 D& v f, _* y2 n
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
" c5 J( E2 M8 @4 g! T7 R9 v' U* y3 ] r# T. Z% F
因为kernel32.dll的大小不一样。
) z6 P+ W5 S4 W8 a! }7 J
: D* o4 r+ c+ I& u# L3 y% |7 X3 e3.修改originalfirstthunk X E8 T7 i Q& v
9 }7 \' w1 ?% C3 t
如图所示
& f" B' y) X+ i) k3 @/ D 7 P- \% m/ D2 |
( S C6 a( o% R( I& A$ y; v2 n8 y \6 n
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
+ k" A: I0 V; H5 X! r- H/ u& L1 S$ K. L0 G0 _
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
4 d- Y$ C" O. \+ ]
: g' r; }0 Z/ F( B我们右键--编辑--把函数后两个00修改为FF
( Y6 E' q0 [2 k' N6 u
! j+ Q2 q3 w! O$ {这样可以过小红伞查杀。 虽然会出现错误提示6 F" d5 \3 j3 w; {+ S
' o# ?' `9 k/ f' D% T( Q但是不影响木马的功能,不影响上线。7 R/ a" V: C; ]
* _" s( C. `" P4.dll后面加20 90法过卡巴查杀' X& O% T7 ]+ r5 q
3 I8 M8 F: ?: f* K/ U- w: i
需要的只是一个c32asm而已,非常简单但却非常有效
2 _, y6 y- |: |! d6 E! y. ^8 r8 d" R+ g5 O
如图! U! r" \- ^! ?# O9 e: ^( ~
3 ]* |6 A) _- h1 i9 w
# H( I1 R x7 T; x4 ]' i
6 g/ T7 i/ J1 ~' B4 ~- e
我们可以看到,
' i+ t4 d6 G5 O* m3 `. g8 k* R7 k0 H# d* S5 V# N
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
! I4 p5 n+ f3 s r/ W8 E: E# a) L: K" l" t2 Z! C* Q
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
& q& p, K+ R0 F+ ?9 d1 t& N# v2 t7 K. i* F
我们只需要在他的所属dll后面加个20 90就可以了6 [7 D1 q+ C$ h+ a: \' O
! K$ R9 H m7 j3 Z( r; F$ k- I7 i: N卡巴目前还不查杀此免杀方法7 ^) z2 ?% f) `4 p7 {
2 q0 @% E& z$ S# d% ^
; D0 e- e M* I& l2 v( c3 _/ T唧唧歪歪这么多,打字有点累了9 @! b: d9 n/ B( d
9 m% C5 T" x& B( b4 J4 u4 L
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。7 ]6 g- W4 B; d" R
- e, w0 o+ C+ k- V6 Z8 L[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|