第一次参加铁三,这次总决赛中的数据赛不再是之前的看数据包,而是直接给了一台 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 就判断错了,然后就没敢做下去…