- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
|
最近和一位木马免杀牛人交流,感觉新增进不少,
! o' O0 [! V5 {9 |- ~- {
N/ N$ ~% b6 W: L8 \3 n特拿来分享给大家。
! a! o& e* p& y2 X0 E& C. q$ G3 B# p, E
今天我们不提我们国产的那些杀软,真的垃圾的要死,
, z( Y, K. L: q& a3 S# [
9 n) x- P" o# {/ @上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
# t0 e" y' V- j2 G" R) N, I- P8 t& Q1 u! q
我简单的重建了输入表就把瑞星搞定了,
( e# X9 m; N. u: X# H
d$ g9 ^, ~/ ]; m2 p失去信心了。我曰
# R4 g- Q4 {! ~" X9 F9 J. T- a# e5 A# R3 E/ ~- \3 }7 y w8 \
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。% R4 U0 Y6 @( r, p, ]9 I7 S
9 N# Y5 v. H R% Z" i# {2 N' ~6 Y( b
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
! r; ^6 o4 _8 r' A: ?5 R* |" M7 L# ?* k3 e& x# q
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。- S. D( a4 b# S# s' e% P
) X$ V! X1 |+ Y高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低. Z( B8 J \, \6 ?
+ o% B! Q' t# q过了以后再调到最高,再做免杀。
# Y: K$ \) h/ Y- i! \- W3 b, G7 v
以上是废话,
5 R' h& \) l! h0 q& y
0 d, n2 T7 B# f( |: i n好了,下面我们来说下常见的免杀输入表方法。
% `1 J" k4 _. c' v6 b. N
9 ^; b. M3 y* S; r4 g8 Z一。移位法
9 q; b2 S3 M* P+ t3 K f( h% I8 x% H$ V( ]: M! G
这个已经过时了,我们的国产杀软及时的跟上了时代,4 H S4 I. X% A% V5 B& o3 U' K4 i7 C; D
% \: t1 z% I8 k2 H
移位法在去年过金山和瑞星,还有江民都是可以过的,
1 `: T! D$ Q4 U- R+ I: ^9 V" h5 U; l+ ?1 p* B0 W: Q
现在的杀软智能化了,移位么?呵呵 ,追杀你。
6 n% r; n$ W `% ^0 c1 ?5 D
# F' i5 I0 o! g0 m) g2 N3 |! A如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。: }/ V* t* K; c6 x" A$ d' F
. G4 f! S4 {2 \4 U( z
二,重建输入表
8 h% A' o, K+ A& c
2 i* G" O) A0 G2 \ T效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
; Y. o9 b! o% }! {1 P6 j
4 R- }7 h, h6 \* X6 d; Q这里我介绍下,
) S3 G- w3 u/ f0 M. u2 l+ g; i
* j/ @' W0 a& b1 V. }) f用到工具:$ M4 i: U7 c4 H7 H
importrec1.6
& m7 z$ ]/ q8 x: ^: V/ G% \od; g: S `# f7 j, P% ^. v
c32asm
" d3 M0 t5 P* ]3 N1 C4 {6 Yloaderpe/ x( }3 r0 ?( Q0 N* I& c: K4 ]
这里我们简单的介绍下,如何重建输入表
; {5 o( ] F- b d7 n, v0 F3 C* ?1 \5 P
首先吧文件拖入od,打开inportrec1.6
2 g" Z( i0 \1 y2 v9 w3 ^
5 Y* v0 ?$ R. t$ g& x' w9 m0 Y如图 选择拖入od的程序,& t$ u l* O8 E- G1 {
* G( i; O; o* ?6 w1 L N5 N' ?
4 Y/ t" I0 j' O, W$ F
这个时候,我们打开loaderpe,
" h x& Q: F# L3 X9 U9 K/ z3 k, `2 f3 F, J
拖入我们的木马
' B' J" } R% T. |( r8 R( y; ` O, K5 D; V
选择目录,
' j0 V& G: a3 ]7 L# }( j, `; U6 C) P/ Y+ ~$ u. t# k
我们看到导入表这里。。。( o5 j D3 p0 L( T
$ d0 T5 K) H9 J1 h, d5 p6 e6 ]如图:
* N$ p5 N, q p# e
- Y+ `% } m* K9 E# L$ W2 x9 y5 S3 m O0 u
RVA地址是0001D000 大小是0000154C
5 I% m3 r2 J8 B& m, s3 G2 a3 U2 l8 R- b( N
好的,我们把这两个输入到import1.6里去& V/ T% l: E/ F* p! H4 ]; _
7 ^. A4 g1 k1 Y. k" q
就是在“加载树文件”那上面一点 * S. {4 L/ J r3 K6 r( L4 m
5 k- E+ P0 B/ Y8 K5 L3 m7 T
输入RVA的地址和大小。
8 }, }/ w5 T8 Y) ~' _# w4 e: N( M$ X& `. z7 [
点击“获得输入表”) i j) G5 ?- T7 a5 \
( A% V9 B) E$ L% M: K% Q( C然后点击“显示无效的”
- U) X) [! P0 g7 y2 A Z# B E( P2 ~2 `" J& S [
接着importrec会自动列出# E& }2 c+ W/ @
% x F! ~6 l1 G9 E我们把深蓝色的字体 右键 剪切无效的指针/ X1 Q: C: S( c n! i, O8 b7 g
+ Q% b& @3 B2 T
" s, }2 C9 `; `1 v( q1 f6 V' S
最后,我们点“修理dump”
+ d3 m ?; @! {# E$ n0 W) y& T; }; f6 T; w! a D
选中我们的木马就可以了
" x; i" o+ W* O) a) s6 D; m( o) [; w- F
最后我们要用到c32asm
8 \. L$ O! P d; W$ _* N" C/ V* w2 r9 v3 n6 H. X
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
9 k. Z& f* j7 p; ]. [0 O: C. [3 m! q: \
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
# u! t6 T! l/ D+ H: @3 f2 f5 B- P1 M, V7 \! {1 C5 ~7 V
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,( ]0 Z) v; l! }/ ?( e. m; \* ^
, Q2 \' _+ H8 N; `8 K# F0 q! g我们把马子拖入od的以后,打开了importrec1.63 ?7 c7 D) s |- C$ T5 v1 e1 i _ ?
3 c0 g0 p4 y* v0 _在选项那里,选择根据序数建造输入表和创建新的IAT
% z- v) P9 O3 L$ i8 M
- S9 ]3 T$ ~7 b' r2 e如图
& t' `) _$ ~. y6 q. i( O( i' p; L. a( D6 t' i
7 s) e% Z* s& C& H( V! O以后的步骤照上面的方法继续就可以了( V) P9 i" U- k( N( z' w: D6 x0 q. n* I
4 }; C- l4 a0 U) c7 w
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
/ i( L, i# Z0 H5 }4 {$ ?" ]$ L) F; b9 o* ?
因为kernel32.dll的大小不一样。2 R+ B0 w- H. F" N
& L" @0 D( p, f0 Y s3.修改originalfirstthunk
! P% \" }: w. N3 n9 T! W- b& F+ L* ?6 A c# E+ c( Q7 Z
如图所示
. b% K$ ?7 L: X# e. d7 K" _
c! h1 D$ y& G3 B M( w/ U4 c' m
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
+ u4 j6 J: |4 G _+ W" U8 L O+ m4 u# j2 G
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
# W* I! m) A& G4 r0 n7 v) `0 U" O. k
我们右键--编辑--把函数后两个00修改为FF* a/ g6 q/ t: S. C
/ K6 G Y) @+ ]+ A* r/ b ~. m
这样可以过小红伞查杀。 虽然会出现错误提示6 h" ]4 v# ^; L7 m
/ ` z' R* t0 G: l- x
但是不影响木马的功能,不影响上线。
8 U: [( a: `% j! g
% i/ B% z# V& { }2 s- Y4.dll后面加20 90法过卡巴查杀0 D+ i9 T( \7 I4 }0 m( T- ?1 K
6 \$ J/ H/ J- s* m% h8 v需要的只是一个c32asm而已,非常简单但却非常有效9 z. a; M9 o1 y a
( ~5 O4 b. p. D5 ?# S( z" m如图# L8 u& F: b- Z. p2 M9 k
2 M6 i; S' k6 J
v0 l! A' W, [$ K% n2 r. l3 e
. ~/ R% w% x% v' d' u0 Q2 D我们可以看到,' Q$ R1 d: O+ B+ ]1 H' i8 `* n$ T
3 {' ^7 F& m& |4 ^0 X
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 904 l+ R7 T; \0 e! O
- O( G$ W) B- C! u6 P; X这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection- i- s. @. _' G0 ~! f; t' q" z3 |0 K- b
+ L. p/ U7 t# @0 X* I) U
我们只需要在他的所属dll后面加个20 90就可以了$ J A: h( t' Y3 R1 j
! P4 ~! | \# O6 t
卡巴目前还不查杀此免杀方法/ ^& T, e! P% G# L+ S
" s+ y* M4 z% f! s+ s+ u6 R9 u" R5 }$ R0 [# v, n5 A
唧唧歪歪这么多,打字有点累了
: s/ O# Q" D, N" E2 r
' d: S. D" t9 U9 ^6 t$ v以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
/ j/ b: Y& P" p/ m! P# F8 C
, {3 B6 t' g% u4 Y- ]6 m8 M0 |[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|