FortiGuard实验室最近发现了一个电子邮件钓鱼活动,利用欺骗性的预订信息引诱受害者点击恶意PDF文件。PDF下载了一个用PowerGUI创建的 .NET可执行文件,然后运行PowerShell脚本来获取最终的恶意软件,称为MrAnon Stealer。
该恶意软件是一个基于Python的信息窃取程序,使用cx Freeze压缩以逃避检测。MrAnon Stealer窃取受害者的凭据、系统信息、浏览器会话和加密货币扩展,攻击流程如下所示。
攻击流
下载网址主要在德国被查询,这表明它是攻击的主要目标。这个URL的查询数量在2023年11月显著上升,该活动在该月异常活跃和激进。在本文中,我们将详细介绍该恶意软件在每个阶段的行为。
初始感染载体:Booking.pdf
攻击者伪装成一家希望预订酒店房间的公司,发送主题为“12月房间可用性查询”的网络钓鱼电子邮件。该网站包含假日期间虚假的酒店预订信息,附加的恶意PDF文件有一个下载链接隐藏在对象中。其解码后的数据如下:
网络钓鱼邮件
恶意PDF文件
通过“Loader”类中的字符串,可以发现恶意软件使用了PowerShell脚本编辑器,该编辑器将PowerShell脚本转换为微软可执行文件。
反编译的Exec()函数
在检查下图所示的.NET可执行文件后,我们发现它利用ScriptRunner.dll提取“Scripts.zip”以获得一个PowerShell脚本。解压后的文件存放在以下位置:
“%USERPROFILE%\AppData\Local\Temp\Quest Software\PowerGUI”
这个 .NET Microsoft Windows可执行文件的唯一任务是解压缩名为“down2”的嵌入式脚本,并使用PowerShell.exe执行它。打包的文件和PowerShell配置位于文件的资源部分,如下图所示。
加载PowerShell脚本的ScriptRunner.dll
恶意软件的资源部分
该脚本启动Windows窗体的加载并配置其设置,包括窗体、标签和进度条。此外,它在后续脚本的执行中定义了文本,以消除用户的疑虑。
Create Windows表单
在 “Form Load event”部分中,脚本从相同的域“anonbin[.]ir”中检索有效负载,并解压缩临时文件夹中的文件。然后,它在zip归档中定位执行文件,并使用“Start-Process” 执行。在这种状态下,会显示一个名为 “File Not Supported”的窗口,并伴有一条指示 “Not Run: python.exe.” 的状态消息。这种欺骗性的演示旨在误导用户,使其相信恶意软件尚未成功执行。下图显示了恶意软件执行过程中的窗口和进度条。
Form Load事件部分
执行python.exe期间显示的进度窗口
压缩文件“Ads-Pro-V6-Free-Trail (1).zip”包含多个文件。下图显示了解压文件夹的内容。在此文件夹中,两个DLL文件作为干净的组件,以方便“Python .exe”进程加载额外的Python代码。下图展示了“Python .exe”中的WinMain函数,清楚地表明这不是一个合法的Python可执行文件。
Ads-Pro-V6-Free-Trail (1).zip中的文件
python.exe中的WinMain
跟踪初始调用可以发现执行文件源自cx_Freeze工具。然后,脚本搜索目录“\lib\library.zip”,并使用“PyObject_CallObject”调用恶意Python代码。
检查目录\\lib\\library.zip
调用Python主代码
下图显示了“library.zip”中的文件。值得注意的是,与合法文件相比,“cstgversion_main__.pyc”由于其独特的创建时间而脱颖而出。此特定文件包含负责数据盗窃的主要函数。
library.zip中的文件
首先,恶意软件会验证系统上是否存在以下进程,如果存在则会终止它们:
“ArmoryQt.exe”,“AtomicWallet.exe”,“brave.exe”,“bytecoin-gui.exe”,“chrome.exe”,“Coinomi.exe”,“Discord.exe”, “DiscordCanary.exe”, “Element.exe”,“Exodus.exe”,“firefox.exe”, “Guarda.exe”,“KeePassXC.exe”,“NordVPN.exe”, “OpenVPNConnect.exe”,“seamonkey.exe”,“Signal.exe”, “Telegram.exe”,“filezilla.exe”,“filezilla-server-gui.exe”, “keepassxc-proxy.exe”,“msedge.exe”,“nordvpn-service.exe”, “opera.exe”,“steam.exe”,“walletd.exe”,“waterfox.exe”, “yandex.exe”
然后使用“ImageGrab”抓取截图,保存文件名为 “Screenshot (Username ).png.”,此外,它还与“api.ipify.org”和“geolocation-db.com/jsonp”等合法网站建立连接,以检索系统的IP地址、国家名称和国家代码。它还从下列来源收集资料:
浏览器数据:7Star、Amigoz、Bravez、Cent Browser、Chrome Canary、Epic Privacy Browser、Google Chrome、Iridium、Kometa、Microsoft Edge、Opera、Opera GX、Orbitum、Sputnik、Torch、Uran、Vivaldi、Yandex、Firefox、Pale Moon、SeaMonkey和Waterfox。
桌面钱包:Bytecoin Wallet, Guarda, Atomic Wallet, Coinomi Wallet, Bitcoin Armory和 Exodus.
浏览器扩展:
即时通信:Discord,DiscordCanary,Element,Signal,Telegram Desktop。
VPN客户端:NordVPN、ProtonVPN和OpenVPN Connect。
Browser Wallet:
其他:FileZilla和FileZilla Server。
游戏:Steam。
文件:它扫描这些目录:Desktop,Documents,Downloads,Pictures,and grabs specific files with following extensions:“.7z,”“.bmp,”“.conf,” “.csv,”“.dat,”“.db,”“.doc,”“.jpeg,”“.jpg,”“.kdbx,”“.key,”“.odt,”“.ovpn,” “.pdf,”“.png,”“.rar,”“.rdp,”“.rtf,”“.sql,”“.tar,”“.txt,”“.wallet,”“.xls,”“.xlsx,” “.xml,”and“.zip.”
接下来,它压缩被盗数据,用密码保护数据,并将文件名指定为“Log(Username).zip”。压缩后的文件将使用URL上传到公共文件共享网站hxxps://store1[.]gofile[.]io/uploadFile。最后,它将下载链接和系统信息附加到一条消息中,该消息使用bot令牌6799784870:AAHEU6EUdnAjRcH8Qq0TCokNtVJSL06VmbU发送到攻击者的Telegram频道。
Telegram消息中的被盗数据
zip文件
MrAnon Stealer的支持通道如下图所示。该支持渠道推广其产品,提供增强的功能,并在“hxxp[:]//anoncrypter[.]com”上为所有相关工具提供购买页面
MrAnon Stealer的telegram频道
MrAnon Tools的网站
攻击者在今年早些时候建立了网站“anonbin[.]ir”,如下图所示,并下载了所有相关文件。经过调查,我们发现了7月份使用cx_Freeze的类似打包文件。这些文件始终以基于Python的窃取程序为特征,由代码中共享的“HYDRA”标识标识,如下图所示。
该活动最初在7月和8月传播Cstealer,但在10月和11月过渡到传播MrAnon Stealer。这种模式表明了一种战略方法,即继续使用钓鱼电子邮件来传播各种基于Python的窃取程序。
hxxps[:]//anonbin[.]ir的主页
七月份恶意软件的标识
该恶意软件使用PowerGUI和cx-Freeze工具创建一个复杂的过程,涉及 .NET可执行文件和PowerShell脚本。攻击者还使用虚假错误消息等技巧来隐藏攻击活动,从特定域下载并提取文件,以运行有害的Python脚本。该脚本提取干净的DLL文件和名为“python.exe”的恶意软件,用来掩盖恶意有效负载MrAnon Stealer的加载。它从几个应用程序中窃取数据和敏感信息,然后将窃取的数据压缩并上传到公共文件共享网站和攻击者的Telegram频道,用户应小心网络钓鱼邮件和不清晰的PDF文件。
参考及来源:https://www.fortinet.com/blog/threat-research/mranon-stealer-spreads-via-email-with-fake-hotel-booking-pdf