好友
阅读权限 10
听众
最后登录 1970-1-1
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子! 病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途! 禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 keen-azure 于 2021-5-19 20:55 编辑
近期,毒霸安全团队通过“捕风”威胁感知系统发现一种新型下载者木马Saint Bot。这是一款国外近期才出现的下载者,它可以给感染者分发任意恶意软件。 本次捕获样本第一阶段c&c链接伪装163邮箱域名“http://mail163.netaese[.]net/saint.jpg",这也表明Saint Bot攻击已经进入国内。目前全网监控数据显示只有极少数用户感染。该下载者一般通过钓鱼邮件携带附件或者url链接诱导用户点击下载传播,下载后是zip包内部包含恶意的lnk文件,lnk指向cmd调起powershell下载第一阶段负载执行,本篇将从第一阶段落地文件深入分析。
Saint Bot出现时间虽然不长,但已经应用在一些针对政府机构的攻击行动中,其中就有在对乌克兰政府和美国佐治亚州政府机构的鱼叉攻击中使用,邮件标题包含“Bitcoin”,“COVID19“和“COVID21”相关诱惑性标题。
它使用了很多成熟的攻击和对抗技术,包括字符串混淆,反虚拟机 ,傀儡进程,反射注入,重载ntdll脱钩,ByPassUAC等。同时作者也在不断的完善它,通过对关联样本的分析,每一代版本都有一些细微的更新,从字符串部分加密到全加密,c&c通讯细节处增加校验等。
详细分析:
第一阶段负载被下载到了%TEMP%目录下,名为updata.exe的.Net文件,实际名称是名为“Botnet_crypter_antivm.exe”,在资源文件中嵌入了两个压缩后的文件”Bfpizkf”和”Dywbzb”。gzip解开后分别是混淆后的.Net注入器”Pcvrxrtsfy.dll”,和saint Bot核心模块。加载”Pcvrxrtsfy.dll”后调用导出函数DeleteSpecification将Saint Bot数据作为参数传入。
“ Pcvrxrtsfy.dll”使用了名称混淆和控制流混淆,给分析带来一定阻碍。在”Pcvrxrtsfy.dll”中会对虚拟环境vmware ,VirtualBox以及分析工具dnspy进行检测,如果检测到虚拟环境则退出,检测到dnspy调试工具会启动新进程并退出当前进程。检测通过后会在%temp目录下生成一个自身副本和一个vbs脚本。Vbs脚本执行后会禁用WindowsDefender扫描C盘目录。
生成的副本用于创建傀儡进程,把之前传入的参数:Saint Bot核心模块注入,修改主线程入口点为OEP执行。
Saint Bot核心模块:
注入的核心模块使用纯汇编编写,编译时间戳:2021/04/17,体积不到30kb,这使得它可以做到不依赖于导入表即可执行,也省去繁琐的IAT修复过程,运行中的API全部动态获取。此样本中包含pdb工程信息:“C:\Users\smoke\IT\Coding\C\saint_C\Release\saint_C.pdb”,可以了解到Saint Bot名称的来源。运行后首先检测语言环境排除以下语言系统:1049–俄语,1058–乌克兰语,1059–白俄罗斯语,1067–亚美尼亚,1087-哈萨克,2072–罗马尼亚语,2073–俄语–摩尔多瓦。
查询注册表;"SYSTEM \ CurrentControlSet \ Services \ disk \Enum“检查”QEMU,VIRTIO,VMWARE,VBOX,XEN“判断是否运行在虚拟环境,如果检测到则释放自删除bat运行并退出。接下来会多次启动自身以完成运行环境初始化。
第一次执行时会检查%LocalAppData%\zz_%UserName%\ 路径下是否存在“slideshow.mp4“ 文件,如果不存在则拷贝本地ntdll.dll到该路径下,此ntdll会在第二次启动时用于“脱钩”处理。在同目录下还会生成以用户名命名的vbs脚本文件和bat批处理文件。Vbs脚本用于启动批处理,批处理的功能是守护“dfrgui.exe”进程。
最后将宿主拷贝到启动菜单目录 " %AppData%\Roaming\Microsoft\Windows\StartMenu\Programs\Startup”下执行并删除自身,拷贝后的文件名来自于用户注册表中已安装的软件的名称,如” Microsoft Office Professional Plus 2007.exe“这样具有迷惑性名称。如果没找到合适的则使用随机数名。
第二次执行后会装载上一步拷贝的ntdll.dll副本,获取以下注入相关API,用以绕过杀软Ring3层的hook监控。再判断当前进程名如果不是“dfrugui.exe“,会挂起创建系统进程”dfrugui.exe“,把自身反射注入到dfrugui.exe中,设置OEP为APC执行。
第三次执行时已存在于系统进程"dfrugui.exe"中,首先检查是否管理员权限,以及用户是否开启UAC,对于win10系统会通过”fodhelper.exe“配合注册表进行ByPassUAC 提权。完成提权后以硬盘序列号创建互斥体防止重复运行,之后是设置持久化操作:
1.创建计划任务“updata"指向之前释放的vbs脚本,每5分钟执行一次。
2.向注册表\ Software \ Microsoft \ Windows \CurrentVersion \ Run中添加启动项指向vbs脚本。
C&C通讯
最终核心任务是发起C&C通讯获取要执行的任务,内置3个C&C地址,每次抽取一个:
http://i5tqagp6n[.]com/avengers/gate.php
http://kar688qxjr[.]com/avengers/gate.php
http://d3pdq6efxr[.]com/avengers/gate.php
发起请求时,附带用户信息包含:硬盘序列号,用户名,系统版本,国家地区编号,平台类型,内存大小,CPU信息,显示器数量,显示器名称,权限,以及杀软安装信息,检测以下杀软目录:
拼接完成信息格式:
在此样本中,未能触发云端下发任务。通过对后段代码的静态分析可以了解到返回数据解密后可以处理的控制命令:
样本关联
虽然在上述样本中未能触发云端下发任务,但是通过样本关联我们寻找到了另外两个Saint Bot样本,一个是较为早期的版本编译时间戳2021/04/05,和较新版本编译时间戳2021/04/28。
在早期版本中成功触发了云端任务下发,以使得我们能进一步了解任务下发后是如何运作的。虽然样本最终都装载了Saint Bot核心模块但前置过程却完全不一致,此早期样本执行流程如下:
运行后会解密出第一阶段shellcode1, shellcode1执行后再次解密出第二段shellcode2执行,第二段shellcode同时内嵌SaintBot核心模块,将它反射注入到自身0x400000地址处执行。同样包含3个C&C通讯地址:
http://smm2021[.]net/wp-adm/gate.php
http://8003659902[.]site/wp-adm/gate.php
http://8003659902[.]space/wp-adm/gate.php
返回数据如下."SR"为数据标记头:
根据返回的数据使用de命令,将两个文件下载到%programdata%目录下,命名使用fileDL前缀+随机数方式,最终落地如下:
C:\\ProgramData\\fileDL40.exe
C:\\ProgramData\\fileDL725.bat
通过后缀名不同使用不同方式运行,exe类型直接创建进程启动,bat类型使用ShellExecute执行
更新迭代
通过3个不同时间戳的Saint Bot的比对,可以了解到它的进化过程,在早期版本中,只有部分字符串加密,而之后的版本则进行了全加密。较新版本和前期版本比对可以发现,在一些细节点上做了些细微修改。整体趋势是“小步快跑”
较新版本在请求处理中加入了对“SR”标记头的检测处理。
总结
Saint Bot 虽然没有使用什么新技术,但是大量成熟对抗技术的应用和用户安全意识的薄弱都让它有了可乘之机。在每次携带Saint Bot的攻击中,它的装载过程,版本,互斥体名,潜藏的宿主,C&C地址都不尽相同,推测是针对性攻击中定制化的产物。以作者对恶意软件攻击技术的了解,不排除在未来的版本中加入更多的对抗性技术。
IOC
http://mail163.netaese[.]net/saint.jpg
http://i5tqagp6n[.]com/avengers/gate.php
http://kar688qxjr[.]com/avengers/gate.php
http://d3pdq6efxr[.]com/avengers/gate.php
http://smm2021[.]net/wp-adm/gate.php
http://8003659902[.]site/wp-adm/gate.php
http://8003659902[.]space/wp-adm/gate.php
http://203.159.80[.]228/saint/gate.php
http://1000020[.]xyz/0001.exe
http://1000020[.]xyz/def.bat
md5:
0bdb568edc6061afa20cc01c6335461f
572fdac6723a4031febc449795f51df5
7d81933b2f6d7397764243b46389d0f0
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。