USV-CTF writeup

关于USV-CTF的介绍以及下载地址如下:https://www.vulnhub.com/entry/usv-2016-v101,175/

Difficulty: Beginner/Intermediate
Instructions: The CTF is a virtual machine and has been tested in Virtual Box. It has all required drivers if you want it to run on VMware or KVM (virtio). The network interface of the virtual machine will take it`s IP settings from DHCP.
Flags: There are 7 flags that should be discovered in form of: Country_name Flag: [md5 hash]. In CTF platform of the CTF-USV competition there was a hint available for each flag, but accessing it would imply a penalty. If you need any of those hints to solve the challenge, send me a message on Twitter @gusu_oana and I will be glad to help.

下载完ova之后在VMware中打开,看到登陆界面出现Success就说明是成功的。
按照惯例先用nmap扫描端口:

USV-CTF writeup_第1张图片

开了几百个端口,我们先从熟悉的地方入手吧。分析一下:
22端口SSH,80端口HTTP,3129端口Squid(正常应该是3128),3306端口Mysql。
10000以上的端口应该都是做了端口欺骗的。21211端口vsFTP。
我们看到80端口是开放的,尝试访问:
USV-CTF writeup_第2张图片

403。查看网页源代码没发现什么特别的,用Burp抓包:
USV-CTF writeup_第3张图片

在Response看到一串很奇怪的很像Base64的字符串。把这串字符串进行Base64解码得到:
【Flag1】Croatia Flag: 0c326784214398aeb75044e9cd4c0ebb
接下来看到SSH端口打开了,尝试练一下,发现了登陆的banner:
USV-CTF writeup_第4张图片

下面有个字符串:
wDOW0gW/QssEtq5Y3nHX4XlbH/Dnz27qHFhHVpMulJSyDCvex++YCd42tx7HKGgB
在这条龙上还有几个字母:A E S E C B
尾巴上有一串xxxxx0000000xxxxxx
我们可以联想到AES的ECB加密方式,对这个字符串进行解密,密钥是xxxxx0000000xxxxxx:
USV-CTF writeup_第5张图片

【Flag2】Italy Flag: 0047449b33fbae830d833721edaef6f1
接下来看3129端口对应的Squid。网站直接打开403,如果使用代理访问呢?使用FoxyProxy插件做个代理:
USV-CTF writeup_第6张图片

然后重新访问网站:可以看到出来东西了:
USV-CTF writeup_第7张图片

使用nkito对网站进行扫描,也可以使用AWVS进行扫描:
nikto -host 192.168.235.131 -useproxy 192.168.235.131:3129
USV-CTF writeup_第8张图片

USV-CTF writeup_第9张图片

可以看到有个blog的目录,访问是一个博客:
USV-CTF writeup_第10张图片

看到blog下面有个hodor的文件夹,访问:

点一下message,发现有个zip文件下载,解压是一个hodor文件。不知道是什么类型。一个办法是使用Ultraedit打开,看到Hex是FFD8推测是jpg文件,或者是扔到Kali里面用file指令查看文件类型:

修改文件后缀名为.jpg,打开图片:
USV-CTF writeup_第11张图片

惯例Base64解码:
【Flag3】Portugal Flag: a2663b23045de56c7u96a406429f733f
在博客的最下方有篇文章要密码:
USV-CTF writeup_第12张图片

没什么线索,想办法进行爆破。我们使用CEWL根据网站生成一个字典:
cewl -w 1.txt -m 5 192.168.235.131/blog --proxy_port 3129 --proxy_host 192.168.235.131
mark

生成字典之后就可以用Burp爆破了。这里挂上代理:
USV-CTF writeup_第13张图片

这里选上:
USV-CTF writeup_第14张图片

然后开始爆破:
USV-CTF writeup_第15张图片

爆破出来的密码是Westerosi。
USV-CTF writeup_第16张图片

【Flag4】Paraguay Flag: 4761b65f20053674657c7e6186628a29
这里还有几个关键信息:
The mother_of_dragons has a password which is in front of your eyes
She uses the Field Training Preparation for her army.
从第二句话我们可以猜测是有个FTP服务可以进去,第一句话猜测用户名是mother_of_dragons,密码是in front of your eyes。
之前我们看到FTP的端口是21211。
USV-CTF writeup_第17张图片

我们把两个文件下载了,打开:
从note.txt中我们可以获取到,博客密码就是她的儿子名字。查了一下名字应该是Drogon,Viserion,Rhaegal,于是尝试用名字进行组合,最后得出密码是RhaegalDrogonViserion。
这个博客是WordPress( http://192.168.235.131/blog/wp-admin/),用户名是mother_of_dragons,密码RhaegalDrogonViserion。
进来之后就各种翻,终于翻到了:
USV-CTF writeup_第18张图片

【Flag5】Thailand Flag: 6ad7965d1e05ca98b3efc76dbf9fd733
进来后台之后就考虑提权。将index.php的内容替换成php-reverse-shell(下载地址 http://pentestmonkey.net/tools/web-shells/php-reverse-shell)。注意修改ip和端口。
USV-CTF writeup_第19张图片

保存后进行nc反弹:
USV-CTF writeup_第20张图片

查看目录,看到一个srv的不常见目录,进去之后就看到在http目录下有个reward_flag.txt,打开:
USV-CTF writeup_第21张图片

【Flag6】Mongolia Flag: 6b49c13cccd91940f09d79e142108394
还有一个可执行的winterfell_messenger。

用strings看下:
USV-CTF writeup_第22张图片

执行这个文件:

也就是说这个执行文件会读取root/message.txt。
先绕过cat这个语句看接下来会做什么。
在linux中cat所在的路径是/usr/bin,环境变量的路径是:

我们制造一个假的cat命令:
USV-CTF writeup_第23张图片

输入id:

可以看到现在是以root的权限在执行,这是一个提权工具。
在root目录下ls-al可以看到一个.flag.txt文件,将文件复制出来之后打开:
USV-CTF writeup_第24张图片
【Flag7】Somalia Flag: 4a64a575be80f8ffab26b06a958bcf34

你可能感兴趣的:(USV-CTF writeup)