一些关于Linux入侵应急响应的碎碎念
近半年做了很多应急响应项目,针对黑客入侵。但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎。
个人认为入侵响应的核心无外乎四个字,顺藤摸瓜。我们常常需要找到比较关键的信息后通过一些指令查询或者分析日志,逐步分析黑客的具体步骤。
- 入侵后需要被关注的Linux系统日志
var/log/cron 记录crontab命令是否被正确的执行,一般会被黑客删除
var/log/lastlog 记录登录的用户,可以使用命令lastlog查看,一般会被黑客删除
var/log/secure 记录大多数应用输入的账号与密码,登录成功与否,一般会被黑客删除
var/log/wtmp 记录登录系统成功的账户信息,等同于命令last,一般会被黑客删除
var/log/faillog 记录登录系统不成功的账号信息,一般会被黑客删除
~/.bash_history 至关重要的日志,往往黑客会使用history -c清理相关的日志,然后使用cat ~/.bash_history仍可查看相关的记录
- 入侵后需要关注的web服务器日志
web服务器的种类很多,接触比较多的为apache、tomcat、Nginx为主。无论任何web服务器其实日志需要关注的东西是一致的,即access_log和error_log。一般在确定ip地址后,通过:
find . access_log |grep xargs ip攻击地址
find . access_log| grep xargs 木马文件名
是一种顺藤摸瓜比较好的排查方式,通过access_log和error_log中的数据我们一般能明确以下几件事情:
- 文件是什么时刻上传的,应急响应中确定攻击发生的攻击点十分重要。通过时间点可以有效的查找加密木马,隐蔽的后门等。举例说明:
今天是2016年11月7日,我通过排查发现攻击点发生在11月5日。站在网站上传目录:
find . -name *.php -ctime -1
接一些更为复杂的正则来匹配文件:
find ./ -name “*.php” -type f -print0|xargs -0 egrep “(phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decode|spider_bc)”|awk -F: ‘{print $1}’
具体的-ctime、-atime、-mtime不再赘述。关于+—号问题,引用一下:
-mtime n:n为数字,意思是在n天之前的【一天之内】被更改过内容的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改过内容的文档名;
-mtime -n:列出在n天之内(含n天本身)被更改过内容的文档名;
0为24小时以内
2.攻击的IP地址是多少,当然一般情况是跳板地址TT
3.传了什么文件上来
- 登上服务器就要立刻输入的命令(全是套路,但一般很有用)
ps -ef 查看可疑进程
一般ps -ef能比较清晰的看出反弹shell,引用下:
http://www.waitalone.cn/linux-shell-rebound-under-way.html
top 处理过几次肉鸡服务器,基本上top能很明显的看出占用资源异常的服务
last 登录时间能不能跟运维人员时间对上
crontab -l 查看例行任务,很多后门程序可以通过crontab完成自启。
不过有时候crontab -l并不能解决问题,通常还要做如下操作:
cd /etc/crontab
ls
查看有没有提权痕迹:
cat /etc/passwd 极有可能其他用户出现id,组id 0、0的情况
如果系统里有lsof命令那就太好了:
lsof -g gid号 通常能找到恶意文件关联的lib文件
- 一些技巧的的碎碎念
chattr +i 处理过一起病毒自己会改写crontab的,可以用这个命令把crontab锁住
chmod 000 在删除一些病毒文件时候需要先去除执行权限
在写这篇博文的时候,查阅资料,发现find还可以这么用:
find / *.jsp -perm 4777 查找777的权限的文件
因为我发现任何黑客在入侵完Linux在这一步都避免不了这样喜悦的操作:
yum xxxx
mkdir hehe
chmod 777 *.*
cd hehe
./xxxx
- 总结
- 应急响应感觉确定的优先级是时间,ip、最后是恶意文件。尤其时间最为重要,如果连攻击时间都没法确定,感觉真心没有啥好的切入点,至少不能保证你把后门都查杀干净。
- 作为小菜,研读过很多大牛的文章,结合自己做的案例,感觉切入点主要就这么多。但难点是你能否准确判断哪个是正常文件,哪个是恶意文件。以及自己的渗透和黑产知识面是否完备,能准确的猜到黑客干了啥。
- 还有一些东西,比如内核啊,启动顺序的一些问题,最近在总结,有机会补全。
一些关于Linux入侵应急响应的碎碎念的更多相关文章
- Linux安全事件应急响应排查方法总结
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...
- 记一次linux服务器入侵应急响应
近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为.希望我们能协助排查问题. 一.确认安全事件 情况紧急,首先要确认安全事件的真实性.经过和服务器运维人员 ...
- 服务器入侵应急响应排查(Linux篇)
总体思路 确认问题与系统现象 → 取证清除与影响评估 → 系统加固 → 复盘整改 常见入侵 ① 挖矿: 表象:CPU增高.可疑定时任务.外联矿池IP. 告警:威胁情报(主要).Hids.蜜罐(挖矿扩散 ...
- 安全运维 - Linux系统攻击应急响应
Linux 应急相应 - 总纲 应急准备: 制定应急策略 组建应急团队 其他应急资源 安全事件处理: 痕迹数据获取 分析.锁定攻击源删除可疑账号关闭异常进程.端口禁用相应异常开机启动项删除异常定时任务 ...
- Linux系统应急响应
目录 排查用户相关的信息 排查进程端口相关的信息 查找恶意程序并杀掉 斩草除根 判断入侵方式,修复漏洞 当我们被告知一台Linux服务器被黑客入侵,黑客利用该服务器进行挖矿,并且在该服务器上放置了木马 ...
- Linux应急响应思路详谈
一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...
- Linux应急响应入侵排查思路
0x00 前言 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...
- windows应急响应入侵排查思路
0x00 前言 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...
- Linux应急响应(一):SSH暴力破解
0x00 前言 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...
随机推荐
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- Android ViewPager打造3D画廊
本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 网上有很多关于使用Gallery来打造3D画廊的博客,但是在关于Gallery的官方说法中表明: This cl ...
- JavaScript之职责链模式
一.概述 职责链模式(Chain of responsibility),就是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连成一条链,并沿着这条链传递该请求,直到有 ...
- 如果你也会C#,那不妨了解下F#(7):面向对象编程之继承、接口和泛型
前言 面向对象三大基本特性:封装.继承.多态.上一篇中介绍了类的定义,下面就了解下F#中继承和多态的使用吧.
- log4net使用手册
1. log4net简介 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.Java平台下,它还 ...
- [数据结构]——二叉树(Binary Tree)、二叉搜索树(Binary Search Tree)及其衍生算法
二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现 ...
- Android中Activity的四大启动模式实验简述
作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握.今天我们就来通过实验演示,来帮助大家理解Activ ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_Shell' 中的标识列插入显式值。
--允许将显示值插入表的标识列中-ON:允许 OFF:不允许set identity_insert T_shell ONset identity_insert T_Shell OFF
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]
1103: [POI2007]大都市meg Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2221 Solved: 1179[Submit][Sta ...