|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,7 Z6 E' j" G& t6 x
6 F* x6 r' W9 `% Z; E
特拿来分享给大家。7 b p" E; C: n
3 J) w" w4 u. Y: _ A/ s今天我们不提我们国产的那些杀软,真的垃圾的要死,
# d" d( o, M9 o" x9 g/ \: ?
& } G4 A4 ? T1 Q4 [) m上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表2 Y' ?; h$ g5 k5 l2 }% x6 ]: B
, r9 k1 h2 z6 R8 [5 ~. _/ b
我简单的重建了输入表就把瑞星搞定了,
# ]: X- k) z0 o, l; {* y; @( l" p! o G8 [# h# R
失去信心了。我曰- V3 Q ?. j3 o4 D
" c2 i6 `5 p- a今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
( O! f# ?1 g; q0 Q1 T) c/ E5 s1 M0 W! e) q5 E
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。" s1 A; |, D& X/ p
* J ^& L( p( j5 v! u& g外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
; ~7 _, z8 I7 N- K2 R' {
0 l% y$ ~! C# W( {$ X- v. o$ S高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低2 }, e6 a3 h d! u% N7 G
( F U/ C8 T7 O( k. i. C过了以后再调到最高,再做免杀。 J: n u/ a: d# J/ l
, N/ C# ~3 L) F2 s, ] m% @, B
以上是废话,* F( v6 y5 k/ U' U- Z
4 N( I6 I* \; }" F好了,下面我们来说下常见的免杀输入表方法。
; I- ^. \( }; A( K, N
! o1 I' _+ U2 }7 X% r( R一。移位法# h# \, V5 c4 F& s9 ^% Y9 @$ B
8 A8 d+ d+ r c+ E
这个已经过时了,我们的国产杀软及时的跟上了时代,
5 b7 e: u' d8 a8 Y3 ^
# [" M) `6 L; {( X) \移位法在去年过金山和瑞星,还有江民都是可以过的,
! ^; H8 P! s+ l `- H0 U# i! C8 f! @% [, u) y
现在的杀软智能化了,移位么?呵呵 ,追杀你。
: C, Y0 q/ D4 x7 ?6 _# Y
# y( V6 r. y- t# t! M. [% Y0 a如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。4 h5 L' k u1 ]7 S
) p( o; U# E1 R, C& K3 K' t' j
二,重建输入表- O# \6 g5 o0 u& M F( W
# ~, M6 {1 i1 H. c& m d1 a效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈8 r8 X" g) Z4 I5 B1 C
( Q) m+ y k- F这里我介绍下,
- c" ~7 u2 b/ R9 F. U% t4 {' t8 o# v) @( y: l% m
用到工具:
3 M3 P1 @% r+ A$ z, iimportrec1.6( |6 T# k" _5 Y+ b1 x' _! K
od2 x# m, {) U( T" o3 C- z/ \% K
c32asm
6 e; @9 z* _+ }- L( Nloaderpe6 b# F5 Z9 r2 j
这里我们简单的介绍下,如何重建输入表
# @/ i6 O# i# x7 \6 ~; m; N& D; [3 i* ~4 K- x
首先吧文件拖入od,打开inportrec1.6
, R4 ~8 ?" K$ ?, m. j+ L2 x w- s, S/ f+ f* ?( S+ N
如图 选择拖入od的程序,! _! k& A! ~1 G9 R

% T% |. D* u1 M% f
$ {# ]3 [6 f3 n! t# i* R这个时候,我们打开loaderpe,
/ J$ k5 b+ `" y) v' V3 X
, @* M; R/ k! W) }1 g! Q$ G拖入我们的木马
: D# m0 m+ m1 B9 Z5 w7 H; P# a& R+ K: \, T' g
选择目录,
# Y g9 O( _% n* u" \. A3 q5 A# T. R- \$ J2 A& K$ z7 K
我们看到导入表这里。。。
9 F. ^6 L( h! d+ \
+ q. e& v% j4 e% ?6 p% `" N如图:
" i. _/ j Y3 u7 b5 V6 Y4 O
" ~' H8 t- y) v* V7 m, p5 I* _1 R! N# M9 d" h5 U, c
RVA地址是0001D000 大小是0000154C
; h9 n& w" i/ J# W/ u6 A' y' s# F2 r8 \# p: A. g, Y
好的,我们把这两个输入到import1.6里去
% ?7 B/ A4 V9 D5 Z @
6 \+ [8 f" t; g" X1 e就是在“加载树文件”那上面一点
4 Q! A3 P. A9 j7 |* v& a
' ^9 x0 a. ~( s+ u: T输入RVA的地址和大小。; k$ l/ |3 h. c; u- b) \4 }0 R
' z8 W/ ^5 x: b0 X8 R6 n3 m& e* X$ N
点击“获得输入表”
' c8 X( R1 e& r; `% _# k4 E9 X: ~" i7 K
然后点击“显示无效的”: K4 |+ _" L" s6 n) |1 _! {0 c
8 P+ x8 ~: F" a x1 [" W
接着importrec会自动列出8 u# d8 ~2 m% J. u5 b
5 j: w5 ^5 B0 E- S% p
我们把深蓝色的字体 右键 剪切无效的指针/ y( ?8 l6 V6 Q/ w! r
" R2 z4 M# \* I7 S
5 W' k3 c; L) ?+ B; B
最后,我们点“修理dump”4 R* J7 K0 g1 v1 k! v
: K% x0 b" D& C) U选中我们的木马就可以了$ @" o$ ?6 L: h( ^
4 s$ Y# D \3 w3 y7 Z5 V最后我们要用到c32asm
$ \) i1 v& B( g' k: p( C- o7 v
! L) a0 y3 E# v: ~" n5 X- V5 i我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
1 [# ?3 f) S/ J+ P3 W1 B. R$ f/ V, t) p
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)+ `# F. M+ E' u9 U U
; T0 Z+ n, {" i6 s这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,' _/ \+ p) \8 a- F; S4 C k; t' z
$ Y0 |# }8 X$ Q
我们把马子拖入od的以后,打开了importrec1.6/ d' B8 c5 R6 U# ?3 ?0 t
) b9 ^& v% q W* q在选项那里,选择根据序数建造输入表和创建新的IAT7 P3 j) T2 w7 e& Z3 q9 C
8 [' O8 E8 u0 u! p
如图) T3 M# S/ C/ y1 L* ~/ Q
7 p% S; Y; A( y! [7 Y8 L3 v
7 z1 ~7 v- X5 p" z
以后的步骤照上面的方法继续就可以了
" g% T# s8 ?3 |. m- n
9 w0 D% Y$ s M# _" p( T8 w不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
' F" \! `$ w- y: o; p2 v! \$ l2 ~/ L5 m3 [9 `4 V
因为kernel32.dll的大小不一样。
8 N3 y% [: p' X% @' @% `9 y( f/ G* Z9 V4 y, x; f, ?
3.修改originalfirstthunk5 S- V) x" P1 ]" K' U- i
' z2 X' [ J1 m& O3 @如图所示
8 h) E# I7 ^2 f# t5 Z# Y4 p8 F / B o7 E! F4 c1 \
5 J# Y( E$ k8 d% r; Z: N
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
0 s3 j; q- s) d; k( f2 n& R8 q+ \) N Z; D
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
% I7 e* {8 I) y+ N3 t* |3 [8 v5 N" Y3 H( s% D. G& O/ C
我们右键--编辑--把函数后两个00修改为FF
; D0 _' W" t1 U* G T
2 Y: ^/ S+ S+ `. Y# f6 m这样可以过小红伞查杀。 虽然会出现错误提示# ]6 O. B* c7 p3 J$ O8 w7 i) |
5 p) V7 f# _/ k- o1 V9 E但是不影响木马的功能,不影响上线。) m2 [ ^4 ?" x+ _8 I- N% {2 W
4 R J0 B( e d
4.dll后面加20 90法过卡巴查杀1 i2 p. H) o" m) }
; @7 t. q0 Y6 s+ D
需要的只是一个c32asm而已,非常简单但却非常有效+ V0 r. m+ y6 H& t
6 ]* Y2 X) W, n3 m
如图8 M* |% C+ O$ p: G5 k8 B
" O2 x- A9 S1 c; m# ~ . F U: k- a. H' ?* N" V3 g- y3 _
9 ~( V+ m) p m5 Q! J* y7 A z我们可以看到,
- }( A8 W$ ~ }4 Z; n
, p) R( a, J" W+ N0 @在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
5 x6 Q# ~' s, R( w# W
) y$ t1 s1 H8 y* T: F这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection1 j/ i" \% ~( H- }
' O* X+ ^( }8 k/ {. ]! x( p
我们只需要在他的所属dll后面加个20 90就可以了
2 a3 l( Z, W* {$ i! v0 _# _& D$ z- T1 P) r0 @3 X
卡巴目前还不查杀此免杀方法
$ ?1 j$ z) `0 X5 x& [9 S* j! x" j" _# |; H9 R0 T1 f
% q6 X2 t P6 t: \
唧唧歪歪这么多,打字有点累了0 ~2 ?. {8 ^; |. W) ]
% B! t" ?, A% W" j
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。6 E6 v4 w& I9 Y
3 v6 j: @ H$ V; H7 T7 F
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|