应急检测脚本

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 当企业被攻击者入侵,系统被挂暗链、内容遭到恶意篡改,服务器出现异常链接、卡顿等情况时,需要进行紧急处理,使系统在最短时间内恢复正常。由于应急处理往往时间紧,所以尝试将应急中常见处理方法整合到脚本中,可自动化实现部分应急工作。应急脚本采用 python2.0 完成,由于所有需要执行的命令都是依靠 ssh 进行远程链接,所以在运行脚本之前,需要输入正确的主机 ip 地址、ssh 远程连接端口、ssh 远程登录账户、ssh 远程登录密码。

一、脚本实现的主要功能

1、获取主机信息

获取的主机信息包括:主机 ip 地址、主机名、当前系统内核版本、当前系统版本、系统当前时间;

2、获取异常进程

获取异常进程主要是采用两种方式,第一种,通过执行 netstat -antp 获取当前主机存在哪些链接,并通过判断外部链接地址归属地,如果归属地不是中国,则会提取相关 pid,并根据 pid 定位出文件所在位置。第二种,通过 cpu 占有率,一旦发现 cpu 占用率高于%15 时,会提取对应程序的 pid,根据 pid 定位异常文件位置。

3、判断常见命令是否被篡改

在之前的应急响应中出现过常见命令被非法篡改情况,如 ps、netstat 命令被恶意替换,利用 stat 查看文件详细信息,通过比对时间的方式判断命令是否被篡改。

4、查看系统启动项

很多恶意程序会修改系统启动项,这样即使系统进行重启时,恶意程序也能自动启动,查看 init.d 目录下的启动文件,根据修改时间提取最近被修改的启动文件,并根据时间排序列出前 5 个。

5、查看历史命令

查看.bash_history 历史命令,通过匹配关键字,如 wget、cur 等,来查看系统在被入侵后是否被执行了恶意操作。

6、判断非系统默认账户

恶意程序可能会在系统中新建账户,通过查看 login.defs 文件获取最小 uid,从而根据 uid 查看 passwd 文件,获取之后新建的系统用户。

7、获取当前登录用户

通过调用 who,查看当前登录用户(tty 为本地登录,pts 为远程登录),判断是否存在异常用户登录情况。

8、查看系统当前用户

通过查看 etc/passwd,查看相关用户信息,确定是否存在异常用户。

9、查看 crontab 定时任务

查看/etc/crontab 定时任务,并将输出结果保存到 log 中

10、查看、保存最近三天系统文件修改情况

通过 find 命令,查找最近三天修改过的文件,由于修改的系统文件较多,所以修改文件被单独保存在本地 file_edit 文件中

11、查找特权用户。

查看 passwd 文件,查找用户 id 为 0 的特权用户

12、secure 日志分析

日志分析是应急的重头工作,尤其是在应急后期的溯源阶段,日志分析更显得尤为重要,由于日志种类包括服务器日志、应用日志,此处只是分析了 secure 服务器日志,提取日志的 ip 地址进行判断,并对 ip 归属地进行判断,查看的 secure 日志单独保存在本地 secure 中。

脚本整体的思路比较简单,就是远程登录到 linux 执行常见的应急命令,脚本中的命令在 centos 下都是可正常运行的,可以在根据实际环境自行在对命令做调整。上面的部分功能如果有好的实现方法也可灵活调整,如判断常见命令是否被篡改,脚本中是根据时间进行判断,在实际应用中也可根据文件大小进行判断,代码整体写的比较渣,有意见欢迎大家多多指出,希望通过改进能让功能更加完善。





















































































































































































































相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
安全 网络协议 搜索推荐
应急靶场 | 2014-11-16流量分析练习
应急靶场 | 2014-11-16流量分析练习
253 1
|
3月前
|
安全 Linux Shell
应急响应处置现场流程 - 文件痕迹排查笔记07
应急响应处置现场流程 - 文件痕迹排查笔记07
58 8
|
3月前
|
安全
应急响应处置现场流程 - 服务排查06
应急响应处置现场流程 - 服务排查06
44 5
|
6月前
|
云安全 运维 安全
Webshell处置最佳实践
适用场景在云安全中心告警中主机上检出Webshell时,如何处置,以及通过信息简要分析入侵途径。Web场景实战一、确认Webshell事件Webshell根据功能和大小,主要分为两类,一类是小马,一类是大马。Web小马主要以一句话木马居多,一句话木马一般是以执行代码的函数+可以自定义内容参数为主,黑...
792 0
Webshell处置最佳实践
|
云安全 消息中间件 监控
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
761 0
Apache Log4j2 高危漏洞应急响应处置方法汇总整理
|
数据采集 数据可视化 安全
预防山体滑坡安全监测系统
滑坡泥石流是地质灾害中的重要组成部分,我国地质和地理环境复杂,气候条件时空差异大,地质灾害种类动、分布广、危害大,是世界上地质灾害最严重的国家之一。河北稳控科技充分利用在滑坡监测方面的技术积累,建立了一套科学完善的滑坡监测预警平台,实现了滑坡防治管理的科学化、信息化、标准化和可视化。为防灾减灾决策提供科学依据。
预防山体滑坡安全监测系统
|
SQL 安全 测试技术
网站漏洞渗透检测过程与修复方案
网站的渗透测试简单来 说就是模拟攻击者的手法以及攻击手段去测试网站的漏洞,对网站进行渗透攻击测试,对网站的代码漏洞进行挖掘,上传脚本文件获取网站的控 制权,并对测试出来的漏洞以及整体的网站检测出具详细的渗透测试安全报告。
262 0
网站漏洞渗透检测过程与修复方案
|
网络协议 Perl Shell