2024-02-06
Contents
基本信息
File:xiongmao.vir
SHA1值:CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870
样本行为
释放 C:\Windows\SysWOW64\drivers\spo0lsv.exe,spo0lsv.exe与病毒本体sha1一致,病毒是自我复制到系统目录下。关闭火绒剑窗口。
试图在各个文件夹下释放并隐藏Desktop_.ini
外联
设置自启动
样本信息
FSG是压缩壳
FSG脱壳
用ESP定律找OEP手脱
实际操作:
F8—>寄存器窗口只有EIP和ESP显示为红色
右键ESP后面那个地址,然后选择在数据窗口中跟随
或者直接在Command窗口中输入dd 0018FF88 后回车
在数据窗口中跟随到 0018FF88 这个地址后,在该地址的任意HEX右键,设置断点→硬件访问→word型
F9运行–>把断点清理掉,【调试→硬件断点→删除】–>F8单步跟到OPE
观察发现,004001D9在处dll在载入,在004001D9处下断点
在EDI数据跟随,左下窗口右键选择【长型–>地址】,F9观察地址变化
当遇到7FFFFFFF时候改成00000000,
因为如果直接到improtREC修复IAT会发现,improtREC不能识别所有导入函数。这是因为模块之间被填充成7FFFFFFF,把7FFFFFFF时候改成00000000重新获取就能都识别到了。
在FFFFFFF时候,dll载入结束,此时F8即可跳转OPE处
跳转到如图,不慌,右键【分析–>从模块删除分析】
右键【用OllyDump脱壳】或者插件【OllyDump–>脱壳在当前调试的进程】
(不要勾选重建输入表)【脱壳】文件保存为1.exe
深度扫描,获知1.exe语言是Delphi 6.0-7.0
使用ImportREC,导入原文件 xiongmao.vir
OEP需要和从OD里dump出来时的值相同,【IAT自动搜索–>获得导入表】
【显示无效–>删除指针–>修正转储(选择之前从od dump下来的文件1.exe)】
1.exe是修复前的 1_.exe是修复后的
以上脱壳完成。ヾ(≧▽≦*)o
静态分析
IDA打开修好的1_.exe,添加签名
没有delphi的签名库,右键添加
里面也有Delphi1的库,注意这里添加bds更准确
进入主函数
main
第一个函数是载入模块
第二个函数
sub_403C98
sub_405250
xboy 和 whboy 都是解密字符串,sub_405250函数是解密字符串的函数
sub_40819C
在每个目录下创建Desktop_.ini
在系统目录下释放病毒文件C:\Windows\SysWOW64\drivers\spo0lsv.exe
sub_405FC4
sub_407B68()
<
sub_40D18C()
sub_40A5B0()
创建线程 循环执行 遍历感染
sub_40C374()
TimerFunc
sub_40BACC()
sub_40BA8C()=>sub_40B864()
sub_40D088()
这个函数中调用了6个定时器: 1.定时器1,sub_40CEE4,添加启动项、修改注册表 2.定时器2,sub_40D040,下载恶意代码 3.定时器3,sub_40D048,下载恶意代码、执行cmd命令 4.定时器4,sub_407430,删除杀毒软件启动项、关闭杀软服务 5.定时器5,sub_40CC4C,打开解密之后的网页 6.定时器6,sub_40C728,下载恶意代码
定时器1,sub_40CEE4
添加启动项、修改注册表
定时器2,sub_40D040
下载恶意代码
定时器3,sub_40D048
下载恶意代码、执行cmd命令
sub_40CDEC
定时器4,sub_407430
删除杀毒软件启动项、关闭杀软服务
定时器5,sub_40CC4C
以xboy为密钥解密出网址,打开解密之后的网页
定时器6,sub_40C728
下载恶意代码
发表回复