|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,1 }( j. j/ k. j/ I$ P
& q' f& p, H9 x5 A2 j( N6 o. P* t
特拿来分享给大家。
9 k3 `! {) R* } z
3 X, e. o) U4 g8 o今天我们不提我们国产的那些杀软,真的垃圾的要死,
# o" m% Y* L6 P
0 \$ u! g# C# B9 V$ g上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
$ ?/ O/ X4 R* n5 e# C0 W/ T( u F, l% h8 ~. p. d6 `5 u
我简单的重建了输入表就把瑞星搞定了,9 s9 N5 ~$ x0 s" {1 U
( l0 f) ?4 E: D5 g H失去信心了。我曰' D# j6 X G' M/ A9 _
I5 H: S8 y) c: c$ P# W
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
1 V! @% `+ Z* c4 N4 S* X& J
0 z0 h. [0 n4 g* q4 j D5 |- x首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
7 o* Y" U) Y, V' n
+ A: w) _8 h* l J外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
! t% u! h3 V& M" }# G- E' n
5 v' L( a# T$ \! _高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
K# }, p0 c* C: @# J6 H
8 W4 Y: T" Z# a6 z" {过了以后再调到最高,再做免杀。
. [* m X0 g# L6 p; P& G3 |+ V L) _0 x: G8 L0 L
以上是废话,6 p! J; L# |$ p6 k w
7 [' e8 S& e6 }6 K. {好了,下面我们来说下常见的免杀输入表方法。
# ^2 C8 n2 G2 x0 @6 {
5 o# F3 Z5 I2 \) {& ^2 D一。移位法% b& x+ `; L! I
& H6 d) j5 ?, L
这个已经过时了,我们的国产杀软及时的跟上了时代,$ y9 S2 m1 d0 c2 c4 Q' |9 [3 ^
. \7 [ A! V' J ], t M移位法在去年过金山和瑞星,还有江民都是可以过的,
% `! [* z, W; L% L1 B. z3 K
. v0 L; g5 U$ e7 ?0 {. x现在的杀软智能化了,移位么?呵呵 ,追杀你。
) E* I Y, n( O9 U( s, Y* X6 [
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
& ~ X: {, h7 ?" ^9 W. q+ k. U- \7 l( o8 T8 q9 H, @
二,重建输入表( ~2 N1 y2 d5 u# @0 |4 K
- r7 A4 @: p) ^5 _& L$ u
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
+ b0 P1 b8 b3 {0 n a( h) i. M! U; V5 M: l
这里我介绍下,6 a. }. }/ \, ~. J& {. v/ e
7 c. N% F/ R! w' I. N
用到工具:
4 a0 ^5 M3 f" \* ]# l( Cimportrec1.6
9 p: D+ e" ~0 M0 w1 t0 ?od9 V( V0 W& ~! x* j" q6 e
c32asm, C9 [! O* G( [( E' W/ E: ?0 L1 [
loaderpe
# m/ o7 y1 c, V) T: |/ M这里我们简单的介绍下,如何重建输入表
% L9 t- `% C5 B f. ]8 F8 f" W# `* O( k& t7 s9 v7 Y$ l4 @
首先吧文件拖入od,打开inportrec1.6
2 d/ \! s: U7 b Z* | B7 {! [+ {1 z
2 t0 J) J3 h9 L9 V7 W/ f6 _- V如图 选择拖入od的程序,5 ]1 z# b x* r( f- y

( a6 ~6 o) ~7 K5 s. B. c
5 g& F" r4 A$ ?这个时候,我们打开loaderpe,
+ q* A; e. ?' ?* _4 N0 B! l! Q% D! C z( t
拖入我们的木马
& w- \7 }. v% `' H2 E6 m( t- Q* ?% w6 Q# z* v$ I
选择目录,
$ {0 |" A, v7 \# |1 B, f
4 J* Q3 m1 D) Z0 |2 d我们看到导入表这里。。。
/ z9 u. ~8 I0 P" Y- u: ~2 a7 o; q8 W$ ~3 F$ T7 N
如图:
/ V$ x5 z; [4 b5 u/ I q9 D
" G6 @8 q; Z9 K4 b9 I+ x5 B+ P2 Z* F# P* ~! L% U9 y2 c) ]
RVA地址是0001D000 大小是0000154C+ O& S" l* s9 ]6 y4 k: {
0 p. e8 D& G, n2 f8 C4 `# Y
好的,我们把这两个输入到import1.6里去' y- E! l @" g/ S3 Q; y
# _( e5 U+ w0 O# j6 I就是在“加载树文件”那上面一点 & Q2 q6 {% |4 g- Q5 s/ w R- `
* [3 v& f. o/ @) Y输入RVA的地址和大小。
/ X8 n& q% t$ K }: h1 t$ j( u
" u1 b/ s; ^3 b P点击“获得输入表”
Z# r0 a! I& q' A" m& a, ]1 y2 f' K3 b$ X2 r9 x4 J, S
然后点击“显示无效的”
* N7 c. c9 b4 K; D+ x' x9 p0 N3 c- [4 c- ?2 t- O y5 e0 j
接着importrec会自动列出
^% X1 ]3 K4 k2 a b2 T6 ?
- y+ W# c i5 m# a$ Y我们把深蓝色的字体 右键 剪切无效的指针
) O0 e. ~/ M4 r$ \9 g
. |, J, r. I+ X
- S3 e( R4 |# y最后,我们点“修理dump”7 C8 Y) t0 u, a
$ r7 V) k: c. g% o7 H. J7 x选中我们的木马就可以了0 Z- Y$ n) l; ]# c% i( z" D, @: A
! P$ l3 T2 f; s- y
最后我们要用到c32asm& h9 K9 u* J! u2 R7 q
# W+ Q6 z+ u9 g2 z# ], h" U3 f
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
, W* b1 a" i& `# ^: [$ _) G' X P- s# k0 V- }! w5 k
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)6 }1 t& c- }! Y+ e2 _! O7 A& h/ b- y
3 I7 T" x, B& y: G" K8 \) I这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤," m- `- m! I- c: `
: ]% E) Y7 Q% w; t0 T我们把马子拖入od的以后,打开了importrec1.6
7 |3 u0 F7 z1 ^: P5 L S F: _- T$ D7 ]! r8 u4 a! {( B
在选项那里,选择根据序数建造输入表和创建新的IAT8 @" M! \3 |8 m9 L! e- w
8 [5 j' V' X3 V" m. V K
如图# T7 ?) j$ \7 _$ w# }

- E1 a. ? J3 `* X) K- a; \2 d9 m# _& I: i+ R0 M: I
以后的步骤照上面的方法继续就可以了# K) g. b: \; q# B3 G
0 o, v1 H" p2 Q* r& ]! o y7 V. _不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了' Q. e. S* ~. [0 R9 {/ l ^- f
7 Z* M) X- r4 {5 q7 c7 m因为kernel32.dll的大小不一样。) K) Y; w7 \/ F
" ]. |$ w2 j5 V
3.修改originalfirstthunk
" ?2 D& }8 M8 }: `% }6 f( ~6 m* d" A2 ~! z) n% D: _# |
如图所示
( m( b V# B+ d& Q, H @3 ^
e2 r5 X# i; ?4 @% e/ A1 G/ t5 b T
* [+ v i L2 e% c1 E我们打开loaderpe,依次点 目录--导入表(后面那个横线)" i" c- f& g3 }( u
+ i) t5 K6 c0 ~' Y我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll2 A, O. t& ^; ?3 z1 o5 u% B
4 i% q+ X+ c0 G0 i5 G7 S9 }
我们右键--编辑--把函数后两个00修改为FF
& _- ]: N$ L+ ^) d/ m' @9 N: C9 w5 P5 ]- I2 c; ~
这样可以过小红伞查杀。 虽然会出现错误提示
$ b( Z% _: e' R/ S
6 P- ]1 q9 h$ G$ B; Q3 j- z- X但是不影响木马的功能,不影响上线。
! b& w5 I7 x, s+ }5 n3 f) D, L) U/ o* b
/ y* X. w9 m' h+ A. t4 X4.dll后面加20 90法过卡巴查杀
! X& H8 j# y. n9 G
- ^8 x% w- f- ^2 |5 } ]/ X4 F需要的只是一个c32asm而已,非常简单但却非常有效
0 R' ^3 T: ]# j6 |8 M
. M8 K3 f8 M0 o6 ?7 p2 [1 p如图
9 S! F6 k( G- r
' y% |: u3 }" g6 L7 G! F! h 4 \9 o" x( D4 M4 r& Q4 H
, m8 y. t7 }5 l" Q2 ?我们可以看到,! L: d; d9 J' U( V# T K: z& g, U1 b
, ^: n' w N, _: n$ I. _* X& n$ E# N
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 901 U; Q# x* V8 U/ e0 D/ K: O" T
3 r- f7 A3 c2 \! t# L h, M
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection3 P$ x/ e# C9 k
4 q2 R( M, E. V# d6 ]* f我们只需要在他的所属dll后面加个20 90就可以了
# C. x2 c, R) A* O; j Y4 f# p
( x; e3 Q) V5 B- f( B: z卡巴目前还不查杀此免杀方法1 b2 Q/ M( @0 a( \. r7 L
- V# ~; @* L/ r6 x# r- Z& C9 g! n
; a) E- j# m' N
唧唧歪歪这么多,打字有点累了
+ y( j* D7 c3 f* N* L( G. T V0 A3 b- H1 h8 A
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。 ]" ^: f9 B3 b% w. k
& F7 d: X7 M+ P* k: d9 T6 y
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|