概述
近期又遇到了几起windows下的mallox勒索的事件,攻击者都是通过MS-SQL攻击进来的,各位注意一下不要再把不必要的MS-SQL开放在公网上了。
同时有国外公司在这几天捕获到mallox勒索软件在Linux下的变体以及一个web_server.py文件,而且在溯源其资产时发现了对应的解密程序,这些解密程序的运行仍然需要key和build ID。
通过分析泄露的panel源码也就是捕获到的web_server.py,我们可以拓出更多的线索。
技术分析
web_server.py文件是勒索攻击者使用的基于 Flask 的 Mallox 勒索软件 web 面板,可用于为Linux系统创建快速且可定制的勒索软件。该脚本使用环境变量连接到后端数据库以获取数据库凭据。它包括用户认证、构建管理和管理员功能的路由,支持新用户注册、登录、密码重置和 勒索软件 构建创建、管理和下载。管理员可以管理用户、查看日志和执行账户操作。此外,该应用程序还具有用户个人资料管理、构建的聊天界面和自定义的 404 错误页面。
通过web_server.py溯源到攻击者使用的服务器资产,以及panel的端口
遗憾的是,目前该3000端口的panel暂时停止了服务,所有的api都无法正常工作,不过这也没有关系。
继续分析可以发现解密器文件可以在 185[.]73[.]125[.]6/output/{build-id}/decryptor中,用于以下 ID访问对应的解密器:
-
1a2040656ec7ac34 -
7cc49d60f71e4ca4 -
84bb1f05ce370665 -
928bc7bf4d954d3d -
b90ae4c6e011c45e -
f6b040a56afcb6fb -
F65bccf063ee3cc6
结合flask项目的文件结构,也就是猜目录,我们还能获取到更多的信息。比如攻击者使用的sql用户名和密码
还有flask的模板文件。这使得我们在flask服务没有开启情况下,也能获得所有的panel页面(即使有些页面正常运行时需要权限才能访问)
这些模板文件中存在大量的特征,结合VT和fofa可以帮助我们来找到更多的panel
由于时间原因,我这里还有一个没有验证的想法。这个基于Flask的panel是否还存在一些web漏洞可以用于反制呢?如果该panel真有漏洞,那要获得数据库中的完整的build ID和key应该不是问题,这样对于mallox的解密也就不再是问题。各位可以在本地把服务搭起来之后审计一下。
IOC
IOC类型 |
IOC |
文件名 |
IP |
185[.]73[.]125[.]6 |
|
IP |
91[.]215[.]85[.]142 |
|
IP |
91[.]215[.]85[.]135 |
|
MD5 |
3dde1507996cf8c3dd53a726501be33b |
Webserver.py |
MD5 |
b0770b7f24a436d256f2d58fc8581a18 |
解密器 |
MD5 |
231478ff24055d5cdb5fbec36060c8ff |
加密器 |
MD5 |
51d51696c7f3a0e3fba4b8ceab210bac |
解密器 |
MD5 |
8d0fd41d35df82d3e7e2ff5c1747b87c |
加密器 |
MD5 |
e9e087c52b97c7a3e343642379829e0a |
解密器 |
MD5 |
68785d476573955d50a3908dc18bf73b |
加密器 |
MD5 |
cb60ad37c9a632c697fb2da7add7ccb5 |
解密器 |
MD5 |
6bb2752ea73b4d6a5c33f543b5c29461 |
加密器 |
MD5 |
1448ce8abc2f0184ec898d55f9c338b4 |
解密器 |
MD5 |
5b0c1958a875c205951b88fd1c885900 |
加密器 |
MD5 |
7f099845d8e6849d6ab4d64b546477d6 |
解密器 |
MD5 |
4825f3a92780be4a285583b0f24fed99 |
加密器 |
MD5 |
be08c3e95df5992903a69e04cbab22e3 |
解密器 |
MD5 |
779aa15cd6a8d416e7f722331d87f47b |
加密器 |
原文始发于微信公众号(3072):mallox勒索软件溯源反制思路