本帖最后由 x51zqq 于 2019-9-16 02:49 编辑
1、前言
参加了【吾爱动画大赛2019】,因为视频内容定位是新手,内容主要讲解的是病毒分析的基本流程和分析方法,所以视频讲解过程中比较细致,
但是这也导致视屏的时间有些不够,在原视频中没有对样本进行完整的分析,这里以图文的方式对样本后续分析进行补充。
视频样本使用的是“熊猫烧香”,之前病毒区也有大佬分析过,所以你也可以参考那篇文章,如果你是看完视频过来的,
我觉得按照我视频里讲的,其实你应该不用看这篇文章,也能够进行独立分析了。所以你可以尽量在分析完后在来看这篇文章。
2、分析技巧
2.1 使用IDR或DEDE加载Delphi程序,导出Map文件,将Map文件导入OD。
2.2 IDA加载Delphi程序后,根据实际情况修改编译器选项,ASCII字符串风格,增加代码可读性。
2.3 IDA添加Delphi程序签名文件,识别常用系统函数调用。
2.4 由于IDR对Delphi库函数的识别率比IDA高,动态调试时,可以配合OD/IDA一起使用。
2.5 常用Delphi系统库函数,可以查看Delphi system文件,也可以百度参考相关说明文档。
2.6 Delphi程序,使用fastcall调用约定,前2个参数使用eax,edx传递,其余参数从左到右依次压栈,堆栈由被调用者恢复。(由于编译器不同,寄存器,压栈顺序可能不同,视具体情况而定)
[C] 纯文本查看 复制代码 004529A9 push dword ptr ds:[455C00]; //参数3:"Hello"
004529AF push 452A18; ' ' //参数4:" "
004529B4 push dword ptr ds:[455C04]; //参数5:"World"
004529BA lea eax,[ebp-4] //参数1
004529BD mov edx,3 //参数2
004529C2 call @LStrCatN LStrCatN(lpBuff,3,"Hello"," ","World")
3、分析流程
3.1 流程图
3.2 静态分析
3.2.1 分析导入表
[C] 纯文本查看 复制代码 文件:
0x0000 "CreateFileA"
0x0000 "WriteFile"
0x0000 "ReadFile"
0x0000 "FindNextFileA"
网络:
0x0000 "socket"
0x0000 "connect"
0x0000 "InternetReadFile"
0x0000 "InternetOpenUrlA"
0x0000 "URLDownloadToFileA"
服务:
0x0000 "OpenServiceA"
0x0000 "OpenSCManagerA"
0x0000 "DeleteService"
0x0000 "ControlService"
0x0000 "CloseServiceHandle"
进线程:
0x0000 "CreateThread"
0x0000 "TerminateProcess"
0x0000 "WinExec"
注册表:
0x0000 "RegSetValueExA"
0x0000 "RegDeleteValueA"
0x0000 "RegCreateKeyExA"
其它:
0x0000 "SetTimer"
0x0000 "NetRemoteTOD"
0x0000 "NetScheduleJobAdd"
0x0000 "OpenProcessToken"
0x0000 "LookupPrivilegeValueA"
0x0000 "AdjustTokenPrivileges"
0x0000 "WNetAddConnection2A"
0x0000 "WNetCancelConnectionA"
3.3 动态分析
3.3.1 初始化自校验
3.3.2 主功能模块1:自拷贝,bat自删除
判断当前路径是否存在ini配置文件,存在则删除
如果当前文件未被感染,并且不是"drivers\spcolsv.exe",则自拷贝并运行
如果是被感染的文件,则从自身释放原文件,创建.bat删除感染文件,运行原文件后自删除
如果"drivers\spcolsv.exe"正在运行则程序退出,否则删除"drivers\spcolsv.exe"后重新创建,并运行。
3.3.3 主功能模块2:
递归遍历,感染Exe等文件
递归遍历,感染Html等文件
删除.GHO系统备份文件
在每个文件夹目录下生成ini配置文件,更新当前日期
设置定时器,每6秒执行一次,在磁盘根目录生成setup.exe和autorun.inf文件
创建线程,通过139,445端口感染局域网主机。
自拷贝到网络主机共享目录,创建计划任务执行“GameSetup.exe”
3.3.4 主功能模块3:
创建定时器,执行不同任务
结束杀软,任务管理器等进程
设置Run注册表自启动
设置隐藏文件不显示
解密URL,下载并执行
删除共享
停止并删除杀软服务
|