|
  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
! p. `% [% j& p) b, B' i: Z5 O1 v3 ^& n) u7 O% Q" w- B7 ~, L
特拿来分享给大家。
U& J7 O* q. Z/ o. m
/ Y, b# `& ]$ p3 ^6 g- y今天我们不提我们国产的那些杀软,真的垃圾的要死,
0 Q+ S9 N# R1 L9 b- ^; D4 h4 n- c) |9 W2 b" ]; d- G- h$ \
上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表! @4 ~. D$ w, a( h0 U7 x, |3 T
@1 _, E' Q9 e: x q" ?$ n* H2 q
我简单的重建了输入表就把瑞星搞定了,7 S8 ?/ A: t5 h$ Z% G; [
) d0 @- w) e# }( d0 M
失去信心了。我曰 L0 F2 R- q8 X+ L) ]
. F9 H& N% g: a$ ?6 q5 m5 c
今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。 U/ S' p+ q7 E; N+ W
% u+ _ B& ?/ ? h0 d: C4 @首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。' ^4 D0 g3 O5 W; i. j
( l/ J8 \+ Y7 O7 j5 A, W; C
外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。+ V9 G& s1 y- l; ]) e( G% x
% w* f* s+ X$ C% t4 N& f# v. |高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
8 Q2 w! D+ D0 T. J5 t9 s- e9 r7 K+ E/ u. Z: H5 L
过了以后再调到最高,再做免杀。1 W% \5 o' {9 M& K9 J2 `& U# J
/ }; N: t+ o; H. n6 f; h- Q
以上是废话,
, T& ?1 G k; M0 C1 I
( P7 n/ O9 M4 k: v P- `: [4 y6 z好了,下面我们来说下常见的免杀输入表方法。/ C) H5 \ y, V7 b
4 {$ g$ Q4 u7 e1 S0 t! C" h* u一。移位法
/ Y# Q9 r* L% b; s
3 f4 R, ], D9 ?1 p9 ~这个已经过时了,我们的国产杀软及时的跟上了时代,. g" O- S/ z2 w' H6 p
8 W r) h1 H& D+ {) B
移位法在去年过金山和瑞星,还有江民都是可以过的,
, a9 c- z1 S8 Y
1 F2 o4 o: J1 W; c( ^$ \3 z现在的杀软智能化了,移位么?呵呵 ,追杀你。0 q5 h* U& Y: O- t' {8 _
2 I) r: }( K* _" X5 `如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。8 i* t- g! R$ q4 s# S0 q1 F
9 Z j- c( S |& x2 P二,重建输入表
- [) |4 h) s7 @: y/ H' w, F9 U) x4 m5 s$ @6 F8 q
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈2 P/ ]! K& t- i3 H0 ?6 m9 u
: F' E( }- J m; {: A0 h/ V# f这里我介绍下,
/ ~: w- u# \! o6 d3 A
1 J! n4 g5 y* d# q5 V用到工具:# r; H, p9 z7 e+ G$ X
importrec1.6# G5 F7 z0 W5 w% K
od# V: ~) R9 s# _ N
c32asm
* l" n1 i _0 O* w6 Yloaderpe( n! j$ Z$ ?3 r
这里我们简单的介绍下,如何重建输入表
9 M4 }/ h/ \' s
5 [9 j1 ^3 g: h, { g5 C, [首先吧文件拖入od,打开inportrec1.6" a. C& G: i& C$ s/ j& I7 X
4 Q8 B' k. C+ a2 T如图 选择拖入od的程序,7 C- @7 E3 ?1 y2 f' n5 d

: q5 a2 S6 F: q8 I$ Q% @1 P; _' S! e }5 k
这个时候,我们打开loaderpe,
1 x/ T0 S- w. g6 B2 `3 |+ E0 b0 i% O2 ?% A6 ^
拖入我们的木马, H' U$ \5 p9 Q# S
2 _1 e6 p* Y. A+ q选择目录,
[* b+ p/ y; D) O& v
1 _7 J$ d; {8 j. }我们看到导入表这里。。。8 l) s1 x, f+ m
% l3 t& p ~$ A/ `
如图:
4 j3 A8 a0 N# o/ Z+ d: b
+ m& w, B) i9 x3 r6 L
, r% W" v6 U) z) L8 k" x) BRVA地址是0001D000 大小是0000154C
$ [3 k" x% a7 w& W+ |# n! I# r1 ~9 W, c6 z
好的,我们把这两个输入到import1.6里去0 p1 R1 t3 e' p* P; V
: r7 z* r% N3 p0 F' k$ G, C
就是在“加载树文件”那上面一点 0 k8 w, @2 N" [+ q J& R
5 Z8 t% c6 U% t9 q) n输入RVA的地址和大小。! a9 D# o5 F$ b" z4 z2 ~) D8 q
, N* i# N. X4 i8 O2 O9 T点击“获得输入表”
( Q) z7 q2 l, L, ?, ^. V; ^( F* x" _' F
然后点击“显示无效的”
1 ]* j! v K) a& ?
& f8 Y/ D% \ C+ X; T6 i接着importrec会自动列出* N6 ~' p9 d! v' Z \& ]
t! v9 u: V- m* b, z% d! j ^我们把深蓝色的字体 右键 剪切无效的指针) l: M3 g- ~% p; D' t! G
1 y+ n- N* w7 S3 U
) v6 d# Q: N" m! `# P
最后,我们点“修理dump”! Z6 O/ F3 d4 T ~6 S
: N7 x' b% D6 z8 o7 |
选中我们的木马就可以了: M: f' @* [" T; l( z
0 z& Y( Q- R" Q# P( K
最后我们要用到c32asm
3 `7 s/ w" l0 v! S1 u& P
9 w. x: z9 ]! i5 k2 `我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
# V' u1 }" @9 V7 a' C" w
" P- Z0 p0 ^. ]1 t; V3 q这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
_$ G6 p/ W2 l c2 ?5 i- s6 C7 d6 R
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,% F' m1 W2 m2 S& m/ i+ \
: G/ N8 j/ G& s* R6 G* u0 f0 k我们把马子拖入od的以后,打开了importrec1.6" C7 W4 a, o, x+ C
3 f: O4 J) i7 ]( W. m9 c0 q7 ]在选项那里,选择根据序数建造输入表和创建新的IAT
" ^: d1 ^9 E2 r+ f) A# R/ Q9 b
0 ~2 j8 b0 F( i# b$ s6 Y+ \, A! D如图
: Y! \5 C7 ?9 G : F, Y/ y6 H. `% N& u- {8 K" H# W/ W
, Y/ a& M3 G9 K
以后的步骤照上面的方法继续就可以了. j4 S e7 p* {: [; ^, R' w/ T
4 {; o; ]- b/ k- \
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了2 s) K1 w% `* e( ~
) a* A3 W8 D# T0 U8 t
因为kernel32.dll的大小不一样。
7 H5 q- j \2 H3 X' U' s
3 _& z' c5 `7 x; j* A& Y: I& l9 e3.修改originalfirstthunk
5 i! n& [8 [% D) P4 R: u5 X+ L. ]& I
- ]; D; H3 ]. S$ p O如图所示4 o) h2 M0 m! p' w$ Q& `0 Q! n: z
4 G. {6 x8 ~( c
9 S! `0 q& F8 V8 L: _# m
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
% \" n" ^; @7 b; h% S7 h6 d% R$ v- _3 B0 U; r/ X
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
4 m4 y0 w7 C* O* g2 r$ f4 c* X$ \4 m1 |( `; |& _ g
我们右键--编辑--把函数后两个00修改为FF
3 }% i; O4 Q! E* b
_. }( a* x: z这样可以过小红伞查杀。 虽然会出现错误提示2 e# {! o0 z7 @8 A4 F% _
8 j9 C+ L( A+ \但是不影响木马的功能,不影响上线。
: X4 l, ^' i" t0 M1 E6 {( R2 w3 i C# V, o/ S5 d7 K
4.dll后面加20 90法过卡巴查杀 c7 o# ^3 h0 N; j% ?2 w( y$ @/ y
! m* \+ [; ~) V$ ]: y需要的只是一个c32asm而已,非常简单但却非常有效/ P3 t9 C, z: j- i' _
/ K! z) V- {3 k1 v. v如图
6 D6 I/ ?: Z/ T
+ m% @ R; d& b1 ]6 H 9 ` `$ x o) K6 D$ K" i
/ t4 a2 U' H" ?* g) }
我们可以看到,- y5 g9 c( ^+ @* Q5 d% K' Z
3 a- E) ~3 K+ X" p* W) M在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
. z3 M/ Q' S! c: d0 r
" E U/ V0 S5 V: |7 G这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection* B% b1 Z3 U- r1 U
' q7 ^& q; K0 z$ B" S8 p
我们只需要在他的所属dll后面加个20 90就可以了
3 _3 \- ^! _# J: [$ f! e, G3 F F7 l: }3 e% x" {2 t
卡巴目前还不查杀此免杀方法
6 x4 _* I0 e# M& v9 N. w% j+ Z, `& N8 z
; p# R/ s4 @" J& v( |: f7 k唧唧歪歪这么多,打字有点累了9 i4 ?8 R3 V8 p. Y
5 s7 k! }- E2 ?2 K以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。$ v1 b$ Z. k9 k
! K; G; o6 Z* f% ~0 I' o x
[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|