  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,! A( ~7 e; `) y6 P
0 @* D. y5 F- `& `, N9 E
特拿来分享给大家。* E. C" G% P* S/ u" C
- M& B3 W7 C- Z# E& L
今天我们不提我们国产的那些杀软,真的垃圾的要死,
* z# U- K, h$ }: a6 u2 i: @2 a. x8 b' b4 z) y
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表" e2 n' x0 k0 e
# P& h4 ~" I& p) s
我简单的重建了输入表就把瑞星搞定了,
5 U) F9 w+ E, z) }) W3 q( ^( {& ^. z1 u
失去信心了。我曰0 N( n2 H. ?" ^0 i* A
1 `+ P3 `6 x7 ]2 f, ?& @4 E" }
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
5 N7 X2 b" A! j) s0 z' \; }
0 m" v0 n: E" B1 z/ O8 Q首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。" b# J; n- Q: m7 F7 i: N9 {8 C; Y8 `
- m3 O. }: b8 z2 m' w, G& E, H
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。+ k2 [2 L. b" ^2 \' A# m
" o: U' ~7 p8 ~( `
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低: v# \2 g1 Y& Y: L8 W$ I# q
& ~8 P4 l" X: e( w8 E+ z过了以后再调到最高,再做免杀。9 H- C3 v/ Y) O% P7 d3 C- F
0 a% Z$ i w- {0 l5 Z! u T
以上是废话,
2 S( H% L" e+ u8 }- q) X
0 Y1 ~& i' {% ?$ b2 C好了,下面我们来说下常见的免杀输入表方法。6 Y6 W1 [$ W! O' B5 x* V7 K8 a
8 J! m; @" \6 e. D, H
一。移位法2 a; H6 u/ q3 N( L# [2 h
0 s1 a. l9 n' h* m; O5 O# [这个已经过时了,我们的国产杀软及时的跟上了时代,* r; h0 ~! [( T4 I4 g/ c
0 c* p$ G9 p$ }1 ]' v2 q移位法在去年过金山和瑞星,还有江民都是可以过的,( S& g. H4 m& N
& I# H% ]# r% a
现在的杀软智能化了,移位么?呵呵 ,追杀你。
) e. ^' j5 _& }6 a* Q6 C; p6 x" Z8 H' S5 P
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。
& S" ^& z. j; P5 N5 ~
8 ^+ o# ~' `* V二,重建输入表
% Z9 X3 J2 F, t6 h9 m
$ Q$ x# `& E6 ?0 c效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
5 _3 l9 H& H! S6 B
0 U# y& {. J3 Z) j( ~这里我介绍下,8 F6 t* H4 s& t" z8 ^
d4 B5 w6 T8 K1 c
用到工具:3 s& f6 _8 d& {6 G5 i
importrec1.65 R& N) p) e7 F. e
od
r" J% S; r i) i1 e. n H3 x( dc32asm8 Q1 Q: C5 P9 t# ~' u% w+ R+ N
loaderpe7 Q! p$ a9 f/ k+ C" @) [7 r( C
这里我们简单的介绍下,如何重建输入表
0 S# y" u- _- s' f% U
! W: d% J" k/ z6 L首先吧文件拖入od,打开inportrec1.61 G9 |+ K& J# ^: {0 a- h' M* r! m3 p
" Y! _0 f. Y+ J. y如图 选择拖入od的程序,; ~/ X8 E1 g9 |5 F6 a7 A3 ^1 D
/ f/ `. \5 ?7 G+ D
8 P! ~+ ~' W8 G: o; K& c# s" }
这个时候,我们打开loaderpe, t7 n9 |# A" D8 a
: f! y3 I1 ?& H% V8 C拖入我们的木马2 B+ C5 Z- s) B0 S
7 k: `. q' z& p
选择目录,3 K5 \, a! E, B" _. h# p4 ]+ D
/ a& c0 R3 }! C* Y; u3 @) P我们看到导入表这里。。。
5 D; f4 S4 G5 I, V+ @6 ]
- F |% c6 s$ R/ l$ a# E如图:
2 v! C+ I5 M: L' X& T: J 2 X" R& ^. f$ z; _" b! ?# W
4 W: K2 V" F$ ?) b- N, e2 {RVA地址是0001D000 大小是0000154C5 |: @" l& G1 A
7 u* c5 U& M6 S# z( f( D: j8 Z3 |2 Q好的,我们把这两个输入到import1.6里去% m/ ]& B5 e* a' \( w
' @& S$ O, h7 j2 {3 [
就是在“加载树文件”那上面一点
6 | j% G; M/ s2 ~0 [) @% h a! }
输入RVA的地址和大小。
8 x; [$ i2 d. b- [( J/ }4 [. v) y1 N. |3 A: A
点击“获得输入表”4 o2 B% F+ ~+ f: I' e
! ?: J* P8 d' _
然后点击“显示无效的”
! C5 _' l8 D! v2 ?! t( A; G% K( Q
, j" l; ]) b+ o% W接着importrec会自动列出" S$ o3 `5 x' @; W# a8 Y
2 x' u+ J; q4 |6 m5 `我们把深蓝色的字体 右键 剪切无效的指针" D# \+ D9 @2 G. m. k* G6 J- G8 H
5 g& x: }# V& R: v0 ?
) n. V2 m) \& z' Y
最后,我们点“修理dump”) M: {: L. H: O, Y, w
( W4 R- w; E! K* b. u
选中我们的木马就可以了
* X0 J& i4 k; U1 F& T5 z9 `3 T3 ~7 m9 O+ q% B5 H# e1 j
最后我们要用到c32asm
/ m1 N1 Q9 `$ x- N
; [: |, w. g9 g4 ^5 E& O我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。; \; u) F% B# b
5 B$ R5 C' n9 J- _5 w5 G
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话) A2 j7 y& \) J4 e& n- w
" o8 e9 _2 D, g. q- z这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,2 }2 Q* \6 Q- c' n9 ~" W
( E; _2 Y0 j; k0 L, R- r! Z+ J
我们把马子拖入od的以后,打开了importrec1.6
& a) L$ V2 S9 c' }7 |! s6 y' o, g$ J; U& }3 p. [
在选项那里,选择根据序数建造输入表和创建新的IAT
2 l- i; L" h- H) H1 D2 r% U
F9 Z- \0 w3 m7 B1 S如图
* X& G* l+ ?& H3 m5 C # N+ I$ t( i1 t3 w
: v/ ?2 f3 U5 Z( v- }+ h以后的步骤照上面的方法继续就可以了
( j* \" Y) e7 @6 X3 P& a' A& o9 f- L& x3 \1 M7 T# y, z/ j
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了0 W2 I0 r# Q% _8 H" M# p P
- j; p' M# L! `9 m0 s! B; C因为kernel32.dll的大小不一样。
( |) c `! t: y$ ]* P/ ]
9 K0 h' a0 D3 i4 O. I- R( u3.修改originalfirstthunk
$ r* W# l5 E0 ?/ E0 U- \ j3 x+ R; p% y* y
如图所示! J# o3 D4 y6 _. x7 L( S; Y

, E1 ^) b1 Y2 z' H
+ A1 K! [3 g. w/ ]% m! I1 _/ |我们打开loaderpe,依次点 目录--导入表(后面那个横线)
e9 S9 \4 B$ j u: a. |% ~9 Y+ F' t9 d( x1 H" l( \5 Q7 N' K
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
( i# ~8 z9 _7 T* {0 S: J2 r
- t* `4 n3 }8 {1 P+ C我们右键--编辑--把函数后两个00修改为FF( s, r5 F& W( x( a: [6 u
' l: [# S2 M. X' q4 q% l) S" W# S( N) {
这样可以过小红伞查杀。 虽然会出现错误提示: H" R/ X/ n7 N- `( G
' ^8 R2 W" U2 \
但是不影响木马的功能,不影响上线。
+ K2 I! V# |. f4 @1 |( }1 c: R
. b8 A+ o0 C* L: q+ {8 y' C4.dll后面加20 90法过卡巴查杀! n" T& c9 f. @+ x3 a- H
+ \# `1 r+ D1 `7 Z需要的只是一个c32asm而已,非常简单但却非常有效
) P6 Q ?4 {0 K* s. g
7 n: P" I. @% D如图( |' W% t5 P. B% |+ R; V3 S
/ t' z: ^& y4 Z& ]" M

6 S( A$ C$ c0 L2 h/ U# v% u
9 l" I/ m4 O: G$ C% t6 ^ T5 x我们可以看到,
- ~2 l. `3 V' [ M7 D' S$ i1 U2 t& A" Z' \* h, h& L) n
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90: {, [8 x6 m; ?
9 B4 k6 m' x/ E- ]4 ~- ]% h' V$ ~
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection" R- B5 s9 `9 C+ X! C' M' }6 G9 f ^
) v, k) j3 u5 I- o# a" K
我们只需要在他的所属dll后面加个20 90就可以了
- F5 M, E/ D5 O! \, [$ g
) D4 z" n9 S8 {+ O9 Q& H卡巴目前还不查杀此免杀方法
& _! f" X/ O9 `4 W) a% ?/ T L) A0 r
f6 B4 C8 |4 r
唧唧歪歪这么多,打字有点累了8 w" I, T1 M9 S
% n. ^ o' c4 \" J N+ ~5 k; J以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。
$ C' V# B. H, J
4 n) z1 `, g; D5 ^5 M+ J[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|