前言:
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。
01文件分析-敏感文件信息
在linux系统下一切都是文件,其中/tmp是一个特别的临时目录文件。每个用户都可以对它进行读写操作。因此一个普通用户可以对/tmp目录执行读写操作。
查看敏感目录文件,如tmp目录、可执行程序目录/usr/bin,/usr/sbin等
1.使用la-alt/查找tmp目录
1、份很多已经买不到的绝版电子书2、30G安全大厂内部的视频资料3、份src文档4、常见安全面试题5、ctf大赛经典题目解析6、全套工具包7、应急响应笔记
2.使用ls—help查看帮助信息
3.ls的常用用法:ls用来显示目录列表
-a显示所有档案及目录
-l以长格式显示目录下的内容列表
-t用文件和目录的更改时间排序
4.进入tmp目录,查找最近新添加的可疑文件。
02文件分分析-敏感文件信息
查看开机启动项内容/etc/init.d/,恶意代码很有可能设置在开机启动的位置。
查看指定目录下文件时间顺序的排序:ls-alt
head-n10
查看文件时间属性:stat文件名
使用ls-alh/etc/init.d//查看开机启动项
进入开机启动项目录,对其进行筛选。
针对可以文件可以使用**stat**进行创建修改时间、访问时间的详细查看,若修改时间距离时间日期接近,有线性关联,说明可以被篡改。
如:statapache2查看文件详细信息。
03文件分析-敏感文件信息
主要针对新增文件分析:
查找24h内被修改的文件
find./-mtime0-name“*.php”
查找72h内新增的文件
find./-ctime-2-name“‘*.php”
权限查找,在linux系统中,如果具有权限,那么文件就很可疑。
find./-iname“*.php”-perm其中-iname忽略大小写,-perm用于设定筛选文件权限
find./-ctime-2-name“‘*.txt”//查找72h内新增的txt文件。
find./-iname“*.php”-perm//查找最近新建的含.php文件的,具有最高权限的文件。
新建立一个z.php文件,给予最高权限。
再次进行筛选。
04-网络连接分析
在linux中可以使用netstat进行网络连接查看
netstat-Printnetworkconnections,rountingtables,interfacestatistics,masqueradeconnections,andmulticastmemberships
具体帮助信息查看mannetstat
常用命令**netstat-pantl**查看处于tcp网络套接字相关信息
关闭未知连接使用**kill-9pid**既可关闭。
使用:netstat-pantl查看处于tcp网络套接字相关信息
ipa查看网络信息
发现可疑进程,使用kill-9+pid值,然后关闭进程。
05-进程分析-进程所对文件
使用ps命令,分析进程。根据netstat定位出pid,使用ps命令,分析进程
使用psaux查看你所有进程信息
psaux
grep“22”查看最近使用了22端口的进程。
使用pid进行筛选
筛选pid为的进程。
查看端口未22的隐藏进程
06-登录分析-筛选异常登录
在Linux做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于**/var/log/wtmp**文件,稍有经验的入侵者都会删掉/var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的
last-igrep-h0.0.0.0查看登录日志,筛选非本地登录
last-i//查看登录日志,含登录ip地址。
last-igrep-v0.0.0.0查看登录日志,筛选非本地登录
常见的用法:who查看当前登录用户(tty本地登陆pts远程登录)w查看某一时刻用户的行为uptime查看有多少用户,以此确定是否存在异常用户lastb显示登录失败次数,判断是存在ssh爆破last显示用户最近登录信息。lastlog登录成功记录
总结:
本文主要总结了在遇到了Linux系统时,应急响应先从对敏感文件分析、敏感文件信息、网络连接分析、进程分析、异常登录记录进行分析。