恶意样本分析–更新下载器分析
这个样本是一个更新模块,运行程序后会自动下载相关的模块并且自动运行。
现象
程序运行后,启动了浏览器,同时看到创建了一个名为wupdmgr.exe
的进程
由于我的环境设置了过了,网络没有打开,之后进程wudpmgr.exe
会自动退出
分析
分析母体
使用ida打开样本后,首先获取EnumProcessModules,GetModuleBaseNameA,EnumProcess
三个APIs的函数指针
接着调用EnumProcess
函数枚举进程并调用sub_401000
查找目标进程
进入到sub_401000
函数分析后知道,主要是通过EnumProcessModules
获取所有加载的模块,然后通过GetModuelBaseNameA
获取模块名称和winlogon.exe
进行对比
判断结果相等,程序会跳过外层的循环判断,进入到sub_401174
的调用
进入到sub_401174
的调用后,程序会提升程序的权限
修改权限完成后,开启一个线程将SeDebugPrivilege
设置给线程执行
SeDebugPrivilege
具体参考(https://medium.com/palantir/windows-privilege-abuse-auditing-detection-and-defense-3078a403d74e)
接着将C:\Windows\system32\wupdmgr.exe
复制到%tmp%\winup.exe
复制到tmp目录下的winup.exe
文件
复制完成后,接着将资源文件内的数据写入到wudpmgr.exe
内
提取这个文件保存为payload.exe
继续往下分析,此时运行中的内存数据
复制成功后调用WinExeC
函数启动这个程序,因此看到的进程名为wudpmgr.exe
分析payload
程序启动payload.exe
后,程序会将%tmp%\winup.exe
启动
之后会从网络http://www.practicalmalwareanalysis.com/updater.exe
下载update.exe
到本地的wupdmgr.exe
最后会启动这个程序
尝试从这个站点下载程序,发现已经不存在了,到这就分析完了。
总结
程序在运行后会将winupdmgr.exe
复制到%tmp%\winup.exe
之后会复制资源文件内的pe文件到winupdmgr.exe
下,之后创建进程执行这个程序,程序会从指定的网络下载一个update.exe
程序,猜测这个程序应该是一个更新器,负责更新相关的模块。