vlambda博客
学习文章列表

基础分析黑客是如何攻击Linux服务器的



00:前言




这次是一个比较基础的分析攻击者是如何攻击Linux网站服务器的,然后检查下系统上被添加了什么恶意用户或者是操作。Try hack me房间链接为 https://tryhackme.com/room/linuxserverforensics 这个房间是免费的只需要注册个号连接到他们的内网以后用ssh连接受害者机器分析即可。

基础分析黑客是如何攻击Linux服务器的




基础分析黑客是如何攻击Linux服务器的

01:通过日志分析攻击情况




正常来讲如果Linux上开启了web服务的话,/var/log/apache2下的日志文件会记录下不同IP的来访信息等等。

基础分析黑客是如何攻击Linux服务器的



第一个问题是,攻击者使用了多少款常见的工具攻击网站?常见的渗透测试工具有nmap, dirbuster, gobuster, curl, nikto,s sqlmap等等。由于access.log里面会包含访问者的user-agent,所以我们可以通过grep 工具名查找攻击者使用了哪些工具。比如说下图通过grep -I dirbuster发现确实存在用来枚举各种目录名。

基础分析黑客是如何攻击Linux服务器的



这里慢慢grep各种工具名后发现还有curl和nmap。这里答案是2款工具,不知道是不是curl不算常用的渗透工具在里面。

基础分析黑客是如何攻击Linux服务器的


基础分析黑客是如何攻击Linux服务器的


第二个问题,找出带有nmap关键词的路径那就是上图第六条记录

GET /nmaplowercheck1618912425 HTTP/1.1" 404 454 "-"




基础分析黑客是如何攻击Linux服务器的

02:WEB网页分析




第三个问题,在80端口http服务中哪个页面允许上传文件?这里用浏览器打开一下IP,然后点击Contact

基础分析黑客是如何攻击Linux服务器的



点进去以后可以看到底下有个Browse文件上传功能

基础分析黑客是如何攻击Linux服务器的


因为是白盒环境所以可以打开/var/www/html/contact.php,可以看到文件会放到uploads目录下同时会赋予777权限,此外这里的文件上传并未有过多的限制。可以传反弹shell上去。

基础分析黑客是如何攻击Linux服务器的


第四个问题,传恶意文件的攻击者IP是多少?这里跟进下uploads文件夹,用ls命令可以发现有个shell.sh文件,打开以后可以看到攻击者的IP和监听的端口。

基础分析黑客是如何攻击Linux服务器的


第五个问题,谁在网站上留下安全通知文件? 这里回到access.log文件用grep 攻击者IP 再来grep 200 最后grep get这里假设安全文件应该是GET不太可能是POST吧。可以看到最底下是一个security.MD

基础分析黑客是如何攻击Linux服务器的


直接用curl访问一下,噢小丑原来是fred啊。

基础分析黑客是如何攻击Linux服务器的




基础分析黑客是如何攻击Linux服务器的

03:维权阶段分析




由上面可知由于文件上传部分没有过多限制且赋予权限过高很容易就传了一个恶意文件上去了。既然拿到一定权限后攻击者可能会维权方便下次访问,第六个问题攻击者用什么方法留了后门. 这里可以检查下系统上的定时计划任务可以看到多了一个root2用户定时往这个IP发shell。

基础分析黑客是如何攻击Linux服务器的



最后一个问题是root2用户密码是多少?这里检查了下/etc/passwd的权限,寄了直接是777权限,同时可以看到root2的密码特别的与众不同。

基础分析黑客是如何攻击Linux服务器的



这里提示说这个加密内容是比较流行的密码网上找了一下应该是mrcake

基础分析黑客是如何攻击Linux服务器的




基础分析黑客是如何攻击Linux服务器的

04:二阶段日志分析




这个房间总共有三个机子,这次可能会稍微难点。第七个问题找出一个奇奇怪怪的HTTP请求出来。这次通过搜索工具名找不到任何痕迹了。那么我们可以换个思路寻找一些不太正常访问的请求头,因为正常人访问页面应该不会访问到网站出现了404或者5开头的代码错误。这些错误的请求头很有可能是nmap渗透工具利用随机请求头隐藏起来。这里用cat输出一下顺便用grep GET看了下数据,发现有一个奇奇怪怪的iPhone访问过网站。

基础分析黑客是如何攻击Linux服务器的


这里直接用grep iPhone快速查找了一下发现最底下还有一个501错误的GXWR请求。好家伙多半可以确定这货有可能是渗透工具用随机生成的请求头进行访问了。

基础分析黑客是如何攻击Linux服务器的


第八个问题,nmap什么时候执行了扫描那多半可以确定刚才那个奇奇怪怪的伪造iPhone进行访问的可能就是nmap了。




基础分析黑客是如何攻击Linux服务器的

05:二阶段维权分析




在维权阶段中除了利用crontab定时运行恶意发送shell给目标以外还可以检查下系统上的ssh密钥是否有被人动过。常见的远程连接有两种方法一种是输入密码进行身份验证,另外一种就是把自己的密钥传上去这样就可以免密验证了。这里看了下权限非常高那就先切换成root形态。

基础分析黑客是如何攻击Linux服务器的



这里检查了下各个用户的密钥目前只有root的被人动过了直接去到/root/.ssh/authorized_keys 最后面直接变成kali@kali好家伙正常来讲root的密钥应该是root@主机名而这里变成了kali直接可以远程免密登录。

基础分析黑客是如何攻击Linux服务器的



二阶段最后一个问题,root下的bash_history里面记录了曾使用过哪些命令?打开可以发现编辑过/etc/passwd文件。

基础分析黑客是如何攻击Linux服务器的




基础分析黑客是如何攻击Linux服务器的

06:三阶段噩梦分析




最后一个机子的干扰项有点影响状态。连接过去以后用sudo -l 检查发现systemctl 服务权限具备特权。同时会用不断滚屏的Info! WARNING干扰你。那么我们的目标就很明确了检查下哪些服务不是系统上自带的就好。当然可能需要对Linux稍微有点了解才可。

基础分析黑客是如何攻击Linux服务器的


这里利用systemctl –type=service –state=active 快速找出系统上正在工作的服务。其中多了一个IpManager.service不太像Linux系统上默认自带的。

基础分析黑客是如何攻击Linux服务器的


这里用systemctl status 服务名可以看到指向一个奇奇怪怪的.sh脚本。

基础分析黑客是如何攻击Linux服务器的



最后打开一看可以看到是定义了很多刷屏信息然后进行循环刷屏。


停止的方法很简单就用systemctl stop即可。