第一次参加铁三,这次总决赛中的数据赛不再是之前的看数据包,而是直接给了一台 web 服务器溯源。
经验总结
第一次接触,全队也就自己一个人在做,挖了坑也填了坑,记录一下。
- 服务器给的是命令行界面,不用想着变成图形界面来操作。因为我
init 5
变成图形界面后发现完全没法操作…后来为了变回去我误以为是init 0
,直接把服务器关了…后来只能让让主办方帮忙重启一下,差点被扣分… - 刚开始的时候我主要目标是在每个用户的家目录以及 web 服务的根目录下查看是否有一些隐藏文件, 还是可以收集到一些重要信息的。
- 然后在数据库的目录下也可以发现一些信息。
- 之后慢慢发现最重要其实是 web 服务下的一些 log 文件,记录了黑客对服务器攻击的主要过程。
- 后来我还发现在每个用户家目录下的
.bash_history
也是很有用的,可以看到黑客提权后干的事情。 - 查看文件的话,建议用
less -mN filename
,因为纯命令行的界面不能滚屏,用less
就会方便很多。 - 刚登上服务器建议
lastlog
一下,看看除了 root 用户之外其他用户最后一次是什么时候登陆的。 - 其他命令的话,常用
grep
肯定是没错的…
然后比赛的时候也找了两篇关于服务器溯源的文章,记录一下:
- https://www.freebuf.com/articles/web/138867.html
- https://www.freebuf.com/articles/rookie/179638.html
比赛的时候因为我们队排名在后来不是很靠前,然后我信息的收集也不是很到位,第一题怕做错会扣分,万一我们连三等奖都拿不到了,就没敢做。比赛结束后才知道每个队伍都会获奖…
溯源过程记录
题目差不多是这样:黑客在内网中拿到了两台肉鸡,然后通过这两台肉鸡对一台服务器进行了攻击,我们则需要对这台服务器溯源取证分析,并且找到黑客留下的后门。
刚拿到服务器,先在 root 的家目录下查看了一下隐藏文件,没想到一下子就有收获:
在这里一下子就拿到了数据库的账号和密码。
然后尝试登陆一下数据库,发现有一个 seacms
的数据库,然后进去之后发现一些重要的信息:
看完数据库,我就去查了一下关于海洋 cms 的洞:
大概知道了是在 web 根目录下的 search.php
中存在漏洞,然后通过分析黑客可能用来攻击的脚本,大概知道了攻击过程。
我这里还把 search.php
记录下来了:
在 web 目录下还看到了一个 360safe
,就截了张图:
然后我看了一下每个用户家目录下的 .bash_history
,正常的用户 simple
以及黑客创建的 hacker
都没啥,主要是 root 的 .bash_history
:
大概收集了这些,也能推断出黑客拿到权限后新建了一个叫 hacker 的用户,然后黑客的操作是从什么时候开始的也无法判断。再 grep
一下:
下一步我就开始看日志,通过对 .bash_history
的阅读,判断主要是在 /var/log/httpd
下和 /var/www/html/logs
下的 log 文件:
然后就开始对 log 文件一行一行看下来:
基本看到几个 ip:
在后面一点的时候会看到 192.168.12.173
,通过 GET 的 url 很容易判断出在用脚本打网站:
最后看到可以黑客在放后门 eval($_POST[cmd])
:
大概的分析就是这样,中间也踩了很多坑。我最后的判断是:
IP | IDENTITY | OPERATING SYSTEM |
---|---|---|
192.168.31.119 | admin | windows |
192.168.12.129 | victim | windows |
192.168.12.173 | bot | windows |
192.168.12.156 | bot | windows |
192.168.12.125 | bot | android |
192.168.31.73 | bot | android |
感觉自己整体分析下来应该方向是没错的,可能因为自己没学过计网,对一些网络的协议和请求方式没有了解很透彻,导致比赛的时候第一题问两台肉鸡的 ip 就判断错了,然后就没敢做下去…