恶意代码分析实战 — Lab 14-01

Lab 14-01

第一步,对目标站点进行DNS解析

之后HTTP请求获取目标站点某路径下的png图片

Idapro载入14-01.exe程序,查看导入表imports,找到一个URLDownloadToCacheFileA函数

Ctrl+X查找交叉引用,找到调用处

根据sprintf格式,有两个参数%s和%c

其中%s = str  %c = str[len-1]最后一个字母

查看str的值,需要找到调用部分,而这个str与sub_4010BB有关

进入此call,首先计算strlen(),然后循环调用sub_401000函数

这个函数多次访问byte_4050C0

此区域内容为A-Za-z等base64编码区

区别在于当需要最后填充字符时,不用=填充而是小写字母a,ASCII码97填充

在汇编窗口中可以看到添加的字符‘a’

尝试将抓包路径解码

将末尾aa转为标准base64编码==,解码得到系统guid和登录用户名

80:6d:61:72:69:6f-Administrator

ODA6NmQ6NjE6NzI6Njk6NmYtQWRtaW5pc3RyYXRvcg==

根据base64编码规则,3个一组原始信息变为4个一组编码信息

需要注意的是五个冒号:对应五个6,一个破折号-对应字母t

所以编码后规则可以表示为:

***6***6***6***6***6***t****…****{a[0-2]}  

// *表示{a-zA-Z0-9}某个字符,{a[0-2]}表示结尾0-2个小写字母a

您可能还喜欢...