#干货满满# Linux应急常见的排查思路及用到的排查命令
  

SANGFOR_HZ 38946人觉得有帮助

{{ttag.title}}
本帖最后由 SANGFOR_HZ 于 2023-3-15 23:31 编辑

Linux应急常见的排查思路及用到的排查命令




1、系统检查

  (1) 端口检查
主要用于排查服务器开了哪些端口,并且和哪些IP建立连接。
  • 查看所有TCP链接:netstat -tnlpa
  • 查看UDP链接:netstat -unlpa
  • 罗列TCP/UDP信息:lsof -i tcp/udp
  • 查看该PID进程对应信息,比如加载了哪些文件:lsof -p PID



2)网络连接检查
  • 查看已建立TCP连接:netstat -antlp | grep ESTABLISHED
  • 查看监听的端口:netstat -antlp | grep LISTEN
  • 查看是否存在反弹bash:netstat -antlp | grep EST | grep bash
  • 查看系统中root用户外连情况 :lsof -u root |egrep "ESTABLISHED|SYN_SENT|LISTEN"


(3)关键文件检查
  • DNS配置文件,以及主机与IP静态解析:cat /etc/resolv.conf
  • HOSTS文件,域名和IP的绑定:cat /etc/resolv.conf


(4)服务检查
  • centos7及ubuntu,通过以下命令可检查哪些服务还运行着:systemctl | grep -E "\.service.*running"
  • 只显示服务名:systemctl | grep -E "\.service.*running" | awk -F. '{ print $1 }'
  • centos6可通过以下命令查看服务情况:chkconfig --list | grep on或service --status-all


(5)启动项检查
  • 定时任务检查,如果不跟-u,则表示查看root用户的定时任务:crontab -u user -l
  • 查看异步定时任务:cat /etc/anacrontab
  • 定时任务配置文件保存于/etc/cron*开头路径里,按日、周、月分:more /etc/cron*
  • linux启动时分两大步骤:按级别加载/etc/rc(0-6).d目录下的启动脚本;然后加载/etc/rc.local。
    /etc/rc(0-6).d下面实际上是软连接到/etc/init.d/下的文件,S开头表示启动脚本,K开头表示停止脚本:more /etc/rc.local


(6)进程检查
  • 查看当前运行的进程,包括可执行文件路径、PID/PPID:ps -ef或ps -aux
  • 显示实时进程状态,加-d 1,可修改刷新时间,默认为3秒。:top
  • 只显示一次所有进程信息:top -b -n 1
  • 查看某个进程对应的可执行文件路径,这边其实是一个软连接到真正文件:ls -al /proc/[pid]/exe


(7)用户检查
  1. 查看用户登录命令
  • w : 详细查询已登录当前计算机的用户 命令格式:w [-fhlsuV] [用户名称] 不加任何参数,显示当前用户
  • who : 显示已登录当前计算机用户的简单信息
  • logname : 显示当前用户的登录名称
  • users : 用单独的一行显示出当前登录的用户
  • last : 显示近期用户登录情况
  • lastb : 列出登录系统失败的用户信息
  • lastlog : 查看用户上次登录的时间

  2. 检查是否有UID为0的用户,这一步主要是为了攻击者克隆了一个超级用户来登录。
      more /etc/passwd | egrep -v '^#|^(\+:\*)?:0:0:::' | awk -F: '{if($3==0) print $1}'
  3. 检查UID相同的用户,也是防止克隆用户:
      awk -F: '{a[$3]++}END{for(i in a)if(a>1)print i}' /etc/passwd
  4. 查看哪些用户是可以登录的,这个主要观察/etc/passwd文件里用户结尾是否有/bin/bash或/bin/sh,因为该结尾表示可登录,并且以指定环境来执行命令。
cat /etc/passwd | grep -E "/bin/(bash|sh)$" | awk -F: '{print $1}'
5. 查看空口令,查看shadow,影子文件会保存密码信息,如果第二列为空,则表示无密码。
     gawk -F: '($2=="") {print $1}' /etc/shadow
  6. 排查是否允许空口令登录:
      more /etc/ssh/sshd_config |grep PermitEmptyPassword | grep -v "#"
7. 排查除root用户外,root组是否还有其他用户,其实就是检查GID是否为0
     more /etc/group | grep -v '^#' | gawk -F: '{if ($1!="root"&&$3==0) print $1}'

(8)历史命令检查
  • 历史增加的账号:history | egrep "(useradd|groupadd)" | grep -v grep
  • 历史是否删除过账号:history | egrep "(userdel|groupdel)" | grep -v grep
  • 可疑历史命令:使用过入侵扫描的操作行为,这个概率比较低,不会在目标服务器上装这些应用的,一般代理为主。history | grep -E "(whois|sqlmap|nmap|beef|nikto|john|ettercap|backdoor|proxy|msfconsole|msf)" | grep -v grep
  • 过滤sz下载文件到本地命令history | grep sz | grep -v grep | awk '{print $3}'
  • 数据库操作历史命令:more /root/.mysql_history
  • history查询:cat ~/.bash_history


(9)文件完整性检查
  • 查找系统文件夹里的文件,查看七天内被修改过的的文件:find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime -7
  • 查找文件位置,并计算MD5提交威胁情报平台检查:whereis netstat和md5sum /usr/bin/netstat



2、溯源分析常用命令

  • 登录成功more /var/log/secure* | grep "Accepted password"
  • 登录失败:more /var/log/secure* | grep "Failed password"
  • SSH成功登录IP:grep 'Accepted' /var/log/secure | awk '{print $11}'
  • 本机登录情况:more /var/log/secure* | grep -E "sshd:session.*session opened"
  • 新增用户:more /var/log/secure* | grep "new user"
  • 所有用户登录日志:last | grep pts | grep -vw :0
  • 定时任务日志,定时任务日志会按日期存放,所以有多个需要检查。会记录定时任务历史运行过的记录。more /var/log/cron*
  • 定时执行脚本,主要检查py/sh/pl脚本运行:more /var/log/cron* | grep -E "\.py|\.sh|\.pl"
  • 下载软件情况,可以检查攻击者是否安装了新程序。more /var/log/yum* | grep Installed
  • 卸载软件情况:more /var/log/yum* | grep Erased
  • 可疑工具安装检查,检查nc/nmap等关键词:more /var/log/yum* | awk -F: '{print $NF}' | awk -F '[-]' '{print $1}' | sort | uniq | grep -E "(^nc|sqlmap|nmap|beef|nikto|john|ettercap|backdoor|proxy|msfconsole|msf)"
  • 通过stat可查看文件属性,包括以上时间属性:stat file
  • 监控与目标IP通信的进程:while true; do netstat -tnlpa|grep [ip];done
  • 查找七天内被修改的以php为后缀的文件,七天前就是+7:find /var/www -mtime -7  -iname "*.php" | xargs ls -alt
  • 查找七天内被访问的以php为后缀的文件,如cat file就会修改该时间。find /var/www -atime -7  -iname "*.php" | xargs ls -al
  • 查找七天内被改变的以php为后缀的文件。find /var/www -ctime -7  -iname "*.php" | xargs ls -alt





打赏鼓励作者,期待更多好文!

打赏
54人已打赏

新手595921 发表于 2023-3-16 20:43
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!
小鱼儿 发表于 2023-3-24 21:37
  
谢谢分享,有助于工作!
飞飞侠 发表于 2023-3-24 21:37
  
谢谢分享,有助于工作!
梦境人生 发表于 2023-3-24 21:38
  
谢谢分享,有助于工作!
唐三平 发表于 2023-3-24 21:38
  
谢谢分享,有助于工作!
焱燚 发表于 2023-3-24 21:44
  
谢谢分享,有助于工作!
日出 发表于 2023-3-24 21:44
  
谢谢分享,有助于工作!
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
新版本体验
产品连连看
GIF动图学习
标准化排查
自助服务平台操作指引
运维工具
2023技术争霸赛专题
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
安装部署配置
深信服技术支持平台
安全攻防
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人