  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
# g' l6 E5 L( h+ ]) d6 T& @! t/ v1 k& R' d5 @$ Z
特拿来分享给大家。
9 S- w' b$ N% @* K9 Z* o& ^" ]9 ]8 Q! ?6 ]9 H
今天我们不提我们国产的那些杀软,真的垃圾的要死,2 b" c* u: {6 a+ z7 \
* i" d3 g6 [) ~# H& |! y上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
7 ?8 S6 e' x) |" [) C8 C
3 q7 p; E' F$ \, m O! B我简单的重建了输入表就把瑞星搞定了,
% I; p/ r' M/ }) I3 J# H
. @, t1 S, D7 |失去信心了。我曰& k% {6 O! O' r$ A
! ^6 ]: d6 K, }8 }今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。
! ]4 Q3 M4 e e7 t: v0 h
( _) z' W* V4 Z( f+ d首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。) M5 ^8 Y9 C2 C- r& l
! q! z# _( l3 Q% I- v- M* M A5 C外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
% Z' R* k. S3 F' t6 `
* m$ I; W7 v* o+ e% A/ t高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
R$ n9 n9 f& A- I5 B: f9 {# `; ^% i: @
过了以后再调到最高,再做免杀。1 r8 f i9 t, t
. n7 d5 \# v }3 \) L. o
以上是废话,
. x! n$ H5 B# ?# r j7 x: G) x* I3 o. ^: X" d. m: Y0 p) G
好了,下面我们来说下常见的免杀输入表方法。
: C8 r6 h) ? g# \
. |3 @0 G# A* [( l; b一。移位法. \$ u9 ~- H8 \4 b3 s
& q" @- I$ ^8 |6 t7 z1 } A
这个已经过时了,我们的国产杀软及时的跟上了时代,# Q0 I1 C5 s/ W2 `( I
i; y! z$ |9 B+ U5 v6 A$ A
移位法在去年过金山和瑞星,还有江民都是可以过的,
+ d: x% {0 B! u' B
3 y9 y) J! Z6 `# y) e6 C5 \- M现在的杀软智能化了,移位么?呵呵 ,追杀你。* l: u! k9 L7 T' M" `7 g+ K
/ M$ K# s; m% I6 V4 ~
如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。+ G4 A X& V( g9 E0 X. g* n
& m7 ~, u8 J+ k6 _9 O; T5 @
二,重建输入表
9 K- K U; g* q2 n2 ~/ J. s, c4 F# p/ a! W3 M( Z5 c
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
/ S8 ~. \8 H0 Z1 A) `/ y! H: ^/ j
这里我介绍下,
, X5 c& y/ _9 t3 k) f( C E+ B
: B2 J9 P* \7 d% M- x- w用到工具:8 B8 V8 N) L* s! M, m5 F# K
importrec1.6
, j5 }$ \& V$ O* v3 h! g$ b9 C) `7 ?od
( L3 O' ~0 e) t5 w5 O/ zc32asm
: J9 S" S2 R, W% H) R, qloaderpe
6 h6 i7 m/ a; D7 s这里我们简单的介绍下,如何重建输入表0 m& h0 D" E3 l% `6 J
% ^0 H8 B; V" u s4 U2 C) x2 T首先吧文件拖入od,打开inportrec1.69 [* T* q! ?$ _
7 {2 @% | p% C+ g8 t3 ^2 f如图 选择拖入od的程序,
0 }3 j1 n/ ?, P8 R U 4 F! Q B& ?$ l
1 t0 `: C7 @7 _1 k" ~, A* i这个时候,我们打开loaderpe,0 ?; k4 w. [+ ?) `2 C
, v7 z( @$ f- ~! t$ F/ }
拖入我们的木马( t* j. j, V( y8 [9 V
+ }" M1 \6 I2 x1 G& e4 ]选择目录,
8 P `. `: U. \
8 l' s* ^& M- l% G( S我们看到导入表这里。。。 n D% i& z" I
& L8 t( @0 T& }2 Z" f% T. y如图:
0 r$ L2 \3 w& I K ( k! g: U* z, h- r3 l
, [: o7 E4 k) r% H4 f* u( `RVA地址是0001D000 大小是0000154C
0 C9 O% H/ w! {7 u! e+ |/ M$ {% S) P! o
好的,我们把这两个输入到import1.6里去
" K/ [" ^2 I7 J( o9 {8 Z4 ~6 S, U K3 E; s% j! e- J- Q# E
就是在“加载树文件”那上面一点
; D" n3 A9 _+ h% b; x% }
J/ `' G5 [/ |) ^% }/ q输入RVA的地址和大小。
+ L7 i! W8 X+ h! [* R6 W: q9 i
/ A8 O% ^+ ?2 n' ?5 h- z点击“获得输入表”
) q& ?/ d' t) ^, `6 ~
. n( [! q5 J* W/ ?" M' m然后点击“显示无效的”, _- M9 z" }2 g- t3 ?: |: e
4 _5 d1 f- }( b
接着importrec会自动列出
6 Y; D, R2 Y8 u( s4 V( d+ F8 U* y# t) w
我们把深蓝色的字体 右键 剪切无效的指针. A2 J$ A5 V) T) L
. I& w- e9 Q/ h
; C$ G; R% N. h: S
最后,我们点“修理dump”
/ P) K' f, `$ c
( Q& w+ E1 x! K6 ]6 G& p) A2 L9 k! e选中我们的木马就可以了
3 T5 Q' n) Q( `' K' r$ p
/ d: N3 t, N0 {: l6 o) f最后我们要用到c32asm
# m q$ ]% @6 y( P/ d9 r4 A/ {* w6 M
; w4 N& d# E/ ` Q我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。. K! v; Q' J2 Q
; Q8 J* D1 z# D# V" N
这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
: ]( y; f7 s- ?7 B: i% m* Z) i- S* r7 g& [
这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤," b) r7 ^: k! s7 ~+ c1 P z
9 N( w4 b/ @' q5 d' d
我们把马子拖入od的以后,打开了importrec1.6; r2 m6 G" R" r( t
4 i; H9 I7 t( `# R# L! I! I
在选项那里,选择根据序数建造输入表和创建新的IAT. ~" H6 O( y# Z2 I$ Z$ p0 {+ P( h
( a9 I* a+ w& l) i6 M% L6 w如图
+ c3 k) X, w. Y/ _& M
' m; ]3 q/ i6 p/ r1 V& N& w: ? q* H- m: s& r5 t
以后的步骤照上面的方法继续就可以了4 u+ `3 ]8 |8 t: ?
+ d0 r# C/ p' y& v1 G8 A% M
不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了
; ~: _8 h5 C) i* k, W& _" I' g# e2 U
因为kernel32.dll的大小不一样。
* i; d. y6 r5 p5 q- r. H
, O$ a. l0 N0 ]: K3.修改originalfirstthunk+ i4 {) D5 ]% E3 ?# D* Z
$ z# C& e3 o4 k6 M7 g2 e) o
如图所示
5 k+ M; x1 s, b
: w* s- Z' h6 ]3 [2 L' J! r) l8 v) [8 N4 `/ C# v! c0 O
我们打开loaderpe,依次点 目录--导入表(后面那个横线)
$ Z( L! e8 Q h2 R7 ~- N; Y) V- Q- W) f6 C0 |* x: j- R, y
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
+ ]" K! }; J- _+ S% Z! k+ `% z
+ E* g, V2 z+ u: a我们右键--编辑--把函数后两个00修改为FF
. L5 v( x: z/ l- g( F! |& f N6 ]5 J5 i2 J0 ^* z7 e
这样可以过小红伞查杀。 虽然会出现错误提示. b3 z5 e5 A9 P1 i7 a4 D" F- l
1 n- z7 O0 P a" C8 N: J+ _
但是不影响木马的功能,不影响上线。
% I5 w2 B1 c& @* m8 c9 |( k( O. T' b% T+ `, d! Y
4.dll后面加20 90法过卡巴查杀+ x3 m6 h2 [6 r: z5 f6 m m
1 r6 e- d: h/ f9 a8 `需要的只是一个c32asm而已,非常简单但却非常有效
! n# S R) k8 p, H
, T2 J* Z1 m" _3 c' ~8 i, M f如图
$ k& m" N2 T, H6 Y6 ]
8 Q- o/ k/ l, p; ]* {8 d5 F
; C5 |- n) a# Q1 g' K) X% |9 {: N% @2 b0 Y
我们可以看到,
6 g r! E. i" ?; @7 |1 Z5 q/ H$ e* L* ^3 e- V) ]5 S1 l
在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
* j. U3 G! p: l7 z% D+ C
# ~4 l* c3 ^( a' x. Z$ I这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection
. `, A0 A, p" Q2 g! d& S# ~) E3 r3 A) S
我们只需要在他的所属dll后面加个20 90就可以了$ D! S1 V* c2 y* [9 A
' D2 E. W# z+ O) x K0 ~6 j7 q卡巴目前还不查杀此免杀方法; D& @# Y3 Q8 ^# p+ c
1 v% c- l; H$ N! v
& g3 ~+ v# w% O* N9 V
唧唧歪歪这么多,打字有点累了6 D6 E; m, ]$ }2 j' m" U* k$ \2 T
! h" R* \9 Q/ f) a( D5 `# }
以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。0 |) s" X* A) A, I# R. v3 n4 A
4 @2 M1 ~2 V: E[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|