投票失败:让我们让特斯拉特工接触干净的水。 第2部分

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
我们将继续致力于恶意软件分析的系列文章。在 第一 在某种程度上,我们讲述了 CERT Group-IB 的恶意软件分析专家 Ilya Pomerantsev 如何对从一家欧洲公司通过邮件收到的文件进行详细分析,并发现了其中的间谍软件 代理特斯拉。在本文中,Ilya 提供了主模块的逐步分析结果 代理特斯拉.

Agent Tesla 是一款模块化间谍软件,以合法的键盘记录产品为幌子,使用恶意软件即服务模型进行分发。 Agent Tesla 能够从浏览器、电子邮件客户端和 FTP 客户端提取用户凭据并将其传输到服务器给攻击者,记录剪贴板数据并捕获设备屏幕。截至分析时,开发商的官方网站无法访问。

配置文件

下表列出了哪些功能适用于您正在使用的示例:

使用说明
键盘记录器使用标志 true
ScreenLogger 使用标志 false
KeyLogger 日志发送间隔(以分钟为单位) 20
ScreenLogger 日志发送间隔(以分钟为单位) 20
退格键处理标志。 False – 仅记录。 True – 删除之前的密钥 false
数控型。选项:smtp、webpanel、ftp SMTP
用于终止列表“%filter_list%”中的进程的线程激活标志 false
UAC禁用标志 false
任务管理器禁用标志 false
CMD 禁用标志 false
运行窗口禁用标志 false
注册表查看器禁用标志 false
禁用系统还原点标志 true
控制面板禁用标志 false
MSCONFIG 禁用标志 false
标记以禁用资源管理器中的上下文菜单 false
针旗 false
将主模块固定到系统时复制主模块的路径 %startupfolder% %insfolder%%insname%
用于设置分配给系统的主模块的“系统”和“隐藏”属性的标志 false
固定到系统时执行重新启动的标记 false
用于将主模块移动到临时文件夹的标志 false
UAC绕过标志 false
记录的日期和时间格式 yyyy-MM-dd HH:mm:ss
用于对键盘记录器使用程序过滤器的标志 true
节目过滤的类型。
1 – 在窗口标题中搜索程序名称
2 – 在窗口进程名称中查找程序名称
1
节目过滤器 “Facebook”
“推特”
“谷歌邮箱”
“Instagram”
“电影”
“Skype”
“A片”
“黑客”
“Whatsapp”
“不和谐”

将主模块连接到系统

如果设置了相应的标志,则将主模块复制到配置中指定的路径作为分配给系统的路径。

根据配置中的值,该文件被赋予属性“隐藏”和“系统”。
自动运行由两个注册表分支提供:

  • HKCU SoftwareMicrosoftWindowsCurrentVersionRun%insregname%
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%

由于引导加载程序注入到进程中 监管机构,为主模块设置持久标志会导致非常有趣的结果。恶意软件没有复制自身,而是将原始文件附加到系统中 RegAsm.exe,在此期间进行注射。

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
投票失败:让我们让特斯拉特工接触干净的水。 第2部分

与命令与征服的互动

无论使用哪种方法,网络通信都是从使用资源获取受害者的外部IP开始的 检查IP[.]amazonaws[.]com/.
下面介绍软件中呈现的网络交互方式。

网页面板

交互通过 HTTP 协议进行。该恶意软件执行带有以下标头的 POST 请求:

  • 用户代理:Mozilla/5.0 (Windows U Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
  • 连接:保持活动
  • 内容类型:application / x-www-form-urlencoded

服务器地址由值指定 %帖子网址%。加密消息在参数中发送 «P»。加密机制在章节中描述 「加密算法」(方法二).

传输的消息如下所示:

type={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}

参数 类型 表示消息类型:

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
哈维德 — MD5 哈希值是根据主板序列号和处理器 ID 的值记录的。最有可能用作用户 ID。
— 用于传输当前时间和日期。
计算机名 - 定义为 /.
日志数据 — 日志数据。

传输密码时,消息如下:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]

以下是对被盗数据格式的描述 nclient[]={0}nlink[]={1}nusername[]={2}npassword[]={3}.

SMTP

交互通过 SMTP 协议进行。发送的信件采用 HTML 格式。范围 机构 具有以下形式:

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
信件标题的一般形式为: / 。该信件的内容及其附件均未加密。

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
交互通过 FTP 协议进行。具有该名称的文件将传输到指定服务器 _-_.html。文件的内容未加密。

投票失败:让我们让特斯拉特工接触干净的水。 第2部分

加密算法

本例采用以下加密方式:

1方法

该方法用于对主模块中的字符串进行加密。用于加密的算法是 AES.

输入是一个六位十进制数。对其进行如下变换:

f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3

结果值是嵌入数据数组的索引。

每个数组元素都是一个序列 DWORD。合并时 DWORD 得到一个字节数组:前32个字节是加密密钥,后面是16个字节的初始化向量,其余字节是加密数据。

2方法

使用的算法 3DES 在模式中 欧洲央行 以整个字节填充(PKCS7).

key由参数指定 %urlkey%但是,加密使用其 MD5 哈希值。

恶意功能

所研究的样本使用以下程序来实现其恶意功能:

键盘记录

使用WinAPI函数是否有相应的恶意软件标志 设置WindowsHookEx 为键盘上的按键事件分配自己的处理程序。处理函数首先获取活动窗口的标题。

如果设置了应用程序过滤标志,则根据指定的类型执行过滤:

  1. 在窗口标题中查找程序名称
  2. 在窗口进程名称中查找程序名称

接下来,一条记录将添加到日志中,其中包含有关活动窗口的信息,格式如下:

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
然后记录有关按下的键的信息:

关键 记录
Backspace键 取决于 Backspace 键处理标志:False – {BACK}
True – 删除之前的密钥
大写锁定 {大写锁定}
ESC {ESC键}
上一页 {向上翻页}
Down
删除 {删除}
F5 {F5}
&
F10 {F10}
TAB {标签}
< <
> >
空格键
F8 {F8}
F12 {F12}
F9 {F9}
ALT + TAB {ALT+TAB}
结束 {结尾}
F4 {F4}
F2 {F2}
CTRL {CTRL}
F6 {F6}
Up
F1 {F1}
下一页 {向下翻页}
插页 {插入}
Win {赢}
NumLock键 {数字键盘(的第一个键}
F11 {F11}
F3 {F3}
首页 {家}
ENTER {进入}
ALT + F4 {ALT+F4}
F7 {F7}
其他钥匙 字符是大写还是小写取决于 CapsLock 和 Shift 键的位置

按照指定的频率,将收集的日志发送到服务器。如果传输不成功,日志将保存到文件中 %TEMP%log.tmp 格式:

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
当计时器触发时,文件将被传输到服务器。

屏幕记录器

恶意软件以指定的频率创建以下格式的屏幕截图 JPEG 有意义 质量保证 等于 50 并将其保存到文件中 %APPDATA %.jpg。传输后,文件将被删除。

剪贴板记录器

如果设置了适当的标志,则根据下表在截取的文本中进行替换。

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
之后,文本将被插入到日志中:

投票失败:让我们让特斯拉特工接触干净的水。 第2部分

密码窃取者

该恶意软件可以从以下应用程序下载密码:

浏览器 邮件客户端 FTP客户端
Outlook FileZilla中
火狐 雷鸟 WS_FTP
IE/边缘 Foxmail的 WinSCP赋予
Safari 歌剧邮件 核心FTP
歌剧浏览器 的IncrediMail FTP 导航器
Yandex的 波科邮件 FlashFXP的
Comodo 尤多拉 SmartFTP的
铬加 TheBat FTP指挥官
邮箱
火炬 利爪邮件
7Star
朋友
勇敢软件 Jabber 客户端 VPN 客户端
中心浏览器 磅/磅+ 打开VPN
切多
椰子
元素浏览器 下载管理器
史诗隐私浏览器 网络下载管理器
小田 JDownloader
轨道
人造卫星
uCozMedia
维瓦尔第
SeaMonkey的
Flock浏览器
UC浏览器
黑鹰
网狐
K-Meleon的
冰猫
Icedragon
苍白的月亮
狐狸
猎鹰浏览器

动态分析的反作用

  • 使用功能 睡觉。允许您通过超时绕过一些沙箱
  • 销毁一个线程 区域标识符。允许您隐藏从 Internet 下载文件的事实
  • 在参数中 %过滤器列表% 指定恶意软件每隔一秒终止的进程列表
  • 断开 联合应用中心
  • 禁用任务管理器
  • 断开 CMD
  • 禁用窗口 “跑”
  • 禁用控制面板
  • 禁用工具 注册表编辑器
  • 禁用系统还原点
  • 禁用资源管理器中的上下文菜单
  • 断开 MSCONFIG
  • 旁路 UAC的:

主模块的非活动功能

在分析主模块期间,确定了负责在网络上传播并跟踪鼠标位置的功能。

连接可移动媒体的事件在单独的线程中进行监视。连接后,具有该名称的恶意软件将被复制到文件系统的根目录 脚本执行程序,之后它会搜索具有扩展名的文件 LNK。大家的团队 LNK 更改为 cmd.exe /c start scr.exe&start & exit.

媒体根目录的每个目录都有一个属性 “隐” 并创建一个扩展名为 LNK 以及隐藏目录的名称和命令 cmd.exe /c 启动 scr.exe&explorer /root,"%CD%" & 退出.

鼠标追踪器

执行拦截的方法与键盘的拦截方法类似。此功能仍在开发中。

文件活动

路径 使用说明
%Temp%temp.tmp 包含 UAC 绕过尝试的计数器
%startupfolder%%insfolder%%insname% 要分配给 HPE 系统的路径
%Temp%tmpG{当前时间(以毫秒为单位)}.tmp 主模块备份路径
%Temp%log.tmp 日志档案
%AppData%{10个字符的任意序列}.jpeg 屏幕截图
C:UsersPublic{任意10个字符的序列}.vbs 引导加载程序可用于附加到系统的 vbs 文件的路径
%Temp%{自定义文件夹名称}{文件名} 引导加载程序用于将自身附加到系统的路径

攻击者简介

借助硬编码的身份验证数据,我们能够访问指挥中心。

投票失败:让我们让特斯拉特工接触干净的水。 第2部分
这使我们能够识别攻击者的最终电子邮件:

junaid[.]in***@gmail[.]com.

指挥中心域名注册到邮箱 sg***@gmail[.]com.

结论

在对攻击中使用的恶意软件进行详细分析的过程中,我们能够确定其功能并获得与此案例相关的最完整的危害指标列表。了解恶意软件之间的网络交互机制可以为调整信息安全工具的操作提供建议,并编写稳定的 IDS 规则。

主要危险 代理特斯拉 与 DataStealer 类似,它不需要提交给系统或等待控制命令来执行其任务。一旦进入机器,它就会立即开始收集私人信息并将其传输给 CnC。这种攻击行为在某些方面与勒索软件的行为类似,唯一的区别是后者甚至不需要网络连接。如果您遇到这个家族,在清除受感染系统中的恶意软件本身之后,您绝对应该更改至少在理论上可以保存在上面列出的应用程序之一中的所有密码。

展望未来,假设攻击者发送 代理特斯拉,初始引导加载程序经常更改。这使您能够在攻击时不被静态扫描器和启发式分析器注意到。而且这个家族有立即开始活动的倾向,使得系统监控器毫无用处。对抗 AgentTesla 的最佳方法是在沙箱中进行初步分析。

在本系列的第三篇文章中,我们将了解使用的其他引导加载程序 代理特斯拉,并研究其半自动拆包的过程。千万不要错过!

哈希

SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C&C

网址
新浪-c0m[.]icu
smtp[.]sina-c0m[.]icu

注册码

注册表
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{脚本名称}
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname%
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname%

互斥

没有指标。

文件活动
%Temp%temp.tmp
%startupfolder%%insfolder%%insname%
%Temp%tmpG{当前时间(以毫秒为单位)}.tmp
%Temp%log.tmp
%AppData%{10个字符的任意序列}.jpeg
C:UsersPublic{任意10个字符的序列}.vbs
%Temp%{自定义文件夹名称}{文件名}

样品信息

名字 不明
MD5 F7722DD8660B261EA13B710062B59C43
SHA1 15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256 41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
Type PE (.NET)
尺寸 327680
原名 AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
日期戳 01.07.2019
编译器 VB.NET

名字 IE库.dll
MD5 BFB160A89F4A607A60464631ED3ED9FD
SHA1 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256 D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
Type PE(.NET DLL)
尺寸 16896
原名 IE库.dll
日期戳 11.10.2016
编译器 微软链接器(48.0*)

来源: habr.com

添加评论