第二章日志分析-mysql应急响应

一、前言

MySQL应急响应是指在MySQL数据库遇到故障、入侵或其他紧急情况时,采取的一系列快速、有效的措施,以确保数据库的完整性、安全性和可用性,这里我们主要分析的是日志信息,里面记录黑客入侵的大部份信息。

二、概览

简介

mysql应急响应 ssh账号 root 密码 xjmysql

ssh env.xj.edisec.net -p xxxxx

1.黑客第一次写入的shell flag{关键字符串}

2.黑客反弹shell的ip flag{ip}

3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx

4.黑客获取的权限 flag{whoami后的值}

使用Xshell连接靶机;(直接新建或者SSH连接,接着正常输入账户密码即可,这里不再多强调)

连接上靶机,这一个靶场,是mysql应急响应,我们思考一下,既然hacker要在mysql里写入shell,那么首先他一定是先拿下了网站,并上传了shell,第一次写入的shell,我们可以去web目录下查找一番!

1.黑客第一次写入的shell flag{关键字符串}

写入了shell肯定是想要获取目标网站,所以在linux下,/var/www/html/目录下,把html文件直接扔到D盾分析即可;发现是sh.php文件

直接用我之前文章用过的webshell查找命令,来到web目录下

find ./ -name "*.php" | xargs grep "@eval("

flag{ccfda79e-7aa1-4275-bc26-a6189eb9a20b}

2.黑客反弹shell的ip flag{ip}

查看mysql的日志文件,在/var/log/mysql下

这里只有一个error.log文件

查看之后看到有一条很奇怪的信息

在/tmp/目录下上传了一个1.sh的文件,后面则是这个文件引发的一系列错误信息

每行的错误信息,如command not found,指出脚本中的每一行都被解释器当作命令来尝试执行,但由于这些行实际上是HTTP响应的一部分(例如日期、状态信息、长度描述等),shell无法识别并执行它们,从而导致了一系列的错误。

全局查找一下这个文件,还在/var/lib/mysql/下存在

查看文件内容

正是一条反弹shell的命令,hacker的IP也在这文件中

flag{192.168.100.13}

3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx

提权我直接猜测为udf提权了,最常用的提权方式

UDF提权说明:

UDF 是什么

UDF(Userdefined function)可翻译为用户自定义函数,其为 mysql 的一个拓展接口,可以为 mysql 增添一些函数。比如 mysql 一些函数没有,我就使用 UDF 加入一些函数进去,那么我就可以在 mysql 中使用这个函数了。

条件:

获取了MySQL控制权:获取到账号密码,并且可以远程连接

获取到的账户具有写入权限,即secure_file_priv值为空

什么情况下需使用mysql提权?

拿到了mysql的权限,但是没拿到mysql所在服务器的任何权限,通过mysql提权,将mysql权限提升到操作系统权限

既然要提权,那黑客肯定知晓了账号密码,而且连接上了,那么我们可以猜想,是不是web目录下有页面泄露了mysql账号密码,回到web目录

find ./ -name "*.php" | xargs grep "root"

xargs:将前面的查询结果作为后面查询的条件,这里的命令是:查询*.php文件里面含有root关键字的文件。

通过匹配root关键字符串,发现common.php文件确实泄露了账号密码

连接一下数据库

show global variables like '%secure%';

查到secure_file_priv字段为空,具有写入权限

在 MySQL 数据库中,自定义函数(UDF, User Defined Functions)提权通常涉及到将恶意的共享库 (.so 文件) 放置到 MySQL 能加载的目录中,以便执行不受信任的代码。这种方法可能会被用于利用数据库系统的特权漏洞。

在 MySQL 中,UDF 共享库文件通常位于以下目录之一:

  1. MySQL 插件目录 (plugin_dir):
    • 这是 MySQL 配置中的一个参数,指向存放插件和 UDF 共享库的目录。可以通过以下命令查找该目录:
SHOW VARIABLES LIKE 'plugin_dir';
  1. MySQL 数据目录 (datadir):
    • 这是 MySQL 存放数据库文件的目录,有时也会被用于存放 UDF 共享库文件。可以通过以下命令查找该目录:
SHOW VARIABLES LIKE 'plugin_dir';

进入目录:

这个目录是mysql存放用户自定义函数的,出现了一个udf.so文件,肯定是有人写入了一个自定义函数到库中。

通过md5加密/usr/lib/mysql/plugin/udf.so得到flag

flag{b1818bde4e310f3d23f1005185b973e7}

4.黑客获的权限 flag{whoami后的值}

既然hacker进行了提权,在库中写入了自定义函数,我们去数据库中查询一下

select * from mysql.func;

这个表会查询到新增函数

使用新增的这个函数执行系统命令

select sys_eval('whoami');

得到flag{mysql}

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zTale

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值