Linux应急响应排查

发布时间:2022-01-29 05:09:22 作者:Potato 阅读量:2981

上一篇文章说到Windows的应急响应排查,本篇文章就来说说Windows的应急响应排查。 首先,前期交互这部分的内容还是不能少的,毕竟掌握的信息越多,排查的思路就越清晰。

Part1 linux应急响应排查

1 熟悉主机环境

  • uname -a
  • cat /proc/version
  • lsb_release -a

首先,先对排查主机的基本信息有一个了解。

2 运行进程排查

首先熟悉一下ps命令的参数:

  • ps [选项]
    • -e 显示所有进程。
    • -f 全格式。
    • -h 不显示标题。
    • -l 长格式。
    • -w 宽输出。
    • a 显示终端上的所有进程,包括其他用户的进程。
    • r 只显示正在运行的进程。
    • u 以用户为主的格式来显示程序状况。
    • x 显示所有程序,不以终端机来区分。
  • ps -ef
  • 参数含义:
    • 1.UID 用户ID
    • 2.PID 进程ID
    • 3.PPID 父进程ID
    • 4.C CPU占用率
    • 5.STIME 开始时间
    • 6.TTY 开始此进程的TTY----终端设备
    • 7.TIME 此进程运行的总时间
    • 8.CMD 命令名
  • ps aux
  • 参数含义:
    • USER //用户名
    • %CPU //进程占用的CPU百分比
    • %MEM //占用内存的百分比
    • VSZ //该进程使用的虚拟內存量(KB)
    • RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
    • STAT //进程的状态
    • START //该进程被触发启动时间
    • TIME //该进程实际使用CPU运行的时间
  • top (动态查看进程)
  • pstree(树形结构显示进程之间的关系)

通过进程运行的命令、资源占用、位置等来查找可疑进程。查找到可以进程后可以使用ll /proc/[进程pid]来获取进程运行的路径。

查找到可以进程后可以使用kill -9 [进程pid]来杀死进程。

  • ps -p [pid] -o lstart(查看进程开放的时间)
  • pstree -h [pid] -p -a 查看某个pid的进程树

3 端口开放检查

  • netstat -antpl(查看开放端口)

可以通过判断开放的异常端口来进行排查,或通过state字段来判断有没有端口进行网络连接。

  • lsof -i(查看正在进行的网络连接)
  • lsof -p [pid]查看进程PID打开的文件
  • lsof -c [进程名]查看该进程打开的文件
  • lsof -i:[端口号]查看该端口对应的进程
  • fuser -n tcp [端口号]查看该端口对应的进程pid

4 检查主机服务

service --status-all(枚举主机的所有服务)

5 检查历史命令

  • history
  • cat ~/.bash_history

6 查看计划任务

  • crontab -l
  • cat /etc/anacrontab 查看异步定时任务
  • more /var/log/cron 查看计划任务日志
  • more /var/spool/cron/*

7 查看制定文件夹七天内被修改过的文件

  • find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -alh

8 扫描主机驱动程序

  • lsmod

9 查看攻击者是否在authorized_keys添加ssh私钥

  • ll ~/.ssh

10 日志排查

  • /var/log/message 包括整体系统信息
  • /var/log/auth.log 包含系统授权信息,包括用户登录和使用的权限机制等
  • /var/log/userlog 记录所有等级用户信息的日志
  • /var/log/cron 记录crontab命令是否被正确的执行
  • /var/log/xferlog(vsftpd.log) 记录Linux FTP日志
  • /var/log/lastlog 记录登录的用户,可以使用命令lastlog查看
  • /var/log/secure 记录大多数应用输入的账号与密码,登录成功与否
  • /var/log/wtmp 记录登录系统成功的账户信息,等同于命令last
  • /var/log/faillog 记录登录系统不成功的账号信息,一般会被黑客删除 如果开启了一些服务,也需要对服务运行的日志进行排查

11 登陆排查

  • who (查看当前登录的用户)
  • w(显示已登陆的用户,且在执行的命令)
  • last (查看登录成功的用户)
  • lastb(查看最近登录失败的用户)
  • lastlog (查看所有用户最近登录的时间)
  • cat /etc/passwd(查看用户信息)

排查passwd时,注意查看可登录shell的用户,即:shell为/bin/bash

  • awk -F: '$3==0{print $1}' /etc/passwd #查看超级用户(uid=0)

12 启动项排查

  • chkconfig --list 列出所有开机启动项
  • 主要排查的启动项有:
    • /etc/rc.d/rc
    • /etc/rc
    • /etc/rc.local
    • /etc/rc.d/rc.local
    • /etc/rc.d/rc
    • /etc/init/*.conf
    • /etc/rc$runlevel.d/
    • /etc/profile
    • /etc/profile.d/

以上就是本篇文章的全部内容,如有填充,请大家点出。


Potato

专注渗透测试技术

全球最新网络攻击技术

支付宝打赏 微信打赏

我要评论

Catfish(鲶鱼) Blog V 4.7.3