要点
Cyble 研究和情报实验室 (CRIL) 观察到多个威胁参与者 (TA) 对开源 PySilon RAT 的使用情况。
自 2023 年 6 月以来,VirusTotal 上存在超过 300 个样本,这表明 PySilon 恶意软件的活动显着激增。
PySilon RAT 最初于 2022 年 12 月建立,版本为 1.0,此后已发展到当前的迭代版本 3.6。
当前版本拥有先进的恶意软件功能,包括记录击键、窃取敏感信息、捕获屏幕活动、执行远程命令以及执行其他功能的能力。
CRIL还检测到大量模仿软件、工具和破解的样本,怀疑其来源来自钓鱼网站、免费软件下载网站等。
概述
由于 GitHub 等平台的便利性、高级功能和适应性,威胁行为者 (TA) 会求助于 GitHub 等平台上提供的开源恶意软件。CRIL 最近发现了多个 PySilon RAT(一种开源恶意软件)实例。值得注意的是,自 2023 年 6 月以来,VirusTotal 上已报告了超过 300 个该恶意软件的样本。这些样本的上升趋势表明 PySilon RAT 的使用量不断增加。
图 1 - PySilon RAT 的崛起(统计来源 - VirusTotal)
9 月 13 日,CRIL 在VirusTotal上发现了一个名为“Adobe Photoshop.exe”的 PyInstaller 文件。我们假设该可执行文件来自网络钓鱼网站。经过分析后,人们注意到 PyInstaller 恶意软件可执行文件是利用名为“PySilon”的开源 GitHub 项目创建的,这是一种远程访问木马 (RAT)。
图 2 – 带有 Adobe Photoshop 图标的 PySilon RAT
PySilon项目(PySilon v1.0)具有基本的恶意软件功能,最初于 2022 年 12 月上旬发布在 GitHub 上。最新版本 PySilon v3.6 于 2023 年 8 月底发布,拥有高级恶意功能。
图 3 – PySilon 恶意软件图标
使用 PySilon 构建器创建的恶意软件最初由NeikiAnalytics大约一个月前识别出,如下所示。
图 4 – 在 VirusTotal 中首次发现 PySilon RAT 可执行文件
在我们分析期间,FalconFeedsio还发布了一条 Twitter 消息,表明一名论坛用户正在支持“PySilon 恶意软件”。此外,我们还发现了许多模仿软件、工具和破解的样本,怀疑它们是从网络钓鱼网站、免费软件下载网站等下载的。使用 PySilon 构建器生成的恶意软件文件使用的文件名包括:
WinSecureInstaller.exe
VF_V2 Visual efects + fps unlocker.exe
Adobe Photoshop.exe
Synapse Launcher.exe
Windows Defender.exe
cmdassist.exe
WindowsUpdate.exe
Chromedriver.exe
Windows-MSDEV-v1.8-nonUWPapp.exe
nitrogen+checker.exe
技术分析
建设者
下图显示了 PySilon 构建器包。运行“PySilon.bat”文件后,它会启动一个 GUI,使用户能够创建自定义的 PySilon RAT 二进制文件,然后将其保存到“dist”文件夹中。“资源”文件夹包含多个 Python 脚本,每个脚本专用于 RAT 恶意软件的特定功能。
图 5 – PySilon 恶意软件包版本 3.6
PySilon RAT 构建器使 TA 能够创建具有其恶意软件所需功能的定制恶意二进制文件。下图显示了 PySilon 构建器的 GUI,显示了用于构建二进制文件的一系列选项。
图 6 – PySilon 构建器 GUI
PySilon RAT(远程访问木马)
这是一种用 Python 编程语言编码的高级 RAT,旨在通过 Discord 进行完全控制,具有专门的 GUI 构建器。根据开发人员在 GitHub 上提供的信息,该 PySilon RAT 包含广泛的功能,其中包括:
绕过UAC以在启动时获取管理权限。
反虚拟机措施,防止在虚拟机(例如 VirtualBox、VMWare)上执行。
运行CMD命令进行远程控制。
进程管理,包括浏览和终止。
提取浏览器历史记录、cookie 和保存的密码。
Discord 代币和系统信息的收集。
Wi-Fi 密码被盗。
目标 PC 上的文件浏览。
用于捕获每个键盘输入的击键记录。
操纵复制的加密货币钱包地址。
根据喜好捕获屏幕截图并录制屏幕。
网络摄像头图像捕捉功能。
连续麦克风录音保存在 .wav 文件中。
实时麦克风流至语音通道。
鼠标和键盘控制,包括阻止它们的能力。
文件执行功能。
从目标 PC 上传和下载文件。
能够触发蓝屏死机。
执行叉子炸弹使电脑崩溃。
能够管理多台电脑,而不仅限于一台。
PySilon功能
PySilon 项目包含多个旨在执行恶意活动的 Python 文件,如下节所述。
UAC绕过
PySilon 项目包含一个名为“uac_bypass.py”的 python 文件,该文件试图绕过 Windows 用户帐户控制 (UAC) 安全功能。
它包含一个UACbypass函数,用于检查它是否以管理员权限运行,尝试两种 UAC 绕过方法,包括修改注册表和执行系统命令来查询与 Windows Defender 相关的事件日志,并在成功时递归调用自身。
IsAdmin函数使用ctypes检查用户是否具有管理员权限。
GetSelf函数确定脚本是可执行文件还是脚本文件。
图 7 – UAC 绕过
Anti-VM/Anti-Debug Check
该项目的开发人员使用了一个名为“protections.py”的 python 文件,该文件提供基本的安全检查,以检测虚拟化、调试环境或 Windows 系统上是否存在特定黑名单进程的潜在迹象,如图 8 所示。检测到任何这些元素,都会终止恶意软件进程。
图 8 – Anit-VM/Anti-Debung
Keylogger
PySilon 项目中名为“keylogger.py”的 Python 脚本将键盘记录器与 Discord 机器人客户端结合在一起,在处理键盘记录活动时可能会达到恶意目的。它导入各种库,包括一个用于键盘监控的库和另一个用于捕获屏幕截图的库。
该代码使用Listener监听按键,并尝试使用解码后的令牌运行多个 Discord 机器人客户端。该键盘记录器功能通过listener.join()启动。
on_press函数充当键盘记录器,处理按键事件并将特殊键映射到描述性标签。当按下 Enter 键时,累积的文本将作为消息发送到 Discord 机器人的主通道。
如果按下打印屏幕键,则会捕获屏幕截图并安排通过不和谐通道发送。
图 9 –Keylogger
Grabber
该项目的另一个 python 脚本名为“grabber.py”,负责谨慎收集敏感数据。它响应通过 Discord 机器人发送的命令,在受害者的计算机上启动各种数据收集操作。
命令包括:
“.grab passwords”用于捕获已保存的密码。
“.grab History”用于收集浏览器历史记录。
“.grab cookies”用于抓取浏览器cookie。
“.grab wifi”用于提取 Wi-Fi 网络密码。
“.grab Discord”用于检索 Discord 帐户相关数据。
这些收集的详细信息以不同的格式呈现在 Discord 频道中,例如消息和文件附件。
图 10 – Grabber
Crypto-Clipper
该项目的开发人员使用了 python 脚本“crypto_clipper.py”,该脚本是被称为“Crypto Clipper”的恶意工具的一部分,旨在作为 Discord 机器人运行并响应与剪贴板操作相关的特定命令。当 TA 发出“.start-clipper”命令时,脚本会检查 Crypto Clipper 是否已在运行,如果没有,则将其初始化。
Clipper 监视剪贴板内容中的加密货币钱包地址,尝试用 TA 控制的不同地址替换它们。它从 JSON 文件中读取加密货币地址,使用正则表达式来识别剪贴板中的地址,并在单独的线程中运行以进行持续监控。
该脚本包括记录注释以记录各种操作和事件。成功启动后,它会向 Discord 通道发送一条消息,指示 Clipper 处于活动状态。相反,“.stop-clipper”命令会停止 Clipper。
图 11 – Crypto-Clipper
获取 Cookie
名为“get_cookies.py”的 Python 脚本旨在自动从安装在 Windows 系统上的各种 Web 浏览器(例如 Kometa、Orbitum、Cent-Browser、7star、Sputnik、Vivaldi、Google-Chrome)中提取和解密浏览器 cookie。 SxS、Google-Chrome、Epic-Privacy-Browser、Microsoft-Edge、Uran、Yandex、Brave、Iridium、Opera 和 Opera-GX。
该脚本定义了一个名为Browsers 的类,用于识别正在运行的浏览器进程并终止它们以确保安全访问其数据。然后,它尝试从每个浏览器的数据目录中检索用于保护存储的密码和 cookie 的主加密密钥。该脚本迭代支持的浏览器和配置文件,解密存储的 cookie,并将它们写入“cookies.txt”文件,如下所示。
图 12 – 获取 Cookie
Discord 令牌捕获器
“discord_token_grabber.py”Python 脚本旨在从 Windows 系统上的各种 Discord 相关目录和文件中提取和潜在上传 Discord 用户令牌及相关信息。该脚本定义的类包括:
scrap_discord类用作初始化和上传 Discord 令牌及相关数据的入口点。
该脚本的extract_tokens类扫描多个与 Discord 相关的目录,使用正则表达式从特定文件中提取令牌,并使用主加密密钥对其进行解密。它通过向 Discord 发出 API 请求来验证这些令牌。
fetch_tokens类检索并准备与令牌相关的数据,包括用户详细信息、账单信息、关联的行会和礼品代码,可以采用 JSON 对象的形式,具体取决于 raw_data参数。
图 13 – Discord 令牌捕获器
使用网络摄像头捕获图像
PySilon 项目的脚本“webcam.py”与 Discord 集成,使 TA 能够使用受害者计算机的网络摄像头捕获照片,以响应特定的 Discord 命令。
如果命令只是“.webcam”,它会提供使用说明并使用红色表情符号进行回复。
如果命令包含“.webcam photo”,脚本会使用Pygame初始化网络摄像头,捕获图像,将其保存到受害者的计算机上,并将图像作为带有时间戳的 Discord 消息发送。
如果没有找到摄像头,它会通知用户没有可用的摄像头。如果提供了无效参数,它会给出使用说明。此外,它还会从用户的计算机中删除捕获的图像。
图 14 – 网络摄像头
Microphone Recording
Python 脚本“microphone_recording.py”利用SciPy库连续捕获来自麦克风的音频并将其保存为 .WAV 文件。在脚本内部,“start_recording”函数以无限循环运行并检查“send_recordings”标志是否设置为 true。如果设置为 true,脚本会录制音频并将其与时间戳一起发送到不和谐频道。如果标志为 false,则等待 20 秒并再次检查标志状态以捕获音频。
图 15 –Microphone Recording
附加功能
此外,RAT 能够根据 TA 发出的命令执行各种操作。这些操作包括捕获或录制屏幕、触发蓝屏死机 (BSOD)、启用实时麦克风访问、上传和下载文件、启动 fork 炸弹、建立反向 shell、在受感染的系统上实现持久性、终止进程以及按照远程攻击者的指示删除文件。
下图描述了 TA 用来完成所需任务的命令。
图 16 – pySilon RAT 使用的命令
下图显示了 PySilon RAT 可执行文件的进程树。
图 17 – 进程树
结论
助教在恶意软件活动中使用开源代码(通常来自 GitHub 等平台)以提高成本效率,因为它是免费提供且经过充分测试的。它可以实现快速开发和定制,同时混淆恶意意图,使检测变得更加困难。在本例中,助教利用从 GitHub 获取的 PySilon 恶意软件构建器来生成远程访问木马恶意软件文件。利用这种恶意工具,他们可以执行一系列活动,包括记录击键、窃取敏感数据、与受感染系统之间传输文件、录制屏幕、从麦克风捕获音频、执行远程命令等等。
PySilon 项目的所有者正在不断改进构建器,并打算在即将发布的版本中引入新功能。我们的监控显示,VirusTotal 上的 PySilon 可执行文件上传数量显着激增,并且用户在在线论坛中积极推广该恶意软件清楚地表明,PySilon 正在成为威胁环境中不断升级的问题。
我们的建议
最初的感染可能通过网络钓鱼网站、免费软件下载网站等发生。确保您仅从信誉良好的既定来源下载和安装软件应用程序。避免从缺乏可信度或验证的在线来源获取软件。
部署强大的防病毒和反恶意软件解决方案来检测和删除恶意可执行文件和脚本。
MITRE ATT&CK® 技术
IOCs
转载来源:https://cyble.com/blog/emerging-threat-understanding-the-pysilon-discord-rats-versatile-features/
图片来源网络侵权可联系删除