当前位置: 首页 > news >正文

应急响应-进程排查


五、进程排查

进程是攻击者维持权限或执行恶意操作的核心载体,需结合命令行工具、路径分析及网络连接综合排查。


Windows系统进程排查
  1. 任务管理器(图形化界面)

    • 打开任务管理器 → 查看“详细信息”标签页 → 右键标题栏,添加列:
      • 命令行:显示进程启动的完整命令(识别可疑参数)。
      • 映像路径名称:确认进程路径是否合法(如 C:\Windows\System32 为正常,AppDataTemp 需警惕)。
    • 注意:恶意进程可能伪装为系统进程(如 svchost.exe),需结合服务与路径分析。
  2. tasklist命令

    • 基础信息
      tasklist /svc          # 显示进程关联的服务
      tasklist /m ntdll.dll  # 检查加载特定DLL的进程
      
    • 过滤器功能
      tasklist /fi "STATUS eq RUNNING"  # 筛选运行中的进程
      tasklist /fi "IMAGENAME eq powershell.exe"  # 按进程名过滤
      
    • DLL注入检测
      tasklist /m            # 列出所有进程加载的DLL
      tasklist /m /fi "MODULES eq evil.dll"  # 查找加载恶意DLL的进程(需替换名称)
      
  3. 网络连接分析(netstat)

    • 定位可疑连接
      netstat -ano | findstr "ESTABLISHED"  # 查看活跃连接
      netstat -anb > netstat.txt            # 导出带进程名的连接(需管理员权限)
      
    • 关联进程与PID
      tasklist | findstr "1234"             # 根据PID查找进程名
      wmic process where ProcessId=1234 get ExecutablePath, CommandLine  # 获取详细路径
      
  4. PowerShell高级查询

    • 获取进程详细信息
      Get-Process | Select-Object Name, Id, Path, ParentProcessId  # 基础信息
      Get-WmiObject Win32_Process | Where-Object { $_.Path -match "AppData" }  # 检查敏感路径
      
    • 分析父子进程关系
      Get-CimInstance Win32_Process | Format-Table ProcessId, ParentProcessId, CommandLine  # 识别异常进程链(如explorer.exe启动的未知进程)
      
  5. WMIC命令

    • 导出进程列表
      wmic process get Name, ExecutablePath, ProcessId, ParentProcessId /format:csv > processes.csv  # 生成CSV文件分析
      
    • 快速筛选
      wmic process where "Name='rundll32.exe'" get CommandLine  # 检查rundll32执行的恶意代码
      
  6. 扩展工具(Sysinternals Suite)

    • Process Explorer
      • 实时查看进程树、加载的DLL、句柄及网络连接。
      • 高亮异常进程(如未签名的 svchost.exe)。
    • Process Monitor
      • 监控进程的文件、注册表、网络活动,捕获恶意行为。

Linux系统进程排查
  1. 基础命令

    • 进程列表
      ps aux --forest        # 显示进程树(识别异常父子关系)
      top -H -p <PID>        # 查看指定进程的线程
      
    • 网络连接
      netstat -tulnp | grep ESTABLISHED  # 传统方式
      ss -tunlp                          # 更现代的替代命令
      lsof -i :443                       # 检查占用指定端口的进程
      
  2. /proc目录分析

    • 检查进程详细信息
      ls -l /proc/<PID>/exe    # 查看进程真实路径(若返回 deleted,可能为无文件进程)
      cat /proc/<PID>/cmdline  # 查看启动命令(含参数)
      cat /proc/<PID>/environ  # 查看进程环境变量(寻找注入痕迹)
      
  3. 隐藏进程检测

    • 对比进程列表
      ps -ef | awk '{print $2}' | sort -n > ps_pids.txt  
      ls /proc | grep -E '^[0-9]+$' | sort -n > proc_pids.txt  
      diff ps_pids.txt proc_pids.txt  # 差异部分可能是隐藏进程
      
    • Rootkit检测工具
      unhide proc          # 检测隐藏进程
      chkrootkit          # 扫描常见后门
      
  4. 资源占用分析

    • 动态监控
      htop                # 交互式查看CPU/内存占用(支持进程过滤)
      glances             # 综合监控工具(含网络和磁盘IO)
      
    • 僵尸进程清理
      kill -9 <PID>       # 强制终止进程(谨慎使用)
      pkill -f "malware"  # 按进程名批量终止
      

六、进程排查扩展技巧

  1. 时间线与行为分析

    • Linux
      stat /proc/<PID>/exe         # 查看进程文件修改时间
      auditctl -w /bin/ -p warx    # 监控关键目录的进程创建
      
    • Windows
      • 通过事件日志(事件ID 4688:进程创建)追踪进程启动记录。
  2. 内存取证

    • 使用 Volatility(Windows)或 LiME(Linux)提取内存镜像,分析隐藏进程或注入代码。
  3. 可信度验证

    • 文件签名检查
      Get-AuthenticodeSignature -FilePath "C:\path\to\file.exe"  # Windows
      
      rpm -Vf /usr/bin/sshd      # Linux(验证RPM包文件完整性)
      

七、注意事项

  1. 谨慎终止进程

    • 确认进程恶意性后再终止,避免影响系统稳定性。
    • 记录进程的PID、路径、网络连接等证据。
  2. 防御对抗

    • 恶意进程可能挂钩API、隐藏自身(如Rootkit),需结合内存分析和专业工具。
  3. 自动化脚本

    • 编写脚本批量提取进程信息(如定时运行 ps aux > ps_$(date +%s).log 对比历史记录)。

通过上述方法,可系统化识别异常进程,结合上下文(如网络连接、启动项)判断其危害性,为后续处置提供依据。

http://www.dtcms.com/a/122916.html

相关文章:

  • Ceph异地数据同步之-Cephfs异地同步复制
  • 【图书管理系统】全栈开发图书管理系统获取图书列表接口(后端:计算图书页数、查询当前页展示的书籍)
  • 前端三件套—HTML入门
  • 数论学习笔记:素数筛
  • 数据库事务隔离级别
  • 前端性能指标详解
  • 【Leetcode-Hot100】盛最多水的容器
  • React 响应事件
  • 如何实现文本回复Ai ChatGPT DeepSeek 式文字渐显效果?前端技术详解(附完整代码)
  • 【MySQL】安装
  • CD25.【C++ Dev】类和对象(16) static成员(上)
  • redis(2)-mysql-锁
  • 经典算法 最近点对问题
  • 猜猜乐游戏(python)
  • Trae AI 保姆级教程:从安装到调试全流程指南
  • FastAdmin和thinkPHP学习文档
  • 国标GB28181协议EasyCVR视频融合平台:5G时代远程监控赋能通信基站安全管理
  • 文字识别 (OCR) 工具
  • js 拷贝-包含处理循环引用问题
  • c++和python复制java文件到指定目录
  • AQS机制详解与总结
  • java方法07:加减乘除计算器
  • rkmpp 解码 精简mpi_dec_test.c例程
  • LeetCode 热题 100 题解记录
  • Docker Hello World
  • 计算机网络 实验三:子网划分与组网
  • GaussDB性能调优:从根因分析到优化落地
  • 10. git switch
  • Java MCP SDK 开发笔记(一)
  • 深度学习疑问--Transformer【3】:transformer的encoder和decoder分别有什么用?encoder是可以单独使用的吗