Lab13-1
1. 比较恶意代码中的字符串与动态分析提供的有用信息,基于这些比较,哪些数据可能被加密?
string查看Lab13-01.exe字符串注意到有http字符串,并且%s表示有输出的值。
利用火绒剑监控Lab13-01.exe,可以看到文件正在访问www.practicalmalwareanalysis.com/aGFueHUtUEM=/
推测两个%s表示的正是www.practicalmalwareanalysis.com和aGFueHUtUEM=,但在查看Lab13-01.exe字符串时并没有以上两个,所以推测www.practicalmalwareanalysis.com和aGFueHUtUEM=可能被加密。
分析Lab13-01.exe
首先用peid查壳发现无壳,IDA打开恶意文件。
首先可以看到对函数sub_401300的调用,跟进函数分析。
GetModuleHandleA函数获得Lab13-01.exe的句柄,FindResourceA函数确定Lab13-01.exe文件中名为65h的资源节所在位置。根据对资源的获取函数,推测Lab13-01.exe包含一个资源节,StudyPE查看Lab13-01.exe。
可以看到资源节0065中的内容。但是内容中看不出重要信息,可能已被加密。回到IDA中继续分析。
loc_401357处已将资源加载到进程内存中。继续乡下分析:
LockResource函数所返回的是指向内中资源的指针,在004013A6处被入栈;dwBytes变量是0040135F处SizeofResource函数所返回的资源大小,在004013A2处被入栈。两个参数入栈后调用了sub_401190函数
其中arg_0是第一个参数,既是指向资源的指针;arg_4是第二个参数,是资源的大小;var_4是for循环的计数器。mov al, [edx]获得资源内容;xor eax, 3Bh进行对资源解密操作。OD中在004013A7处下断点步过,查看自解密之后的内容:
观察栈中内容“www.practicalmalwareanalysis.com”,说明对资源节中的内容进行xor eax, 3Bh解密后即为“www.practicalmalwareanalysis.com”。继续回到IDA中分析
在自揭秘操作之后,调用了WSAStartup函数初始化网络。向下分析
在Sleep等待后,将变量var_19C压栈,00401402处判断var_19C就是对资源节内容解密后的内容。使用peid插件KANAL查询加密方式。
可以看出KANAL已经是被出一个BASE64编码,IDA中跳转到4050E8处分析
查看byte_4050E8处交叉引用
在后头看IDA中执行流程
可知程序再sub_4010B1函数中调用sub_401000函数最终引用了BASE64编码。在00401201处获得主机名然后在0040122A处进行加密。OD中比较加密前后主机名
加密前主机名为“hanxu-PC”
加密后主机名为“aGFueHUtUEM=” 。