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

Linux应急响应一般思路(二)

进程排查

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础

无论是在Windows系统还是Linux系统中,主机在感染恶意程序后,恶意程序都会启动相应的进程,来完成相关的恶意操作

Linux进程排查

进程基本信息

  • top 动态查询当前进程,可用于排查挖矿程序
  • ps -aux 查看进程
  • free -h 查看系统内存使用情况
    • Swap一般用不上,如果占用率非常高,可能是内存不够了,需要扩容,关注内存使用率
    • 也有可能是挖矿
  • netstat -ntapl 排查网络连接情况

进程创建时间

  • ps -ef命令查看进程创建时间

  • 通过 /proc/pid/ 目录中文件判断文件创建时间

对应可执行文件

  • ls -atl /proc/[PID]/ 查找进程对应可执行程序
  • lsof -p [PID] 查找进程对应可执行程序

命令替换

  • rpm -Vf /usr/bin/* 排查命令替换
    • S: 表示对应文件的大小(Size)不一致;
    • M: 表示对于文件的mode不一致;
    • 5: 表示对应文件的MD5不一致;
    • D: 表示文件的major和minor号不一致;
    • L: 表示文件的符号连接内容不一致;
    • U: 表示文件的owner不一致;
    • G: 表示文件的group不一致;
    • T: 表示文件的修改时间不一致;
  • dpkg -verify也有类似作用

隐藏进程

  1. ps -ef awk'{print}' | sort -n | uniq >1
  2. ls /proc | sort -n | uniq >2
  3. diff 1 2

服务排查

服务可以理解为运行在后台的进程

这些服务可以在计算机启动时自动启动,也可以暂停和重新启动,而且不显示任何用户界面

服务非常适合在服务器上使用,通常在为了不影响在同一台计算机上工作的其他用户,且需要长时间运行功能时使用

在应急响应排查过程中,服务作为一种运行在后台的进程,是恶意软件常用的驻留方法

Linux服务排查

服务状态

  • service --status-all
  • systemctl | more

开机自启

  • systemctl list-unit-files

文件痕迹排查

在应急响应排查的过程中,由于大部分的恶意软件、木马、后门等都会在文件维度上留下痕迹,因此对文件痕迹的排查必不可少

一般可以从以下几方面对文件痕迹进行排查

  • 对恶意软件常用的敏感路径进行排查
  • 在确定了应急响应事件的时间点后,对时间点前后的文件进行排查
  • 对带有特征的恶意软件进行排查,这些特征包括代码关键字或关键函数、文件权限特征等

Linux文件痕迹排查

敏感目录

  • 临时目录 /tmp
  • 命令目录 /usr/bin /usr/sbin
    • 经常作为恶意软件下载目录及相关文建被替换的目录
  • ~/.ssh/etc/ssh
    • 经常作为一些后门配置的路径
    • authorized_keys种可能存有攻击者秘钥信息

近期变动文件

通过列出攻击日期内变动的文件,可发现相关的恶意软件

在Liux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态时间

  • Access Time:文件访问时间,显示一个文件的内容或者运行一个SHELL脚本会更新文件的ATIME
  • Modify Time:文件内容修改时间,可用 ls -l 命令查看
  • Change Time:文件内容、权限变更,可用 ls -lc 命令查看
find

通过【find】命令可对某一时间段内增加的文件进行查找,以下为常用的【find】命令

find:在指定目录下查找文件

  • -mtime -n/+n:按文件更改时间来查找文件,-n指n天以内,+n指n天前
  • -atime -n/+n:按文件访问时间来查找文件,-n指n天以内,+n指n天前
  • -ctime -n/+n:按文件创建时间来查找文件,-n指n天以内,+n指n天前

后续可以加-name/iname来指定文件类型,-iname 忽略字母的大小写

注意,find命令认为24小时之内是第0天

示例

查找最近 3 天内修改过的日志文件(.log)

find /var/log -name "*.log" -mtime -3

查找动态脚本并打包成tar.gz

find ./* -iname "*.jsp*" | xargs tar zcvf /tmp/shellscript.tar.gz

查找当前目录及子目录下,一周以前修改过的所有文本文件(.txt 或 .TXT)并列出详细信息

find . -iname "*.txt" -mtime +7 -ls

特殊文件

系统中的恶意文件存在特定的设置、特定的关键字信息等,Linux系统中的几种特殊文件类型可以按照以下方法进行排查:

特殊权限文件查找

查找777权限的文件:【find /tmp -perm 777】

对系统命令进行排查

【ls】和【ps】等命令很可能被攻击者恶意替换,所以可以使用

  • 【ls -alt /bin】命令,查看命令目录中相关系统命令的修改时间,从而进行排查
  • 【ls -alh /bin】命令查看相关文件的大小,若明显偏大,则文件很可能被替换
排查SUID程序

即对于一些设置了SUID权限的程序进行排查,可以使用【find / -type f -perm -04000】

文件信息

  • 查看当前目录下所有文件并排序: ls -alt
  • 修改文件属性:chattr
  • 显示文件属性:lsattr

  • 查看文件(文件夹)详细信息: stat
  • 比较文件差异:diff -c
  • 查找符合条件的字符串: grep
http://www.dtcms.com/a/349069.html

相关文章:

  • C++测试框架高级资源管理模块完整实现指南
  • 八、redis 入门 之 雪崩、穿透、击穿
  • 小米AX3600访问桥接的光猫
  • 如何一键统一文件名大小写?
  • Springboot框架的“上海迪士尼”旅游管理网站设计与开发
  • C++---双指针
  • 工作后的总结和反思3
  • cookie,session,token之间有什么关系
  • 大模型知识--Function Calls
  • Kubernetes — 学习 Sidecar 容器模式
  • 面经-自用
  • CVPR 2025 | 医学影像加速进化:深度学习×多模态,精准诊断再升级
  • Transformer 模型详解:从自注意力到编码器-解码器结构
  • 拓展:simulink中将仿真环境离散化
  • 关于熵减 - 飘升机
  • Vue3路由
  • C++11新特性全面解析(万字详解)
  • SQL Server从入门到项目实践(超值版)读书笔记 24
  • 详细的周任务清单(Week1-Week24,每周具体目标+任务)
  • Pod 生命周期:从创建到销毁的完整旅程
  • Linux shell编程初步认知与变量学习
  • 【基础算法】初识搜索:递归型枚举与回溯剪枝
  • 基于 Bright Data MCP + LangChain 构建实时网页问答 AI Agent:完整实战教程
  • 玩转深度学习数据填补!CNN-GRU组合模型数据填补(四个案例数据)
  • KVM虚拟化部署全攻略
  • 使用Python实现DLT645-2007智能电表协议
  • 【Docker基础】Docker-compose常用命令实践(三):镜像与配置管理
  • 纯净Win11游戏系统|24H2专业工作站版,预装运行库,无捆绑,开机快,游戏兼容性超强!
  • 27.编程思想
  • 【JVM内存结构系列】四、不同垃圾回收器与堆内存的适配关系:从分代GC到Region GC