VulnHub2018_DeRPnStiNK靶机渗透总结
靶机下载地址:
https://download.vulnhub.com/derpnstink/VulnHub2018_DeRPnStiNK.ova
https://www.dropbox.com/s/8jqor3tuc3jhe1w/VulnHub2018_DeRPnStiNK.ova?dl=0
-
打开靶机,使用nmap扫描出靶机的ip和开放的所有端口
可以看到,靶机开放了21端口,22端口和80端口
遇到ftp的21端,我们先尝试ftp匿名登录,用户名anonymous,密码为空,发现无法ftp匿名登录
那么我们然后先根据80端口打开网站,从网站入手,不行的话,在考虑ssh的爆破 -
打开网站,并没有发现什么功能点,可以进行漏洞利用,那么开始信息收集,目录爆破一下
使用dirb扫描出来,经过查看,发现一个新的网页
http://192.168.11.149/weblog
打开网页后,在底部发现了这个网站采用的试wordpress框架
并且域名也变了,这里都不需要自己写进hosts文件里面
Wordpress一般都会有登录页面
http://derpnstink.local/weblog/wp-admin
并且发现弱口令可以登录
用户名:admin
密码:admin
但是并没有在里面发现可利用的漏洞功能点 -
知道是wordpress框架后,我们可以尝试使用wpscan进行扫描
wpscan --url http://derpnstink.local/weblog/
从给出的这个网站,获取api token
https://wpvulndb.com/users/sign_up
加上api token之后,再次使用wpscan扫描网站,扫描出了漏洞
然后在漏洞里,经过尝试,找到了一个好利用的文件上传的脚本
https://www.exploit-db.com/exploits/34681/
将这个脚本复制到kali里面
使用的是python2,并且缺少httplib2库
可以使用pip安装httplib2库pip install httplib2
再次使用脚本
python2 34681.py
脚本给出了使用的方法,我们根据它写的去运行脚本
-t 跟网址
-u 用户名,这里之前有个admin
-p 密码 同样admin
-f 文件名,这里这个文件可以自己现在本地生成我这里先尝试上传phpinfo
python2 34681.py -t http://derpnstink.local/weblog/ -u admin -p admin -f phpinfo.php
可以看到上传成功,并且给出了访问路径
http://derpnstink.local/weblog//wp-content/uploads/slideshow-gallery/phpinfo.php
成功解析phpinfo
既然phpinfo可以,那么我们直接上传一句话木马,使用蚁剑连接
同样的办法,上传一句话木马
http://derpnstink.local/weblog//wp-content/uploads/slideshow-gallery/eval.php
成功连接蚁剑
-
然后我们先考虑能否直接提权,经过尝试,似乎无法直接提权
那么我们去翻找下文件,看是否有数据库等敏感信息泄露
成功在这个文件下面,找到了数据库的用户名和密码
用户名:root
密码:mysql
/var/www/html/weblog/wp-config.php
并且成功连接数据库
并且在wp_users表里面发现两个用户admin $P$BgnU3VLAv.RWd3rdrkfVIuQr6mFvpd/ unclestinky $P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41
密码被加密了,接下来尝试破解密码,使用john工具
john --wordlist=/usr/share/wordlists/rockyou.txt hash
hash文件里面存放的是密码admin破解出来的密码是admin
unclestinky破解出来是wedgie57 -
破解出来了账户密码,我们之前admin登录过,现在换unclestinky登录
成功找到一个flag,但是这里还是没有漏洞利用点
那么我们去ftp或者ssh都试着登录下
ftp还是无法登录
ssh也还是无法登录
既然都无法登录,我们去查看一下/etc/passwd文件,看哪些用户能登录
然后发现了stinky用户可以登录,这个用户与我们上面找到的unclestinky用户十分相似
我们试着以用户stinky,密码wedgie57登录一下ftp或者sshftp登录成功
然后在很多套娃的ssh目录下,发现一个key.txt,很有可能是私钥
我们先下载下来这个文件
果然是私钥,它这里就是ftp里面存着ssh的私钥,然后利用私钥登录ssh
成功登录ssh,这里注意私钥文件权限要设为700,不然会失败
ssh -i ./key.txt stinky@192.168.11.149
在Desktop目录下又发现了一个flag
在ftp目录的network-logs目录下,发现一个derpissues.txt文件
文件内容是一段谈话,给出了提示,有一个抓的包,我们接下来就去找这个包
在Documents目录下,发现derpissues.pcap这个包
我们先下载到本地
使用wireshark打开这个包
直接使用过滤功能找到了密码,我这里使用的是用户名mrderp,也可以使用pwd,key等关键字去查找,找到一个密码: derpderpderpderpderpderpderp
成功使用用户mrderp密码derpderpderpderpderpderpderp登录ssh -
登录之后,考虑提权,这里发现存在sudo滥用提权
/home/mrderp/binaries/derpy*
这里的sudo滥用提权利用的是/home/mrderp/binaries目录下名字存在derpy的文件
但是这里没有binaries目录,我们先自己创建一个
然后将/bin/bash写入derpy.sh中,名字可以随便起,但是名字要以derpy开头,比如derpy123.sh等
chmod修改下权限
然后直接sudo ./derpy.sh,成功提权