|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,7 m0 O" v/ v) T* ?8 _: B# g* C9 B
$ _6 f# v6 w7 q; L/ D特拿来分享给大家。* I! ]0 E+ H. u
; \% Z' B- o$ g
今天我们不提我们国产的那些杀软,真的垃圾的要死,2 }% d0 L+ v' P
3 r; C" o2 l. v# K1 P上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
( U. q) g9 n$ f8 A# Q" I& O: m+ j; t& a: f# q$ ]+ P
我简单的重建了输入表就把瑞星搞定了,
& a% F2 K$ J: b6 b& h! H
$ o! `, h; q% W3 g失去信心了。我曰
9 \% ?; G4 }8 M& H/ y Y) t1 D
4 f0 U3 L: J' u9 ]$ i今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
: l5 d3 c8 J* ]. F" L4 R% o8 L& ^4 s6 n4 z
首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。
2 A+ U) U5 k/ k, d) u2 e& R$ E' Q
3 p, j9 d9 Y) Y+ p外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。2 P) z6 G# J% ?8 v, @+ Q" j
/ v4 s: l0 x/ e3 L
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
l y$ J# y. f# I7 r- r) z
7 \. ~8 S; b" N# D8 l过了以后再调到最高,再做免杀。 ]* X/ U7 ^* F& B, A% W
- Q6 C1 `4 k' m8 D4 W+ _8 G以上是废话,
2 j* a* l! k4 {( W' y6 ^+ R3 }/ ~' \1 N
好了,下面我们来说下常见的免杀输入表方法。3 ]$ s" P9 F4 x1 E) N) |( p
9 K: H7 \3 T- i一。移位法# d% Y8 ^0 h, x; ?$ e) y2 h% b2 L
2 g$ E5 F" e8 s2 B这个已经过时了,我们的国产杀软及时的跟上了时代,
/ z% o# F9 H& j' S. W) U7 \: z! [! o0 L, [3 C
移位法在去年过金山和瑞星,还有江民都是可以过的,
) v5 x" j0 F+ p4 a% e* j# C9 G! r$ ~
现在的杀软智能化了,移位么?呵呵 ,追杀你。
( X( s2 ?& P' s2 [5 s" Q% }8 V5 D2 E, F9 T# `( y! @& R$ ^) Q2 T6 M/ W
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。7 w5 f) _% w' S8 S5 ]3 V
: |* m7 Y+ C9 b4 I, }/ g
二,重建输入表- p' R; W; W- _6 a6 b2 x0 x; [$ ]
$ Q$ C5 q/ q! X
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
1 B0 I" q. C# B7 E, t' H+ G& H- F @- O7 M$ ]% J0 E
这里我介绍下,
. t9 _9 \* B# ~4 l. [ P6 E/ {6 k9 y, ?9 f" k
用到工具:( r {* s' h- E5 F! k0 j0 d# }
importrec1.6* v0 p+ H- o3 r h& p/ K
od
- u# u, Q" c* L; X( [ u$ G# ?c32asm% u8 p9 G* v+ X- z
loaderpe6 O8 k' \6 I+ o1 d
这里我们简单的介绍下,如何重建输入表7 W1 l' G) O7 f
, R* S# }) E5 O D( c B
首先吧文件拖入od,打开inportrec1.69 S( M7 a8 V/ |* d+ H1 F V6 J# J, }
9 x6 l) O H* A0 r
如图 选择拖入od的程序,1 w- r4 N S9 B$ L+ c& u: \$ Z
% P& n }; N5 G, Q; K4 w0 K: K) E
$ c$ e# {4 d$ b" l1 Q
这个时候,我们打开loaderpe,) Q o: \4 O& I4 |/ w& J: {: X, {
: T! t" M) w; M7 k/ h* M
拖入我们的木马
" ^6 F3 Y/ r$ m$ |# S
1 B" i# @# E& v' |* i: `选择目录, P* ~3 e. M, {3 Y3 E% v
( y7 s( C( P. h3 H. b# c1 C
我们看到导入表这里。。。
# s) s3 n z! g* _- K B9 t& M9 b4 Z! v
如图:
& I" R; A/ w I( J 4 |/ J5 ^/ T4 S, l
% Y" t# Q1 f- Z9 {. p- SRVA地址是0001D000 大小是0000154C: R$ C" B, M5 {2 m. d0 K W
/ A# h% d' _# r! D" ^! T好的,我们把这两个输入到import1.6里去$ Y3 s, ?8 ~3 C) W. D+ l
6 d$ g: M/ W& `+ I" L
就是在“加载树文件”那上面一点
/ E; R J0 q j3 e+ w0 w2 k$ U" ?8 M6 Q: D8 H! g
输入RVA的地址和大小。0 h$ _# O. m/ S) W- c8 O, F
' c$ L8 B4 K* i3 t1 p6 y3 a
点击“获得输入表”
* N/ Y" }' T: t3 \
' Z. W: i+ H, ` t" c% D然后点击“显示无效的”
% f+ J+ Q2 I4 G+ G" C, m" m6 c8 m, |5 b% |/ N
接着importrec会自动列出
- ?0 z0 V) {/ H
% e. v/ g# i) T0 K; B我们把深蓝色的字体 右键 剪切无效的指针& w* }0 C9 S' {* b' n; `" K
. l* J4 ^9 \2 L* c0 m/ y
: a3 P: P9 f" ^; M6 \0 w; k最后,我们点“修理dump”% M4 [. G. R C/ D" F8 r
; Z' p% q, m% J0 F$ K+ ?
选中我们的木马就可以了. f9 }1 N$ R/ m# ^8 ~$ @/ m& s! H. H
2 s! x3 x$ B: f3 q3 z! u" h. ]7 c7 `最后我们要用到c32asm
$ t. W& H+ v! ]8 a; \
6 {* K/ b1 I5 q5 }我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。5 S( _1 g4 ~8 V b) r5 k
8 B8 x G. M m这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
, S1 @* V8 V6 f4 d2 R/ n- v5 M( x! b( g
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,
! C1 D! ~8 B B! I8 i# H P, p* G6 @3 `. F7 U, v
我们把马子拖入od的以后,打开了importrec1.69 d, x- J4 i: b0 F1 j
1 o* D4 e8 K3 n/ ^4 w在选项那里,选择根据序数建造输入表和创建新的IAT6 i- L0 {% W1 [' i; d# j+ Q
3 E+ Z2 o# }7 k+ P9 w; Q如图
8 u& Y2 q9 l. J' a/ \7 ]# X' H
# q4 J/ p' Q; s; U, I" i# K( p+ Q* l) G' s2 U- z3 z R: |
以后的步骤照上面的方法继续就可以了
2 P" n0 A6 D# h+ z% [! W# V* W5 s# z# S) r) d7 { j D
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了" o( U4 x w6 y" G+ ?) }
7 b5 E; |7 ]9 }+ m* i Y% D% Y因为kernel32.dll的大小不一样。
; F: \+ Z3 y5 n {6 h, S% @. L( ]5 V! Z
3.修改originalfirstthunk
0 j" y. y6 V$ g# W% ` @: _! U! @1 f1 j- x
如图所示% \( k( x" `" J2 p% O) ~/ ?' U

) v( y0 O" b% p: h. P. N
3 h( q- b: B5 H' ~* z+ R! i9 A: A我们打开loaderpe,依次点 目录--导入表(后面那个横线)
+ J" M0 O/ z2 _! G/ {# N- X5 \. m
$ W! y; k* X1 ~: b- c+ W2 i我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll* }( P% a% ?6 t1 {% y* V5 K
" b+ z: n* n2 ~! k y) O1 |我们右键--编辑--把函数后两个00修改为FF9 b6 e' r0 X4 c# x+ a9 V* ^; @
$ G3 \: F$ G, s8 H这样可以过小红伞查杀。 虽然会出现错误提示
; m# Y+ o Z1 l. h, i0 O. ^9 C: }9 y1 C* }8 F
但是不影响木马的功能,不影响上线。
8 l- H) {- P+ ~; @* k
: T$ H1 `) t5 \: r+ g8 Q9 o4.dll后面加20 90法过卡巴查杀& J8 G) _: S9 p" Z' t; F
; A' {; Q, E& t* H2 ~3 W1 f2 C需要的只是一个c32asm而已,非常简单但却非常有效- u9 k" L' P5 b' \9 T$ x
! E2 V6 c' V4 f如图
% [7 M" W& F! v# r1 w& X4 G9 }& v+ N# Y u% L

3 q# M H8 v, O6 \" l6 E! l' l; j( k5 V1 M
我们可以看到,7 Z& S' z2 z! P+ Y( \6 N( D
% Z+ K( l0 T( }, \在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 902 g% [1 V+ W: V6 y9 R
, x/ h( J" {. m. y* a这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
( `" X7 H$ v6 W' r$ w
% E0 |5 L& F8 G/ f我们只需要在他的所属dll后面加个20 90就可以了- U/ Y- p' X4 q) i7 Y O4 ^
0 E3 h9 v# ^ a7 n卡巴目前还不查杀此免杀方法- a0 Y" x# X: |: J% S" L4 p
1 a' S# Y* O$ A9 G0 X! l$ O5 Y. [ p0 {
唧唧歪歪这么多,打字有点累了5 p+ ?4 ^- h( S' |
; n0 c9 x6 `- l4 k. h
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。 q' X" K6 Q8 _1 d4 |
. \* E# ^. v6 g: ?, b5 _
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|