实战Linux应急响应踩坑与深度反思
字数 1217 2025-08-09 13:33:49

Linux应急响应实战指南:从挖矿病毒到隐藏进程的全面处理

1. 应急响应基础流程

1.1 初步症状识别

  • CPU异常:CPU利用率突然达到100%可能是挖矿病毒迹象
  • 网络连接异常:检查异常外网连接,特别是国外IP
  • 系统卡顿:无明显CPU异常但系统卡顿需考虑隐藏进程

1.2 威胁情报查询平台

  • 奇安信威胁情报中心
  • IBM X-Force Exchange
  • VirusTotal
  • 微步在线

2. 挖矿病毒处理

2.1 识别与终止

  1. 网络连接分析

    netstat -antp
    

    重点关注:

    • 异常国外IP连接
    • 非标准端口连接
  2. 进程分析

    top -c
    ps -aux --sort=-%cpu
    

    查找高CPU占用进程

  3. 终止恶意进程

    kill -9 <PID>
    

2.2 文件清理

  1. 查找恶意文件

    find / -name "*miner*" -o -name "*xmr*" -o -name "*monero*"
    find /tmp -type f -mtime -1
    
  2. 删除确认的恶意文件

2.3 爆破攻击分析

  1. 检查爆破记录

    grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
    
  2. 登录成功分析

    grep "Accepted" /var/log/auth.log | awk '{print $1,$2,$3,$9,$11}'
    
  3. 使用lastb检查异常登录

    lastb
    

3. 隐藏进程处理

3.1 动态链接库预加载检测

  1. 检查/etc/ld.so.preload

    cat /etc/ld.so.preload
    
  2. 清除恶意预加载

    echo "" > /etc/ld.so.preload
    

3.2 进程组终止

  1. 查找进程组ID(PGID)

    ps -eo pid,pgid,cmd | grep <可疑进程名>
    
  2. 终止整个进程组

    kill -9 -<PGID>
    

4. 日志分析与取证

4.1 关键日志文件

  • /var/log/auth.log:认证相关日志
  • /var/log/syslog:系统警告信息
  • /var/log/cron:计划任务日志
  • /var/log/wtmp:登录记录(使用last查看)
  • /var/run/utmp:当前登录用户(使用who查看)

4.2 日志被篡改处理

  1. 识别日志清除

    • 日志文件突然变小或内容异常
    • 大量乱码或空白内容
  2. 文件恢复尝试

    extundelete /dev/sda1 --restore-file /var/log/auth.log
    

5. 自动化检测工具

5.1 GScan工具

  • 全自动Linux安全检测
  • 可检测反弹shell等隐蔽后门

5.2 LinEnum

  • 系统服务与漏洞扫描
  • 提供全面系统状态报告

6. 防御加固措施

6.1 SSH防护

  1. 禁用root登录

    sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
    
  2. 更改SSH端口

    sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config
    
  3. 安装fail2ban

    apt install fail2ban
    

6.2 监控部署

  1. 进程监控

    atop
    
  2. 文件完整性监控

    aide --init
    

7. 勒索病毒应对

7.1 识别特征

  • 文件被加密并添加特定后缀
  • 存在勒索信息文件(如README.txt)
  • 包含联系邮箱或支付方式

7.2 应对策略

  1. 查找解密工具

    • 深信服千里目实验室公众号
    • 安全响应及EDR知识赋能平台
    • Freebuf等安全论坛
  2. 数据恢复尝试

    photorec /dev/sda1
    

8. 高级技巧

8.1 父子进程处理

#include <unistd.h>
#include <stdio.h>

int main() {
    setbuf(stdout, NULL);
    pid_t pid;
    pid = fork();
    if (pid == 0){
        printf("child pid: %d\n", getpid());
        while(1){
            sleep(1);
            printf("child\n");
        }
    } else {
        printf("father pid %d\n", getpid());
        while(1){
            sleep(1);
            printf("father\n");
        }
    }
}

编译后可用于测试进程终止效果

8.2 流量分析

from scapy.all import *

def packet_callback(packet):
    data = bytes(packet[TCP].payload)
    if b'User-Agent' in data:
        for info in data.split(b'\n'):
            User_A = b'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko'
            if User_A in info:
                print(data.split(b'\n')[5])
                print('msf后门控制中')

if __name__ == '__main__':
    i = input('inet:')
    sniff(filter='tcp', iface=i, prn=packet_callback, store=0)

9. 报告撰写要点

  1. 事件概述:简明描述事件性质
  2. 处理过程:详细记录响应步骤
  3. 发现与结论:明确攻击路径和影响
  4. 建议措施:具体可行的加固方案
  5. 附录:包含日志片段等证据

10. 总结与反思

  1. 全面性检查:不要满足于表面问题解决
  2. 持续监控:处理后需持续观察系统状态
  3. 知识积累:每次应急都是学习机会
  4. 防御优先:预防胜于应急响应

通过系统化的应急响应流程、深入的分析技术和全面的防御措施,可以有效应对Linux系统面临的各种安全威胁。

Linux应急响应实战指南:从挖矿病毒到隐藏进程的全面处理 1. 应急响应基础流程 1.1 初步症状识别 CPU异常 :CPU利用率突然达到100%可能是挖矿病毒迹象 网络连接异常 :检查异常外网连接,特别是国外IP 系统卡顿 :无明显CPU异常但系统卡顿需考虑隐藏进程 1.2 威胁情报查询平台 奇安信威胁情报中心 IBM X-Force Exchange VirusTotal 微步在线 2. 挖矿病毒处理 2.1 识别与终止 网络连接分析 : 重点关注: 异常国外IP连接 非标准端口连接 进程分析 : 查找高CPU占用进程 终止恶意进程 : 2.2 文件清理 查找恶意文件 : 删除确认的恶意文件 2.3 爆破攻击分析 检查爆破记录 : 登录成功分析 : 使用lastb检查异常登录 : 3. 隐藏进程处理 3.1 动态链接库预加载检测 检查/etc/ld.so.preload : 清除恶意预加载 : 3.2 进程组终止 查找进程组ID(PGID) : 终止整个进程组 : 4. 日志分析与取证 4.1 关键日志文件 /var/log/auth.log :认证相关日志 /var/log/syslog :系统警告信息 /var/log/cron :计划任务日志 /var/log/wtmp :登录记录(使用 last 查看) /var/run/utmp :当前登录用户(使用 who 查看) 4.2 日志被篡改处理 识别日志清除 : 日志文件突然变小或内容异常 大量乱码或空白内容 文件恢复尝试 : 5. 自动化检测工具 5.1 GScan工具 全自动Linux安全检测 可检测反弹shell等隐蔽后门 5.2 LinEnum 系统服务与漏洞扫描 提供全面系统状态报告 6. 防御加固措施 6.1 SSH防护 禁用root登录 : 更改SSH端口 : 安装fail2ban : 6.2 监控部署 进程监控 : 文件完整性监控 : 7. 勒索病毒应对 7.1 识别特征 文件被加密并添加特定后缀 存在勒索信息文件(如README.txt) 包含联系邮箱或支付方式 7.2 应对策略 查找解密工具 : 深信服千里目实验室公众号 安全响应及EDR知识赋能平台 Freebuf等安全论坛 数据恢复尝试 : 8. 高级技巧 8.1 父子进程处理 编译后可用于测试进程终止效果 8.2 流量分析 9. 报告撰写要点 事件概述 :简明描述事件性质 处理过程 :详细记录响应步骤 发现与结论 :明确攻击路径和影响 建议措施 :具体可行的加固方案 附录 :包含日志片段等证据 10. 总结与反思 全面性检查 :不要满足于表面问题解决 持续监控 :处理后需持续观察系统状态 知识积累 :每次应急都是学习机会 防御优先 :预防胜于应急响应 通过系统化的应急响应流程、深入的分析技术和全面的防御措施,可以有效应对Linux系统面临的各种安全威胁。