前言:
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。 针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些 Linux 服务器入侵排查的思路。
01文件分析-敏感文件信息
在linux系统下一切都是文件,其中/tmp是一个特别的临时目录文件。每个用户都可以对它进行读写操作。因此一个普通用户可以对/tmp目录执行读写操作。
查看敏感目录文件,如 tmp目录、可执行程序目录/usr/bin ,/usr/sbin等
1.使用la -alt / 查找tmp目录
![](https://i-blog.csdnimg.cn/blog_migrate/47137781c5b14099f91dd30afa5dc17c.png)
1、200份很多已经买不到的绝版电子书 2、30G安全大厂内部的视频资料 3、100份src文档 4、常见安全面试题 5、ctf大赛经典题目解析 6、全套工具包 7、应急响应笔记
2.使用ls —help 查看帮助信息
![](https://i-blog.csdnimg.cn/blog_migrate/330f8745e3e3244d30290b3a98770080.png)
3.ls的常用用法: ls 用来显示目录列表
-a 显示所有档案及目录
-l 以长格式显示目录下的内容列表
-t 用文件和目录的更改时间排序
![](https://i-blog.csdnimg.cn/blog_migrate/8798e1db3aecd5e22a09b8192897c186.png)
4.进入tmp目录,查找最近新添加的可疑文件。
![](https://i-blog.csdnimg.cn/blog_migrate/6d881402ce45343fd41215869a453d43.png)
02文件分分析-敏感文件信息
查看开机启动项内容/etc/init.d/,恶意代码很有可能设置在开机启动的位置。
查看指定目录下文件时间顺序的排序:ls -alt | head -n 10
查看文件时间属性: stat 文件名
使用ls -alh /etc/init.d // 查看开机启动项
![](https://i-blog.csdnimg.cn/blog_migrate/469f91c960a943882b018d285cfe97b7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/67437e2f055769d9321f80671c34fd52.png)
进入开机启动项目录,对其进行筛选。
![](https://i-blog.csdnimg.cn/blog_migrate/07d74f612f94d329beabbc68b268ed95.png)
针对可以文件可以使用**stat **进行创建修改时间、访问时间的详细查看,若修改时间距离时间日期接近,有线性关联,说明可以被篡改。
如:stat apache2 查看文件详细信息。
![](https://i-blog.csdnimg.cn/blog_migrate/a3faba163374d7646132d1fcee863e3c.png)
03文件分析-敏感文件信息
主要针对新增文件分析:
查找24h内被修改的文件
find ./ -mtime 0 -name “*.php”
查找72h内新增的文件
find ./ -ctime -2 -name “‘*.php”
权限查找,在linux系统中,如果具有777权限,那么文件就很可疑。
find ./ -iname “*.php” -perm 777 其中 -iname忽略大小写,-perm用于设定筛选文件权限
![](https://i-blog.csdnimg.cn/blog_migrate/36c95a83eef56bb66c0bbe7cd01fc7ca.png)
find ./ -ctime -2 -name “‘*.txt” //查找72h内新增的txt文件。
![](https://i-blog.csdnimg.cn/blog_migrate/7bc4a057671aeaeb9f17394f000236a2.png)
find ./ -iname “*.php” -perm 777 //查找最近新建的含.php文件的,具有最高权限的文件。
![](https://i-blog.csdnimg.cn/blog_migrate/d68502204205197dfe38814bf48178ff.png)
新建立一个z.php文件,给予最高权限。
![](https://i-blog.csdnimg.cn/blog_migrate/5751592003491c9313b6f9c550e8dccd.png)
再次进行筛选。
![](https://i-blog.csdnimg.cn/blog_migrate/3899d737b3c17f8188f396125713fd96.png)
04-网络连接分析
在linux中可以使用netstat进行网络连接查看
netstat -Print network connections,rounting tables,interface statistics,masquerade connections,and multicast memberships
具体帮助信息查看 man netstat
常用命令 **netstat -pantl **查看处于tcp网络套接字相关信息
关闭未知连接使用** kill -9 pid **既可关闭。
使用:netstat -pantl 查看处于tcp网络套接字相关信息
![](https://i-blog.csdnimg.cn/blog_migrate/4a57e3e1d6370c09e25c1fc6de41492c.png)
ip a 查看网络信息
![](https://i-blog.csdnimg.cn/blog_migrate/d03e1da793111daa842d30b1f390bc99.png)
发现可疑进程,使用 kill -9 + pid值,然后关闭进程。
![](https://i-blog.csdnimg.cn/blog_migrate/43fa88e39666d55c7e62e5717b3fd7d5.png)
05-进程分析-进程所对文件
使用ps命令,分析进程。根据netstat 定位出pid ,使用ps命令,分析进程
使用ps aux 查看你所有进程信息
![](https://i-blog.csdnimg.cn/blog_migrate/3450bdce9bb891ab49e1dfe32be61b97.png)
ps aux | grep “22” 查看最近使用了22端口的进程。
![](https://i-blog.csdnimg.cn/blog_migrate/46ff83983fc3578263faf4858a44a34e.png)
使用pid进行筛选
![](https://i-blog.csdnimg.cn/blog_migrate/73cbecfb2b13ba0ccee9cf8a284dbc0a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b10dce97475aa2db1b2346f4ebfded0f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/259a9fcde3248870214809cb32643e50.png)
筛选 pid为647的 进程。
![](https://i-blog.csdnimg.cn/blog_migrate/905d223775976c7f60531d8fc96eece1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/747bf9ce104502ea843ab210fc0592aa.png)
查看端口未22的隐藏进程
![](https://i-blog.csdnimg.cn/blog_migrate/94fa0c5bc2b2b962aedde894500dc546.png)
06-登录分析-筛选异常登录
在Linux做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于**/var/log/wtmp**文件,稍有经验的入侵者都会删掉 /var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的
last -i grep -h 0.0.0.0 查看登录日志,筛选非本地登录
![](https://i-blog.csdnimg.cn/blog_migrate/5644b02f40b2974e5a8f85feef3a0c98.png)
last -i //查看登录日志,含登录ip地址。
![](https://i-blog.csdnimg.cn/blog_migrate/85031d40669ac57553feb418381eb149.png)
last -i grep -v 0.0.0.0 查看登录日志,筛选非本地登录
![](https://i-blog.csdnimg.cn/blog_migrate/83181634e5e96c1807c961c1163f63f8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/46a995cb76eabbf6178ffdceec3d2fa2.png)
常见的用法: who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看某一时刻用户的行为 uptime 查看有多少用户,以此确定是否存在异常用户 lastb 显示登录失败次数,判断是存在ssh爆破 last 显示用户最近登录信息。 lastlog 登录成功记录
总结:
本文主要总结了在遇到了Linux系统时,应急响应先从对敏感文件分析、敏感文件信息、网络连接分析、进程分析、异常登录记录进行分析。
网络安全成长路线图
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成hei客大神,这个方向越往后,需要学习和掌握的东西就会越来越多,以下是学习网络安全需要走的方向:
# 网络安全学习方法
上面介绍了技术分类和学习路线,这里来谈一下学习方法:
## 视频学习
无论你是去B站或者是油管上面都有很多网络安全的相关视频可以学习,当然如果你还不知道选择那套学习,我这里也整理了一套和上述成长路线图挂钩的视频教程,完整版的视频已经上传至CSDN官方,朋友们如果需要可以点击这个链接免费领取。网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!