  
- 帖子
- 143
- 积分
- 419
- 威望
- 415
- 金钱
- 446
- 在线时间
- 65 小时
     
|
最近和一位木马免杀牛人交流,感觉新增进不少,
& e& g* V, ^. b# }1 q
3 i+ S7 C+ l7 K7 e特拿来分享给大家。: B/ x- r% U, K; o
8 }* G. ~- l/ ~1 w今天我们不提我们国产的那些杀软,真的垃圾的要死,7 x$ t `4 l; \0 v% ^) q- M0 N9 g
$ T! [& N7 u. }+ k, o7 R) l8 Y上次有位朋友叫我帮忙做上兴免杀过瑞星,说内存特征码定位在输入表
# R7 F8 k, h6 Z% P/ g. ^/ l4 w
我简单的重建了输入表就把瑞星搞定了,
! k4 B! U* k- }- E' A e0 A$ U: i9 o. q3 i2 c
失去信心了。我曰
# e8 D6 C0 U' F6 ~
% a" B& Z) l! s6 f: w+ a# [+ B今天我们说的是免杀输入表,以下是我的经验,也有牛人传授的免杀方法。 Y* c, ?; {9 a- Z7 k
+ m: N6 `3 k/ i+ s) ?$ [0 V% y首先,大家要知道一点,国产的都没有高启发式扫描,瑞星,金山等都没有。6 D. Z: \4 X( @! C( D5 E( d
8 f5 }) x0 w: X8 N9 E: r: o外国的,如nod32,卡巴,小红伞都有启发式扫描,尤其以卡巴的高启发式和他的2009主动防御难过。
6 k( l r) _# T. l% |5 j, ]; b4 c7 |2 m' M2 B7 |+ K7 V! @% r$ f
高启发式扫描必然导致特殊的特征码,我建议新手朋友做卡巴等免杀的时候,先把启发式调到最低
S6 t$ R; ^" i3 R q* Q* K; A% Y
0 w& r* ]6 X5 a过了以后再调到最高,再做免杀。
' e* y" B( b _3 q3 v( X8 ~" e9 P3 }) t# @. [
以上是废话,
$ Z f1 A- V8 K4 S% T' i3 ?
. q* w9 K8 n0 k9 Q9 Y1 `好了,下面我们来说下常见的免杀输入表方法。5 d5 X/ x: Z6 F* b; M( }6 P( o
6 W7 b# k0 j, ? j1 q
一。移位法
! n* N! l: J- N% R% O% s8 }
. _4 ?9 O9 M% M+ ]! d& v5 n9 L这个已经过时了,我们的国产杀软及时的跟上了时代,4 e+ Y8 }$ h7 W( e$ l0 P9 `
6 Y% q+ q* [& C/ h1 D" ~, j移位法在去年过金山和瑞星,还有江民都是可以过的,
- s: k+ u3 ?2 r; h
8 X! e% |' h. L9 b% {4 `6 J1 K1 l8 E现在的杀软智能化了,移位么?呵呵 ,追杀你。
: o) E1 \7 L5 A- ~& ]* F
+ M" R. w- m9 W2 P" D% z4 v如果你想了解怎么个移位法,去百度搜吧,大堆的老教程等你看。8 x2 E$ L9 Z H. J
- N; f8 V' F1 S2 u- V# f2 L二,重建输入表
2 C k. a6 `3 B& j; T8 t# z f3 k8 t3 R. O/ F- R0 G9 v, {5 W
效果不错,这里说下,简单的重建输入表,还是可以过我们的国产杀软的,外国的就不行啦。哈哈
[, Q$ X: `: r! R3 J7 O5 N5 f R
7 }! _+ G0 [% {; `% w5 U& K这里我介绍下,! j, Y2 ]! U$ v
; l! D: P3 X1 I9 p+ O! n* O
用到工具:
6 Z' v2 k7 t4 J4 iimportrec1.6) h6 F# ^" [) t
od
8 a; G( H" K) n' |! _c32asm
% J; d3 R e. g4 d! l8 ^9 }loaderpe8 u3 _( }" m6 R6 C0 Q( w2 d' Z0 q
这里我们简单的介绍下,如何重建输入表4 a+ n( Q) N# |5 u& k+ Q' k7 {
. k7 }! p6 y! B6 }$ d; e" z
首先吧文件拖入od,打开inportrec1.6
, K- Y! M8 H$ W$ q) _: e Y2 ^& f C( [0 T* R
如图 选择拖入od的程序,
! ^# w) y- x, a
( @# ]" ?0 }0 J% S3 i0 k6 T
. x8 {0 {0 S6 K% z% X这个时候,我们打开loaderpe,
' T2 l. x e5 A7 Q
& }0 y9 `2 q7 ^# j) x拖入我们的木马
- M$ H8 c4 V5 H, @4 Y. g
. K, X# n) \/ t; A选择目录,9 {9 G' m7 E6 z: v6 c0 K0 `, C
) z( N" c, P$ Z/ W4 ~
我们看到导入表这里。。。, c! B7 v: Q3 e$ K+ [
# k" d4 C$ M' q
如图:2 G, W$ S! Z% t( y1 ]

U" P8 V, d; E# R* g2 J$ u1 \# m( w1 j& _$ `/ F. C% I" {" I# V
RVA地址是0001D000 大小是0000154C/ }& ]0 c" C: z8 w5 u4 J% V/ n6 N
& [& M# ]2 |( R9 H% B! [5 Y; w好的,我们把这两个输入到import1.6里去
- n% {1 g4 ~' d. T
- b3 d; @4 w* `8 d. [" G" q3 i就是在“加载树文件”那上面一点 * c- {; @' h' y2 v' S
( _/ y; i/ s: s2 l! z
输入RVA的地址和大小。! H, t0 d( L, t! @2 f% W% B9 Q
/ b! U- [" l. v+ E9 I, @点击“获得输入表”" v0 B7 Y( n+ }' x* R: \
6 q" i$ Y" T8 C2 a: g* G然后点击“显示无效的”
. }. G. J* U: \$ c/ Y! E
2 J, Z# J' k1 B接着importrec会自动列出" x+ ^% A0 n- a) [- `3 F b
( K& o- W8 W0 }+ D我们把深蓝色的字体 右键 剪切无效的指针
9 \+ I- c* k! s! ^- d n3 l5 @7 A# R& D; f+ Y. Q5 |8 R* T
9 V$ A4 M8 U. m% J最后,我们点“修理dump”
* E* @. S& C& v3 j2 b7 A/ \: Y# g
选中我们的木马就可以了
2 Y9 @+ ^/ {1 R7 Z+ m: |1 s, S- w2 P. e4 s* h
最后我们要用到c32asm
; u; m! ~, D0 a6 U( R* ~. g8 I# \6 J' C& S o& [" l
我们会看到两个输入表,我们只要把原先的输入表全部填充为00就可以了。
4 c' Q1 ]( i% f+ ]4 m
7 D+ Z" V7 R. x这样做,只能过国产的杀软,外国的 如卡巴就免杀不了(如果他的特征码在输入表的话)
3 @3 l" s5 J' c1 Z3 @- q8 q
8 y4 F( k6 @% L/ h& s$ D+ \- D! W# r这里,我教大家一个方法,也是重建输入表,可以过卡巴,不过加了个小步骤,) c2 O( Q {. |! e; c% T
; C6 H0 \ X7 }* y
我们把马子拖入od的以后,打开了importrec1.60 S3 G% I, V3 G' |
3 k" t* l, E$ E" _% b在选项那里,选择根据序数建造输入表和创建新的IAT5 {$ b9 p6 R1 p1 m
' z2 Z$ N" j4 }; @$ `. n8 F
如图
# F) G. ~7 \, B& w, P- m) M+ }8 N
8 w8 b$ [$ ~4 ]8 ]
, m& z* }2 X/ x, ~以后的步骤照上面的方法继续就可以了
# d, p- a7 ~5 d) ~1 K( q$ Z
8 j/ f. d" S4 q5 L" M# r不过此方法有个弊端就是,如果你在sp3下作的免杀 生成的服务端会在sp2的系统下运行不了. |/ }- c/ f( l- l$ [" \ O/ w# M
) o2 t; O$ ^* A5 T, I- }
因为kernel32.dll的大小不一样。" f" ~$ r7 W1 g; |9 m% r
% Y+ M& s* E; E; k/ f$ V% p
3.修改originalfirstthunk
0 W' X6 s/ j+ G; r9 i4 y! m
! X1 y |8 z: j# e6 ]如图所示) U) x- e2 a( b2 f9 @% L1 w
+ {) p& e+ ^0 N: h4 x3 \9 d
6 B9 p- o3 p# i- w& r: f. U ?我们打开loaderpe,依次点 目录--导入表(后面那个横线)
8 a9 |# M! n4 a6 c: m% p1 K% i5 ?5 ?' {; D; D; j7 {
我们可以看到所有的dll,如图,我们假设杀软杀的是wininet.dll
& w% ?) k5 l/ A2 I2 Q/ a. A
; T5 p* L' T- X$ B m我们右键--编辑--把函数后两个00修改为FF) L! ^1 R5 \3 A- S- X- _
4 \ c2 |* Q4 Z" y' r
这样可以过小红伞查杀。 虽然会出现错误提示9 U+ i. Q7 g$ g6 Z% j% P
& O. Z8 b# w4 c$ s( _% ~' Y/ @但是不影响木马的功能,不影响上线。. T3 P7 x! W2 Z+ n$ G1 q2 u( m
6 l/ L, J. Y: s, {! I6 c4.dll后面加20 90法过卡巴查杀
$ r3 {4 W$ n0 P' U2 [: h8 N& L, a. F0 g2 i( }% V; C
需要的只是一个c32asm而已,非常简单但却非常有效4 t2 r5 r6 m, n4 V1 ^! _
- v- ]4 H( P! g2 |# \
如图 k# D+ ^9 F' {: K: |
* S* I% c2 {! {/ w

, H+ I6 d5 S' Z, j! r/ f& P
}5 ^, a) H- e我们可以看到,
% S0 d& G, F) `
* Q0 i4 N5 E6 Z8 E在ntdll.dll后面有一个空格和一个问号 对应的ascII码是20 90
8 a( p! Q! T$ o9 c" T- x! g9 [6 o8 h( V1 _3 ]8 G
这里假设卡巴杀的是ntdll。dll下的函数ZwUnmapViewOfSection; \3 a- K, I5 h; H, d
1 P' r- F" c8 J& `& k5 s# o
我们只需要在他的所属dll后面加个20 90就可以了
5 x- Y; {: D+ A
0 W7 }- n7 A0 W5 E. s, A卡巴目前还不查杀此免杀方法
/ s5 W+ w; }, u9 K: Y+ r
6 Q$ \- ^6 n n. {1 ?! ?, |$ C1 x( B
唧唧歪歪这么多,打字有点累了
# N* U: z, P$ _/ M, p \
- y+ |& T$ m/ w& z* Z以后有新的免杀的方法我会继续公布的。暂时先写这么多吧。9 f' ? k( ?, {! d+ I
; Q+ l( Y$ d0 ~0 t[ 本帖最后由 1335csy 于 2009-3-31 11:35 编辑 ] |
|