VulnHub-DerpNStink: 1 靶场渗透测试
时间:2021.2.17
靶场信息:
地址:https://www.vulnhub.com/entry/derpnstink-1,221/
发布日期:2018年2月9日
目标:远程攻击VM,并找到所有4个标志,最终获得root访问权限
一、信息收集
1、获取靶机IP地址
nmap -sP 192.168.137.0/24
由探测的结果可知,靶机的IP为192.168.137.132
2、扫描开放的端口和服务
nmap -sS -sV -T5 -A -p- 192.168.137.132
得到开放的端口信息:
21/tcp open ftp vsftpd 3.0.2
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
3、网站信息收集
由于开放了80端口,我们用浏览器打开看看它具体开放了什么web应用
访问之后打开控制台,在多个div的嵌套下,找到了第一个flag
flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166)
在查看源代码下,还发现了页面引用了一个txt
访问http://192.168.137.132/webnotes/info.txt查看具体内容
得到一句话,具体意思是确保用本地dns更新你的hosts文件,这样在新的derpnstink博客上线之前就可以访问它,将192.168.137.132 derpnstink.local写入hosts中即可
然后用dirb对网站的目录进行爆破
发现有一个robots.txt文件,先打开看看
没什么有用的信息,dirb还爆破到了/weblog目录,我们访问看看
在下面发现网站是用WordPress搭建的
通常,默认 WordPress 登录地址是:yourdomain.com/wp-admin/或 yourdomain.com/wp-login.php,并且后台的默认登录账号密码是admin,我们试着能不能登进去
居然可以登录进去,但是,此管理员用户不是WordPress的实际管理员,并且缺少大多数管理权限
这里补充一下WordPress相关的知识
WordPress网站介绍
- WordPress是全球流行的博客网站,全球有上百万人使用它来搭建博客。他使用PHP脚本和Mysql数据库来搭建网站。
- WordPress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪WordPress的安全漏洞,WordPress自诞生起也出现了很多漏洞。WordPress还可以使用插件、主题。于是WordPress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件,主题的漏洞去渗透WordPress站点,于是WPscan应运而生,收集WordPress的各种漏洞,形成一个WordPress专用扫描器
WPScan简单介绍
- WPScan是一个扫描 WordPress漏洞的黑盒子扫描器,它可以为所有 web开发人员扫描 WordPress漏洞并在他们开发前找到并解决问题。我们还使用了 Nikto,它是一款非常棒的web服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分
- WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能
- 该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的WordPress站点暴力破解用户名密码。
这里记录一下我的WPScan更新失败,官方回应是低于3.7版本可能存在更新问题,下面给出我的解决方案
wget http://file.dsb.ink/update.sh
chmod +x update.sh
#vim update.sh 可自行修改目录
./update.sh
二、漏洞探测
我们用WPScan扫描一下,探测是否存在可以利用的漏洞
这里我用最新版的wpscan扫到插件中存在五个漏洞
三、漏洞利用
根据前面探测到该wordpress中的插件存在漏洞,我们直接上msf
在msf里找到了可以利用的module
我们设置一下参数
设置完之后,exploit得到了一个反向外壳
打开/var/www/html/weblog/wp-config.php并找到数据库的名称和登录数据库所需的用户名和密码
得到mysql数据库的账号为root,密码为mysql,有了这些我们那就可以登录phpmyadmin
然后在wordpress数据库,wp_posts表里找到第二个flag
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
继续查看wp_user表,发现有另外一个用户
进入mysql里,也确实能看到这两个用户的信息,这里猜测此处$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41的hash值可能有用,尝试破解看看
这里要用到一款密码破解工具
hashcat是一款自称为世界上最快的密码破解工具。
具体使用参考:
没破解出来,试一试john这款工具,参数如下:
使用unclestinky/wedgie57进行登录,这里也能看到flag2
继续寻找flag3.txt,在home目录下发现有两个用户
之前扫描端口发现了21号的ftp服务,前面破解了登录密码wedgie57,试试能不能登进ftp
用户stinky/wedgie57登录成功,找找有什么有用的文件
打开derpissues.txt,发现没啥用,到退回去
在ssh目录里面有一个key.txt
找到了key密匙,进行解密试试
登录成功,找到flag3
flag3(07f62b021771d3cf67e2e1faf18769cc5e5c119ad7d4d1847a11e11d6d5a7ecb)
在Documents目录里面发现一个pcap文件
这里将pacp文件拷到本地用wireshark打开
用wireshark打开之后找关于http的数据包,这里发现了一个登录的数据包,打开看看
找到了密码:derpderpderpderpderpderpderp,用户为mrderp,得到密码之后ssh远程连接
登录成功后,我们发现helpdesk.log,简单查看了一下发现了有用的信息,根据提示的意思是当前用户有sudo提权相关的提示,可以访问https://pastebin.com/RzK9WfGw 得到帮助信息
通过sudo -l显示出自己(执行 sudo 的使用者)的权限,还提示可以在靶机下运行derpy二进制
四、提权
目前已经确认提权路径就在上述给的文件夹路径,但是看了下并没有文件夹binaries,那么就直接新建一个这个文件夹,然后新建一个文件derpy类似的名称即可,最后给其执行权限,sudo执行即可提权
获得flag4
flag4(49dca65f362fee401292ed7ada96f96295eab1e589c52e4e66bf4aedda715fdd)
总结
总的来说,难度还是不错的,在渗透的过程中,又整理了一些新的思路,帮助很大。