文章总结: 本文详细介绍了Linux系统应急响应的实践过程,包括系统被黑后的调查分析、攻击者痕迹追踪、漏洞利用方法以及后续的安全加固措施。文章以实际案例为基础,通过分析攻击者的行为和痕迹,揭示了攻击者可能使用的攻击手段和防御策略。 综合评分: 85 文章分类: 应急响应,渗透测试,漏洞分析,网络安全,安全工具
应急响应练习 知攻善防——Linux1
原创
吃遍天下所有面 吃遍天下所有面
三社院信息Sec
2026年9月28日 17:38 河南
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
知攻善防
Linux1
背景
前景需要:小王急匆匆地找到小张,小王说”李哥,我dev服务器被黑了”,快救救我!!
挑战内容:
黑客的IP地址
遗留下的三个flag
密码
defend/defend
root/defend
PART.1
过程
首先登录系统观察是centos系统(Linux系统),我们现在登录的是defend(普通用户)
(Linux系统有三种用户,如下)
(sudo不是用户,是权限工具:让普通用户临时获得 root 权限)
确认自己现在的用户后就开始查询一下是否存在可利用的sudo程序可以导致攻击者成功越权进而控制我们的电脑
终端打开,输入
sudo -l //作用:查看当前用户拥有哪些 sudo 权限,列出你能执行 / 不能执行的命令
常见回显(有sudo权限)
Matching Defaults entries for sec on kali:env_reset, mail_badpass, secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binUser sec may run the following commands on kali:(ALL : ALL) ALL
(没有sudo权限)
User sec is not allowed to run sudo on kali.
PART.2
拓展
看到特殊可执行命令,去查 GTFOBins 找提权方法
回到题目(如图),显示defend用户可以以任何用户(包括root)身份,执行任何命令,而且不限制命令,不限制路径,不限制参数(危险等级很高)可被利用
这时候我们可以推测出攻击者可能是通过系统的这个漏洞拿到的root权限,从而设置了后门恶意程序
我们利用sudo -i 切换为root 用户 用pwd查看是否切换成功
sudo -i //sudo -i:用 sudo 机制,启动 root 登录 shell,切换到 /root 并加载 root 完整环境pwd
确认进shell 就可以查看攻击者是否利用root 用户使用了什么命令 用history
此时得到第一个flag
并且可以查看到攻击者的执行命令
其中
chmod +x 是对rc.local 添加了可执行权限 “x”就是x = execute 可执行权限,确保服务器重启后rc.local 可以执行
vim 是编辑器,攻击者利用vim 将rc.local 进行修改
切换位置
cd/etc/rc.d cat rc.local
直接去查看rc.local 文件内容
得到flag
现在可以知道rc.local文件被篡改,在现实生产环境中大概率被篡改的文件,加了执行就是启动自动shell 的后门,但是该文件需要重启才能执行,为了后续的持久化,大概率还会对服务器做手脚
因为root 用户有权访问/root目录下的.ssh ,所以我们查看攻击者是否存放了自己的公钥来进行ssh连接
切换到root/.ssh 目录下
cd /root/.ssh
查看当前目录的文件
ls -a //列出当前目录下所有文件,包括隐藏文件
可以得到一个文件authorized_keys,查看文件内容发现攻击者名字chinaran@kali,且前面的乱字符是redis数据库文件头字符,说明攻击者很有可能是通过redis服务器来攻击的
我们查完攻击者的加的后门,就要看看后门文件在跑和有没有攻击者还在连接,就需要查进程
使用 netstat 网络连接命令,分析可疑端口、IP、PID
netstat -antlp | more //查看 Linux 机器所有网络连接、监听端口、对应的进程 PID 和程序名字
没有发现可疑项
就接着查最近登录者
输入命令lastlog
得到结果如下:
也没有看见异常
前面查到了redis攻击的,那我们查看redis系统日志
日志一般都防在/var/log/
cd /var/log/redisls -acat redis.log
Accepted = Redis接受了来自这个 IP 的 TCP 连接,端口 54766 是攻击机器的随机源端口
知识点补充
随后继续排查redis服务器:
/etc/redis/ Redis 配置目录(redis.conf)/usr/bin/redis-server Redis 服务程序/usr/bin/redis-cli Redis 客户端/var/lib/redis/ Redis 数据目录(dump.rdb、appendonly.aof)/var/log/redis/ Redis 日志目录(redis.log)/run/redis/ Redis 运行时文件(redis.pid、socket)
于是我们要排查redis服务器:
/etc/redis/ Redis 配置目录(redis.conf)/usr/bin/redis-server Redis 服务程序/usr/bin/redis-cli Redis 客户端/var/lib/redis/ Redis 数据目录(dump.rdb、appendonly.aof)/var/log/redis/ Redis 日志目录(redis.log)/run/redis/ Redis 运行时文件(redis.pid、socket)
排查服务器中存在的文件
more /etc/redis.conf
就发现了flag
自行用给的脚本验证即可
./解题Script.sh
END
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:三社院信息Sec 吃遍天下所有面 吃遍天下所有面《应急响应练习 知攻善防——Linux1》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论