今天无聊给一朋友讲解
QQ盗取原理,从网上找了一个工具 “
明小子QQ密码特工”结果发现这个
软件有后门。下面就让我带着大家来分析一下。
) H7 [( v0 ^4 z6 N& H
首先我们用nod32来查一下有没有毒。图1
9 a* O7 P' c9 Y% W7 y# g
/ `3 @4 n* o3 a9 M. C 看到了吧没有病毒。我们把监控打开在运行看看图2
5 x" S/ K4 R) a* X, D, D- A
' Q" l: P; k% f H. X' S: l
看到了吧 NOD32检测到了病毒。为了确认一下。我再用‘木马辅助查找器’的
文件监视功能来检测下。图3
2 n' a5 u( u3 z
" k" v3 j9 a+ L S- B7 x3 ?# }# A
新建 C:\Documents and Settings\Administrator\Local Settings\Temp\IXP003.TMP\123.exe
( ]2 s9 g0 M, G) q 很明显软件本身在运行的同时释放了一个123.exe 而NOD32查杀到的也就是这个文件。
7 F! G# w& [( [" u- I3 H
C:\Documents and Settings\Administrator\Local Settings\Temp\IXP003.TMP\
+ j0 G' q/ F, I# Y/ t 接着我们用peid查下123.exe. 图4
) e4 G# _* \& D" _! i
) g, W$ M6 M8 x J. a- N/ M
EP段.nsp1经常搞免杀的应该知道这是北斗加的壳,我们再看看区段vmp 图5
; @- W( R5 {& ]; p; o6 P$ W
" g4 b# X# N' N: b/ P7 n
这个一看就是用vmprotect做的免杀。至于123.exe是什么木马咱门就不继续分析了。
# B4 B- H/ P. _; r4 ` 接下来分析他生成后的文件是不是一样令人担忧。
8 q. }% i1 h& L0 b" i( R
随便配置一个图6
3 h' c4 w H2 G& l4 D
4 m! r- @8 x* w3 Y; L* g- G Ollydbg手工给他脱壳esp定律简单 图7
' ]0 ?& } x4 J0 }: |+ u8 L
# ^3 h5 E, Q/ H9 j+ m }; u5 ~ 脱壳成功后我们在用PEID检测下 图8
* l- v0 E! h6 t6 s( X. L
: ?* @( n" Q% P. h' _$ q, i4 [我们再用c32asm对他进行反汇编,搜索asp图9
3 C q$ I2 |" M& S
& w) W% I V2 b 看到了什么 .刚才我是默认设置的应该是
http://k.thec.cn/xieming/69q/qq.asp才对。,怎么会是
http://langyeqq.cn/qq/newbacka.asp 这个呢!我们浏览看看 图10
2 p$ ]7 P1 k6 b; A4 l
4 p6 w* @- }. D "pzQQ"看到了吧,说明就是他的盗号的,从这些可以确定,这个软件不但运行的时候施放一个木马,而且就连我们配置好的文件也被他留了后门,而作者就坐等着收号了。
/ n% T- P; t0 u9 {5 S5 U: f+ [! u 后门反击战 作者:fhod
4 I6 y0 U: [) G2 k, X1 E# w
看到这..想必大家也和我一样非常气愤..难道我们就任由作者下去吗.当然不..现在我们就开始反击.
9 G, T. r5 N. ]1 @% @5 ?* R1 S: ^& x 我们来看看qq.asp的代码
/ I) w( \9 u2 O
首先来看
L! w% U7 W! p2 s6 y, W2 Z" J strLogFile="Q7.txt"
* [) z B+ b! H8 _1 q/ U3 u. m3 }( n* Q 这个是QQ接受文件..默认的是q7.txt
! P# O7 Z5 a- |: j9 e
继续看代码
2 C$ m: _/ V2 N- \6 ZQQNumber=request("QQNumber")
, P4 P) t. L! y. J: B5 tQQPassWord=request("QQPass
Word")
0 l3 s$ ~! j& U# W0 d
QQclub=request("QQclub")
5 l, C: `0 {$ I: N# x# ~# s
QQip=request("QQip")
- t: ?& R0 g( G K- _9 m8 N% u6 T
是没经过任何过滤的..这些参数的数据我们完全可以自定义
& y; M% @7 a; M/ C
在往下看
! ^3 x V2 E0 T oif QQNumber="" or QQPassWord="" then
) ]9 V- c7 B) |- Y7 b" q8 i; n7 _response.write "pzQQ"
0 v* _- R7 x9 G4 Wresponse.end
6 v) N7 M( E4 l/ ? g2 v 假如QQNumber和QQPassWord的值为空就返回pzQQ .然后程序结束工作.. 只要这两个值不为空就继续执行下面的代码
: W; z7 m q! |& w* L
StrLogText =StrLogText&QQNumber&"----"&QQPassWord&"----会员:"& QQclub&"----IP:"&QQip&"("&request.servervariables("REMOTE_HOST")
2 E; m) q9 @+ @$ nStrLogText=StrLogText&")"