蓝队应急响应实战案例(二)redis-mysql-apache

admin 2024年5月26日19:45:18评论5 views字数 2646阅读8分49秒阅读模式

第二章 日志分析-apache日志分析-入门

简介 

账号密码 root apacherizhi

ssh root@IP

Apache 的日志一般存储在/var/log/apache2/access.log下

1、提交当天访问次数最多的IP,即黑客IP:

使用命令过滤出日志文件中ip字段 对其排序去重

cat /var/log/apache2/access.log.1 | awk '{print $1}' | sort -rn | uniq -c
蓝队应急响应实战案例(二)redis-mysql-apache
flag{192.168.200.2}

2、黑客使用的浏览器指纹是什么,提交指纹的md5:

cat /var/log/apache2/access.log.1 | grep "192.168.200.2"
蓝队应急响应实战案例(二)redis-mysql-apache

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

flag{2d6330f380f44ac20f3a02eed0958f66}

3、查看index.php页面被访问的次数,提交次数:

cat /var/log/apache2/access.log.1 | grep "/index.php" | wc -l
蓝队应急响应实战案例(二)redis-mysql-apache
flag{27}

4、查看黑客IP访问了多少次,提交次数:

cat /var/log/apache2/access.log.1 | awk '{print $1}' | sort -rn | uniq -c
蓝队应急响应实战案例(二)redis-mysql-apache
flag{6555}

5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数

cat /var/log/apache2/access.log.1 | grep "03/Aug/2023:08" | awk '{print $1}' | sort -rn | uniq -c | wc -l
蓝队应急响应实战案例(二)redis-mysql-apache
flag{5}

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

简介 mysql应急响应 ssh账号 root 密码 xjmysql ssh env.xj.edisec.net -p xxxxx

mysql的日志一般存储在/var/log/mysql/ 下

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

查看日志文件发现存在异常行为 执行1.sh 脚本

蓝队应急响应实战案例(二)redis-mysql-apache

猜测黑客使用mysql进行写shell 一般是写入到网站的目录中去,这个时候我们对网站目录进行扫描,寻找上传的shell

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

发现木马文件sh.php

蓝队应急响应实战案例(二)redis-mysql-apache
flag{ccfda79e-7aa1-4275-bc26-a6189eb9a20b}
蓝队应急响应实战案例(二)redis-mysql-apache

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

查看在日志文件中发现的1.sh文件

发现反弹shell命令, 但是根据mysql的日志文件显示,并没有执行成功

flag{192.168.100.13}
蓝队应急响应实战案例(二)redis-mysql-apache

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

猜测黑客拿到网站权限后 在网站配置文件中发现了数据库的账号密码,并修改数据库配置 进行udf提权

我们在网站目录中发现文件common.php中存在数据库连接信息

蓝队应急响应实战案例(二)redis-mysql-apache

udf提权的条件之一就是需要数据库的账号密码

我们查看mysql的扩展文件夹/usr/lib/mysql/plugin/ 中是否存在udf提权的动态链接库

在文件夹中发现了udf.so

蓝队应急响应实战案例(二)redis-mysql-apache

提权文件的完整路径为 /usr/lib/mysql/plugin/udf.so

flag{b1818bde4e310f3d23f1005185b973e7}

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

查看进程信息 发现存在进程 PID为364的进程调用了udf的动态链接库

所属用户为mysql 所以黑客获取的权限是mysql

ps aux
蓝队应急响应实战案例(二)redis-mysql-apache
flag{mysql}

第二章日志分析-redis应急响应-中等

服务器场景操作系统 Linux 服务器账号密码 root xjredis

任务环境说明 注:样本请勿在本地运行!!!样本请勿在本地运行!!!样本请勿在本地运行!!!应急响应工程师小王某人收到安全设备告警服务器被植入恶意文件,请上机排查

redis的日志一般存放在/var/log/redis.log

1.通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少,将黑客 IP 作为 FLAG 提交;

查看redis日志发现192.168.100.13一直在向redis发起同步请求 但是未成功

成功攻击IP为192.168.100.20

蓝队应急响应实战案例(二)redis-mysql-apache
flag{192.168.100.20}

2.通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交;

在日志中还发现了system模块从exp.so文件中加载了,猜测攻击者利用主从复制getshell

蓝队应急响应实战案例(二)redis-mysql-apache

查找exp.so文件

find / -name "exp.so"
蓝队应急响应实战案例(二)redis-mysql-apache

查看exp.so文件中的flag

 strings /exp.so  | grep fla
蓝队应急响应实战案例(二)redis-mysql-apache
flag{XJ_78f012d7-42fc-49a8-8a8c-e74c87ea109b}

3.通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少,将反弹 shell 的IP 作为 FLAG 提交;

查看计划任务发现反弹shell的IP 192.168.100.13

crontab -l
蓝队应急响应实战案例(二)redis-mysql-apache
flag{192.168.100.13}

4.通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串(flag{黑客的用户-关键字符串} 注关键字符串 xxx-xxx-xxx)。将用户名和关键字符串作为 FLAG提交

redis也可以写ssh公钥进行攻击

查看redis公钥发现

蓝队应急响应实战案例(二)redis-mysql-apache

在github搜索这个用户名xj-test-user

发现flag

蓝队应急响应实战案例(二)redis-mysql-apache
flag{xj-test-user-wow-you-find-flag}

5.通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交;

使用命令查看最近修改的文件

ls -alt /usr/bin/ | head
蓝队应急响应实战案例(二)redis-mysql-apache

发现ps命令最近被修果果 且文件较大 比较异常

查看ps命令的文件内容 发现flag 内容为调用ps_ 这个程序

蓝队应急响应实战案例(二)redis-mysql-apache
flag{c195i2923381905517d818e313792d196}


原文始发于微信公众号(SSP安全研究):蓝队应急响应实战案例(二)redis-mysql-apache

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月26日19:45:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   蓝队应急响应实战案例(二)redis-mysql-apachehttp://cn-sec.com/archives/2780060.html

发表评论

匿名网友 填写信息