1.概述
安天CERT监测到一起目标为韩国奖学金基金会、重工企业等多个机构的窃密攻击活动。攻击者利用钓鱼邮件的方式投递恶意载荷,主题为“请求基础产业报价”的报价单,以此诱导受害者解压并执行压缩包中的LokiBot窃密木马,导致用户的隐私和信息泄露。
LokiBot窃密木马执行后,会自动收集受害者的浏览器数据、电子邮件、远程连接凭据等数据并回传至攻击者服务器,造成受害者数据泄露。LokiBot还支持接收C2命令、执行下载其他恶意代码等功能,对受害者数据产生更多威胁。
2.事件对应的ATT&CK映射图谱
2.1事件对应的ATT&CK映射图谱
事件对应的样本技术特点分布图:
图2‑1技术特点对应ATT&CK的映射
具体ATT&CK技术行为描述表:
表2‑1ATT&CK技术行为描述表
ATT&CK阶段/类别 | 具体行为 | 注释 |
资源开发 | 获取基础设施 | 搭建C2服务器 |
能力获取 | 获取窃密程序 | |
初始访问 | 网络钓鱼 | 投放钓鱼邮件 |
执行 | 诱导用户执行 | 诱导用户执行 |
持久化 | 利用自动启动执行引导或登录 | 设置自启动 |
防御规避 | 反混淆/解码文件或信息 | 反混淆木马载荷 |
修改文件和目录权限 | 修改文件权限 | |
隐藏行为 | 隐藏行为 | |
混淆文件或信息 | 混淆木马载荷 | |
进程注入 | 创建自身进程并注入 | |
利用反射代码加载 | 利用反射机制加载代码 | |
凭证访问 | 从存储密码的位置获取凭证 | 窃取浏览器保存的密码 |
窃取Web会话Cookie | 窃取浏览器Cookie | |
发现 | 发现文件和目录 | 发现文件和目录 |
查询注册表 | 查询注册表 | |
发现软件 | 发现待窃密的软件 | |
发现系统信息 | 发现系统信息 | |
发现系统所有者/用户 | 发现系统用户名 | |
发现系统时间 | 发现系统时间 | |
收集 | 压缩/加密收集的数据 | 加密收集的数据 |
自动收集 | 自动收集数据 | |
收集电子邮件 | 收集电子邮件 | |
命令与控制 | 使用应用层协议 | 使用HTTP协议 |
数据渗出 | 自动渗出数据 | 自动回传数据 |
使用C2信道回传 | 使用与C2相同信道回传 |
3.防护建议
有效防御窃密木马,提升安全防护水平,安天建议企业采取如下防护措施:
3.1提升主机安全防护能力
安装终端防护系统:安装反病毒软件;
加强口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;
部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。
3.2 使用沙箱分析可疑邮件
接收邮件时要确认发送来源是否可靠,避免打开可疑邮件中的网址和附件;
建议使用沙箱环境执行可疑的文件,在确保安全的情况下再使用主机执行。
3.3 遭受攻击及时发起应急响应
联系应急响应团队:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查。
4.攻击流程
4.1 攻击流程图
攻击者投放钓鱼邮件,诱导受害者解压并执行邮件附件中的窃密木马。该木马执行后,会窃取浏览器、电子邮件等重要数据回传至指定的C2服务器,然后等待C2指令进行下一步操作,C2指令包括再次窃取数据、下载并执行插件、升级自身、自我删除等。
图 4‑1攻击流程图
4.2 具体攻击流程
攻击者利用钓鱼邮件的方式投递名为“SGN-INC-27049.pdf.7z”的压缩包文件,主题为“请求基础产业报价”的报价单,以此诱导受害者解压并执行压缩包中的LokiBot窃密木马,实施窃密行动。
图 4‑2 发送给韩国奖学金基金会的钓鱼邮件
图 4‑3 发送给韩国某重工企业的钓鱼邮件
两封邮件内容均为:
大家好我是基础产业李贤泽
请尽快报价所附文件。
辛苦了。
用户点击附件后会从指定URL下载LokiBot窃密木马的压缩包,解压执行后将会感染该窃密木马。域名attach.mail.daum.net为某韩国邮件服务商用于提供邮件附件下载服务的域名。
图 4‑4 钓鱼邮件源代码
5.样本分析
5.1 样本标签
表 5‑1二进制可执行文件
病毒名称 | Trojan[Spy]/Win32.LokiBot |
原始文件名 | SGN-INC-27049.pdf.exe |
MD5 | 698CCE9E11CCC4763B8F76483708BB90 |
处理器架构 | Intel 386 or later, and compatibles |
文件大小 | 679.50 KB (695,808字节) |
文件格式 | BinExecute/Microsoft.EXE[:X86] |
时间戳 | 2022-01-28 00:15:36 |
数字签名 | 无 |
加壳类型 | 无 |
编译语言 | .NET |
VT首次上传时间 | 2022-01-28 01:37:17 |
VT检测结果 | 42/67 |
5.2 加载器分析
样本使用ReZer0(别称:CyaX-Sharp)加载器,该加载器含有多层嵌套加载的.NET载荷,使用图片隐写术隐藏数据,最终会将载荷镂空注入到新创建的自身进程中执行。
图 5‑1加载器中加载的LokiBot木马程序
5.3 载荷分析
样本通过对比API函数名称的哈希值获取所需的API地址。
图 5‑2使用函数名称的哈希值获取函数
LokiBot特色哈希算法如下。
图 5‑3用于计算函数名称哈希的函数
样本启动后,首先检查-u参数,若存在则延迟10秒执行,该参数用于样本自身升级。
图 5‑4检查-u参数
使用WSAStartup函数初始化网络对象,并创建互斥体。互斥体名称为设备识别号的MD5哈希值大写前24个字符,若无法获取则为随机10位字符串。互斥体创建成功后的整体运行流程如下。
图 5‑5总体功能
窃取数据
构建函数数组并依次执行数组中的函数,每个函数均包含针对某软件的窃密功能。
图 5‑6 窃密功能函数列表
详细的窃密范围如下表所示。
表 5‑2窃密数据范围
浏览器 | Black Hawk | Chrome | Cyberfox86 | FireFox |
Flock | IceDragon | Internet Explorer | K-Meleon | |
Lunascape6 | Opera | Pale Moon | QtWeb | |
QupZilla | Safari | SeaMonkey | Waterfox | |
密码管理器 | 1Password | Enpass | KeePass | mSecure |
Roboform | ||||
远程管理工具 | 32BitFtp | AbleFTP | ALFTP | Automize |
BitKinex | BlazeFtp | BvSshClient | ClassicFTP | |
Cyberduck | DeluxeFTP | EasyFTP | ExpanDrive | |
Far FTP Pulgins | Fastream NETFile | FileZilla | FlashFXP | |
Fling | FreshFTP | FTP Navigator | FTP Now | |
FTPBox | FTPGetter | FTPInfo | FTPShell | |
fullsync | GoFTP | JaSFtp | KiTTY | |
LinasFTP | MyFTP | NetDrive2 | NexusFile | |
NovaFTP | NppFTP | Odin Secure FTP Expert | SecureFX | |
SftpNetDrive | sherrod FTP | SmartFTP | Staff-FTP | |
Steed | SuperPutty | Syncovery | Total Commander | |
UltraFXP | VNC | wcx_ftp | WinFtp Client | |
WinSCP | WS_FTP | Xftp | ||
电子邮件 | CheckMail | FossaMail | Foxmail | Gmail Notifier Pro |
IncrediMail | MailBox | Mozilla Thunderbird | Opera Mail | |
Outlook | Pocomail | Postbox | Softwarenetz Mailing | |
Trojitá | TrulyMail | Ymail | ||
笔记 | Microsoft Sticky | NoteFly | NoteZilla | Stickies |
To-Do | ||||
其他 | *.SPN | Full Tilt Poker | Mikrotik Winbox | pidgin |
Poker Stars | WinChips |
回传数据
在内存中解密C2地址“http://178.128.244.245/search.php?key=c7efe16273fb99ba59033ba0f61e25db”。
图 5‑7获取C2地址
回传时使用的User Agent字段为“Mozilla/4.08 (Charon; Inferno)”。
图 5‑8回传时使用的User Agent值
持久化
将自身移动或复制到%Appdata%内的子文件夹并设置为隐藏文件,子文件夹名称为计算机硬件ID的MD5哈希值第8~13位,文件名为该MD5哈希的13~18位。
图 5‑9复制自身到%Appdata%目录下
使用SHRegSetPathW函数在注册表中设置自启动项,但样本实际设置的注册表路径为“HKEY_CURRENT_USER\<C2地址>”,并非自启动的“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”,疑似为攻击者在设置C2地址时出现的字符串修改错误。
图 5‑10样本设置的注册表项
获取C2指令,执行后续功能
根据C2指令进行进一步操作,支持的功能包括再次窃取数据、下载并执行插件、升级自身、自我删除等。
图 5‑11接收模块下载指令
6. IoCs
576F333C25BFD3703CA6648333A9EAF2 |
44C0492150737129197C9E9080695D32 |
698CCE9E11CCC4763B8F76483708BB90 |
https://attach.mail.daum.net/bigfile/v1/urls/d/1Utz1pQNfDRk9WIHIzhAzEiFM4A/y62N4Mx096L_VjDAfJy8hw |
https://attach.mail.daum.net/bigfile/v1/urls/d/UXZowoyb1UMf5pgLGjPTvx2k-6A/H_Exi4Ced18csLvJ95AeHA |
http://178.128.244.245/search.php?key=c7efe16273fb99ba59033ba0f61e25db |