XX下载器分析过程

1. 脱壳

查看下载器的PE信息,发现其使用了UPX加壳,所以首先对下载器进行UPX 脱壳。

2. 抓包分析

通过Wireshark查看下载器发送的HTTP请求,发现如下信息:

2.1 下载器发送的第一个请求为:

http://down.72zx.com/xml/web1.xml?winver=6.1

其中如下信息与接下来的HTTP请求相关:

<web>
<id>1</id>
<name>XX软件园</name>
<tag>ONLINEDOWNE</tag>
<xmlurl>
<![CDATA[
http://www.onlinedown.net/api/index.php?action=pc.pconline.soft
]]>
</xmlurl>
<logourl>
<![CDATA[ http://www.onlinedown.net/icon.png ]]>
</logourl>
</web>

2.2 下载器发送的第二个请求为:

http://www.onlinedown.net/api/index.php?action=pc.pconline.soft&webid=1&softid=20355&token=9b89c16eeafa0faf120b0f9b78294677

其返回的内容为xml格式,其中的downsrc保存了下载的来源:

<downsrc><![CDATA[http://crcfj.onlinedown.net/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://fjmcc.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://nmas.onlinedown.net/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://sdmcc.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://jsmcc5.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://sdmcc2.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://jsmcc2.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://cttnb.onlinedown.net/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://nm.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://sccrc.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://nm.onlinedown.net/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://amcc.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://klrs.onlinedown.net/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://sqyd3.newhua.com:82/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://sqyd4.newhua.com:82/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://zjmcc4.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://hlbr.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://cttxj.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://zjmcc5.newhua.com/down/QQ7.4.zip]]></downsrc>
<downsrc><![CDATA[http://jsmcc4.newhua.com/down/QQ7.4.zip]]></downsrc>

尝试改变HTTP请求中的SoftID来下载其他软件,服务器返回错误结果,因此推断后面的token应该是个参数有效性验证的信息。

现在的问题归结为下载器如何生成softidtoken信息。

3. 静态分析

使用IDA对下载器代码进行静态分析。

目前已知信息:
softid为整数: 20355 / 0x00004F83
token是长度为32的十六进制字符串: 9b89c16eeafa0faf120b0f9b78294677

初步静态分析发现:
.text:00569ECC DownloadRealFile proc near ; DATA XREF: .text:00568F5Co
处为下载器启动后与服务器交互并获取下载参数的代码

push    offset aWebid_0 ; "webid="
mov     eax, off_57FA04
push    dword ptr [eax]
push    offset aSoftid_0 ; "&softid="
mov     eax, off_57F550
push    dword ptr [eax]
push    offset aToken_0 ; "&token="
mov     eax, off_57FA04
push    dword ptr [eax+8]

此段代码显示相关信息存放在:

Name Address
softid off_57F550
token off_57FA04

首先从softid入手:
跟踪地址off_57F550
.data:0057F550 off_57F550 dd offset unk_5A569C ; DATA XREF: sub_54C7F4:loc_54C839r
跟踪偏移unk_5A569C

.bss:005A569C unk_5A569C      db    ? ;               ; DATA XREF: sub_54B2D4+37o
.bss:005A569C                                         ; .data:off_57F550o
.bss:005A569D                 db    ? ;
.bss:005A569E                 db    ? ;
.bss:005A569F                 db    ? ;

在此处设置 read/write 硬件断点。

对token做同样的处理:
跟踪地址off_57FA04
.data:0057FA04 off_57FA04 dd offset unk_5A5684 ; DATA XREF: sub_54C7F4+4Br
跟踪偏移unk_5A5684 + 8 -> : .bss : 005A568C

.bss:005A5684 unk_5A5684      db    ? ;               ; DATA XREF: sub_54B2D4+27o
.bss:005A5684                                         ; .data:off_57FA04o
.bss:005A5685                 db    ? ;
.bss:005A5686                 db    ? ;
.bss:005A5687                 db    ? ;
.bss:005A5688                 db    ? ;
.bss:005A5689                 db    ? ;
.bss:005A568A<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值