“深湖暗影”攻击剧本揭密,采用FontOnLake恶意软件作案
2022-8-31 14:28:59 Author: 微步在线研究响应中心(查看原文) 阅读量:25 收藏

1
概述
FontOnLake 是一个经过精心设计并且在持续发展的恶意软件家族。此类恶意软件以 Linux 系统为目标,会伪装成实用工具软件例如 kill、cat、ssh 等,具备收集登录凭据,充当代理服务器,执行 shell 命令等后门能力,并且会利用内核态 rootkit 来隐藏自身的存在。使用 FontOnLake 的攻击者十分谨慎,目前观察到的样本都使用不同的 C&C 服务器地址,常用高端口,而且当样本出现在公开平台(例如https://s.threatbook.cn/)之后,样本使用的 C&C 服务器就不再处于活动状态。

近期,微步参与一起有关 FontOnLake 恶意软件的攻击事件分析取证。经过分析,有如下发现:

  • 首次观察到攻击者会使用 Ladon、ssh_scan、NATBypass、fscan 等渗透工具,并且绝大部分工具只有简体中文说明。

  • 此次发现 FontOnLake 恶意软件版本是V6.0.3,对抗性强,属于较新版本。

微步通过对相关样本、IP和域名的溯源分析,共提取5条相关 IOC,可用于威胁情报检测。微步威胁感知平台 TDP 、本地威胁情报管理平台 TIP 、威胁情报云 API 、云沙箱 S、主机威胁检测与响应平台 OneEDR 、互联网安全接入服务 OneDNS 等均已支持对此次攻击事件和团伙的检测。OneDNS 可以实现自动拦截阻断,在 DNS 解析环节碰撞情报,在 C&C 服务器反连时直接拦截恶意域名,避免真实的攻击危害发生,保护员工安全上网。

2
详情

近期,微步参与一起有关 FontOnLake 恶意软件的攻击事件分析取证。在此次攻击事件中观察到的攻击剧本如下:

  • 攻击者扫描到攻击目标的一个 web 服务存在 Yii 框架远程命令执行漏洞。

  • 通过 wget 下载系统对应版本的 FontOnLake 恶意软件。

  • 在机器上进行信息收集,会重点关注到 .ssh/ 下面的证书文件。

  • 利用 NATBypass 内网穿透端口转发工具,将内网的 ssh 端口转发到公网服务器。

  • 使用 ssh_scan 工具对 ssh 端口进行爆破。

  • 使用 Ladon 的 go 版本以及 fscan 对内网进行快速扫描。

使用的工具说明:

工具名
GitHub地址
能力
备注
NATBypass
https://github.com/cw1997/NATBypass
内网穿透,端口转发
READNE.md为简体中文的,流行于使用简体中文的黑客人群
ssh_scan
https://github.com/mozilla/ssh_scan
ssh扫描
常用工具
Ladon
https://github.com/k8gege/Ladon
插件化多功能扫描器
READNE.md为简体中文的,流行于使用简体中文的黑客人群
fscan
https://github.com/shadow1ng/fscan
内网扫描器
READNE.md为简体中文的,流行于使用简体中文的黑客人群
3
样本分析

1、样本基本信息

SHA256
4e848ed5c5f2c42002294af0e651a44c20de3aca969c771dc22c1a262fb9aeda
MD5
84769a0cf787073f971c6bf33627bcd2
SHA1
15c5984530a9155f58eadc454306ff2dd185678e
File type
ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, no section
File size
897.32 KB
经分析,该样本由 upx 加壳:
尝试直接进行 upx 脱壳,脱壳成功。

脱壳后样本信息:

SHA256
c9bd8801b6605c6a9912afabfdaf41767fc2609d342a53f6b77bb60e42714aaa
MD5
d7d84656af6e259b1f50ff66802a1415
SHA1
94e7cf38629644aeb1dcd1071e3b6ad18f44b971
File type
ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4ae09befafb3cb6c2ce9fda729c54f326e1aafe8, stripped
File size
2.78 MB

2、脱壳后样本的S沙箱动态分析

样本的多杀软引擎判定结果,其中 ESET 将该样本识别为 FontOnLake 恶意软件。
样本的执行流程,其中有将模块载入 Linux 内核的敏感行为(insmod /tmp/.tmp_C6MBUk),清空 dmesg 环形缓冲区中的日志的敏感行为(dmesg -c)。

样本的 URL 请求,从 C&C 服务器拉取 iplist 文件。

3、静态分析

从样本的 main 函数开始。主进程首先调用 fork 函数生成子进程。主进程调用函数 sub_44384B,其功能为:生成临时文件 /tmp/.tmp_xxxxxx,写入内核模块内容,然后使用 insmod 命令进行安装,用 dmesg 清除 dmesg 的输出,并通过 unlink 删除临时文件。

主进程进入 while 循环,执行命令 ./sshd -e ssh_host_ecdsa_key -d ssh_host_dsa_key -r ssh_host_rsa_key -p 65439 127.0.0.1。在本机监听65439端口,使用提供的 key。主进程等待子进程的结束。

连接该机器的用户和密码设置为 root 和123456。
子进程动态获取 C&C 服务器的 IP 地址和端口。该样本的请求 URL 为 http://8.218.59.26:65130/iplist。响应是 base64 解码,由 AES-128-CBC 使用密钥 M4InzQpqqC18d1KL 和 IV T4kP7mzlYR8DaLU3 解密。响应结果的格式为 <ip>:<port>,然后进行连接。

样本的后门模块中有v6.0.3的字符串,表示其样本版本号为6.0.3。后门命令符合6.0.3的特点。


后门命令清单:
命令
功能
listdir
返回目录列表
isdir
判断是否存在目录
version_update
版本更新
modify_file_attr
修改文件属性
modify_file_time
修改文件时间
create_dir
创建目录
delete_dir
删除目录
delete_file
删除文件
upload_file_beg
上传文件
upload_file_ing
upload_file_end
download_file_beg
下载文件
download_file_ing
download_file_end
fwd_beg
建立代理连接
fwd_ing
fwd_end
exit
退出
pull_passwd
拉取凭证
4
MITRE ATT&CK

在此次攻击事件中观察到的技术点

战术(Tactic)
ID
技术(Technique)
详细信息
Initial Access
T1078
Valid Accounts
FontOnLake 可以收集 ssh 登录凭证。
T1190
Exploit Public-Facing Application
攻击者利用 Yii 框架远程命令执行漏洞
Execution
T1059.004
Command and Scripting Interpreter:Unix Shell
攻击者通过 wget 下载系统对应版本的FontOnLake。
FontOnLake 可以执行 shell命令。
T1059.006
Command and Scripting Interpreter:Python
FontOnLake 可以运行 python 脚本。
T1106
Native API
FontOnLake 可以调用 fork() 运行定制化 ssh 服务。
T1204
User Execution
FontOnLake 替换 cat 等标准工具为木马。
Persistence
T1547.006
Boot or Logon Autostart Execution:Kernel Modules and Extensions
FontOnLake 的 rootkit 可以实现开机自启动。
T1037
Boot or Logon Initialization Scripts
FontOnLake 创建系统启动脚本 ati_remote3.modules。
T1554
Compromise Client Software Binary
FontOnLake 修改标准工具,实现持久化。
Defense Evasion
T1140
Deobfuscate/Decode Files or
Information
FontOnLake backdoors 通过 AES 加密 C&C 地址和通信。
T1222.002
File and Directory Permissions Modification: Linux and Mac File and
Directory Permissions Modification
FontOnLake backdoor 可以修改文件权限。
T1564
Hide Artifacts
FontOnLake 通过 rootkit 隐藏自身通信和进程。
T1564.001
Hide Artifacts: Hidden Files and Directories
FontOnLake 通过 rootkit 隐藏文件。
T1027
Obfuscated Files or Information
FontOnLake 使用 UPX 进行加壳保护。
T1014
Rootkit
FontOnLake 使用 rootkits 来隐藏自身的行为,如进程、文件、网络连接和驱动。
Credential Access
T1556
Modify Authentication Process
FontOnLake 修改 sshd 获取登录凭证。
Discovery
T1083
File and Directory Discovery
FontOnLake backdoors 可以列出目录和文件。
T1082
System Information Discovery
FontOnLake 从受害者的机器上收集信息。
Lateral Movement
T1021.004
Remote Services: SSH
FontOnLake 收集 ssh 登录凭证,可用于横向移动。
攻击者使用 ssh_scan 进行内网 ssh 服务扫描。
T1210
Exploitation of Remote Services
攻击者使用 Ladon、fscan 对内网进行快速扫描。
Command and
Control
T1090
Proxy
FontOnLake 可作为代理。
攻击者使用 NATBypass 进行内网穿透和端口转发。
T1071.001
Application Layer Protocol: Web
Protocols
FontOnLake 通过 HTTP 获取额外 C&C 地址。
T1071.002
Application Layer Protocol: File
Transfer Protocols
FontOnLake 可以通过 FTP 下载 pyhton脚本。
T1132.001
Data Encoding: Standard Encoding
FontOnLake 使用 base64 编码 HTTPS 响应。
T1568
Dynamic Resolution
FontOnLake 通过 HTTP 下载 C&C 服务器的 IP 和端口。
T1573.001
Encrypted Channel: Symmetric
Cryptography
FontOnLake 使用 AES 加密与 C&C 服务器的通信。
T1008
Fallback Channels
FontOnLake 可以使用动态 DNS。rootkits 还会侦听特制数据包,这些数据包指示它下载并执行文件。
T1095
Non-Application Layer Protocol
FontOnLake 通过 TCP 与 C&C 服务器通讯
T1571
Non-Standard Port
FontOnLake 使用非标准端口。
Exfiltration
T1041
Exfiltration Over C2 Channel
FontOnLake 提取收集的数据。

公众号内回复“FO”,可获取附录 IOC。

---End---

内容转载与引用

1. 内容转载,请微信后台留言:转载+转载平台

2. 内容引用,请注明出处:以上内容引自公众号“微步在线研究响应中心”

点击下方,关注我们
第一时间获取最新的威胁情报


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MTc3ODY4Mw==&mid=2247495957&idx=1&sn=f44bc3b5530f95782fcc5a35ecf20843&chksm=cfca9201f8bd1b17e1bb37ae53fc1f5cdfa56b66d44cc919693548206118f33da781a5ac479d#rd
如有侵权请联系:admin#unsafe.sh