我们继续进行一系列有关恶意软件分析的文章。 在
第一部分中,我们讨论了CERT Group-IB的恶意代码分析专家Ilya Pomerantsev如何对从欧洲公司通过邮件收到的文件进行详细分析,并在
那里找到了
AgentTesla间谍软件 。 在本文中,Ilya介绍了主要
AgentTesla模块的分阶段分析结果。
Agent Tesla是一种模块化的间谍软件,以合法键盘记录程序产品的名义作为软件即服务分发。 特斯拉特工能够从浏览器,电子邮件客户端和FTP客户端提取用户凭据并将其传输到服务器,以供攻击者使用,注册剪贴板数据并捕获设备的屏幕。 在分析时,开发人员的官方网站不可用。
配置文件
下表列出了所用示例中使用的功能:
固定系统中的主模块
如果设置了相应的标志,则沿着config中指定的路径复制主模块,作为在系统中修复的路径。
根据配置中的值,文件被赋予属性“隐藏”和“系统”。
自动启动由两个注册表分支提供:
- HKCU \软件\微软\ Windows \ CurrentVersion \运行\%insregname%
- HKCU \软件\微软\ Windows \ CurrentVersion \ Explorer \ StartupApproved \运行\%insregname%
由于引导加载程序已注入
RegAsm进程,因此为主模块设置持久性标志将导致非常有趣的后果。 该恶意软件没有复制自身,而是将原始
RegAsm.exe文件保护到了系统中,在此过程中进行了注入。
与C&C的互动
无论使用哪种方法,网络交互都始于使用
checkip [。] Amazonaws [。] Com /资源获得受害者的外部IP。
下面介绍恶意软件中提供的联网方法。
网络面板
交互是通过HTTP协议进行的。 该恶意软件执行带有以下标头的POST请求:
- 用户代理:Mozilla / 5.0(Windows U Windows NT 6.1版本:1.9.2.3)Gecko / 20100401 Firefox / 4.0(.NET CLR 3.5.30729)
- 连接:保持活动
- 内容类型:应用程序/ x-www-form-urlencoded
服务器地址设置为
%PostURL% 。 加密的消息在参数
“ p”中传递。 加密机制在
“加密算法”(方法2)部分中介绍 。
传输的消息如下:
类型= {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreen = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nclient = {8} \ nlink = {9} \ nusername = {10} \ npassword = {11} \ nscreen_link = {12}type参数指示消息的类型:
hwid-从主板的序列号和处理器ID的值写入MD5哈希。 最有可能用作用户ID。
时间 -用于传输当前时间和日期。
pcname-定义为
<用户名> / <计算机名> 。
logdata-日志数据。
传输密码时,消息如下:
类型= {0} \ nhwid = {1} \ ntime = {2} \ npcname = {3} \ nlogdata = {4} \ nscreen = {5} \ nipadd = {6} \ nwebcam_link = {7} \ nscreen_link = {8} \ n [密码]以下是
\ nclient [] = {0} \ nlink [] = {1} \ nusername [] = {2} \ npassword [] = {3}格式的被盗数据的描述。
短信
交互是通过SMTP协议进行的。 传输的消息为HTML格式。
BODY参数为:
信件标题的一般格式为:
<用户名> / <计算机名> <内容类型> 。 信件及其附件的内容均未加密。
交互是通过ftp协议进行的。 名称为
<内容类型> _ <用户名>-<计算机名称> _ <日期和时间> .html的文件被传输到指定的服务器。 文件内容未加密。
加密算法
在这种情况下,使用以下加密方法:
方法1
此方法用于加密主模块中的字符串。 对于加密,使用
AES算法。
输入的是六位数的十进制数字。 在其上执行以下转换:
f(x)=((((x >> 2-31059)^ 6380)-1363)>> 3结果值是嵌入式数据数组的索引。
数组的每个元素都是一个
DWORD序列。 组合
DWORD时,将获得一个字节数组:前32个字节是加密密钥,其后是初始化向量的16个字节,其余字节是加密数据。
方法2
3DES算法用于
ECB模式,并在整个字节中填充(
PKCS7 )。
密钥由
%urlkey%参数指定,但是其MD5哈希用于加密。
恶意功能
研究中的样本使用以下程序来实现其恶意功能:
键盘记录器
如果使用WinAPI函数存在相应的VPO标志,则
SetWindowsHookEx将为键盘击键事件分配其自己的处理程序。 处理程序功能通过获取活动窗口的标题开始。
如果设置了执行应用程序过滤的标志,则根据指定的类型执行过滤:
- 在窗口标题中查找程序名称
- 在窗口进程名称中查找程序名称
接下来,将一条记录添加到日志中,其中包含有关活动窗口的信息,格式为:
然后记录有关按下的键的信息:
以给定的频率,收集到的日志将发送到服务器。 如果传输失败,则将日志以以下格式保存到文件
%TEMP%\\ log.tmp中:
当计时器关闭时,文件将被传输到服务器。
屏幕录像机
恶意软件以指定的频率创建
Jpeg格式的屏幕快照,
质量值为50,并将其保存到文件
%APPDATA%\\ <10个字符的随机序列> .jpg中 。 传输后,文件被删除。
剪贴板记录器
如果设置了相应的标志,则会根据下表在拦截的文本中进行替换。
之后,将文本插入日志:
密码老师
恶意软件可以从以下应用程序下载密码:
抵消动态分析
- 使用睡眠功能。 允许通过超时绕过一些沙箱
- 销毁Zone.Identifier流。 允许您隐藏从Internet下载文件的事实
- 参数%filter_list%设置恶意软件将以一秒为间隔完成的进程列表
- 禁用UAC
- 禁用任务管理器
- 禁用CMD
- 禁用运行窗口
- 禁用控制面板
- 禁用RegEdit工具
- 禁用系统还原点
- 在资源管理器中禁用上下文菜单
- 禁用msconfig
- UAC绕过:
主模块的无效功能
在分析主模块的过程中,确定了负责在网络上传播并跟踪鼠标位置的功能。
蠕虫
在单独的流中,监视可移动媒体连接事件。 当连接到文件系统的根目录时,该
恶意软件将以名称
scr.exe复制,然后搜索扩展名为
lnk的文件。 每个
lnk命令都更改为
cmd.exe / c start scr.exe并启动<原始命令>并退出 。
介质根目录中的每个目录都被赋予了
Hidden属性,并使用隐藏目录的名称和命令
cmd.exe / c start scr.exe&explorer / root,\“%CD%<目录名称> \”&exit 创建了一个扩展名为
lnk的文件。
鼠标追踪器
拦截方法类似于键盘所使用的方法。 此功能仍在开发中。
文件活动
入侵者简介
借助“有线”身份验证数据,我们得以访问命令中心。
这使我们能够确定攻击者的最终邮件:
*** @ gmail [。] com中的junaid [。] 。
命令中心的域名注册在
sg *** @ gmail [。] Com上 。
结论
在对攻击中使用的恶意软件进行详细分析的过程中,我们能够确定其功能并获得与此案例相关的最全面的危害指标列表。 了解malvari的网络交互机制可以对调整信息保护工具的操作提供建议,并编写稳定的IDS规则。
AgentTesla作为DataStealer的主要危险在于,为了执行其任务,它不需要在系统中进行固定或等待控制命令。 一旦在机器上,他立即开始收集私人信息并将其传输到CnC。 这种攻击性行为在某种程度上类似于密码学家的行为,唯一的区别是后者甚至不需要网络连接。 如果从恶意软件本身清除了受感染的系统后与此家庭发生冲突,则必须更改至少理论上可以存储在上述应用程序之一中的所有密码。
展望未来,假设发送
AgentTesla的攻击者经常更改初始引导加载程序。 这样一来,攻击时静态扫描程序和启发式分析程序就不会引起您的注意。 这个家庭立即开始活动的趋势使系统监视器变得无用。 应对AgentTesla的最佳方法是在沙箱中进行初步分析。
在本系列的第三篇文章中,我们将研究
AgentTesla使用的其他引导程序,并了解其半自动解包的过程。 不要错过!
杂凑
C&C
雷基
互斥体
没有指标。
档案
样品信息