一、配置网卡
DC-1和KAli的网卡均为NAT模式
二、主机发现
使用arp-scan -l 发现局域网内存活主机
得到了两个网关和一个IP地址,得出了靶机的IP地址为192.168.72.152
三、端口扫描
得到了一个22,80,111,54795端口
三、信息收集
22端口没有密码先不进行登录
访问80端口的网页
发现了一个登录界面,尝试使用弱密码登录
发现都没作用,在底下看到了Powerby Drupal,因此我们得到了这个CMS应该为Drupal
利用插件得知Drupal的版本为7
四、漏洞利用
进入msfconsole使用search 命令搜索相关漏洞
我们这里使用一个geddon2的漏洞
设置靶机的IP地址为Rhosts
然后运行即可反弹回meterpreter会话,输入shell就可以得到靶机的shell环境
利用python获得交互式的shell
命令:
python -c "import pty;pty.spawn('/bin/bash')"
在/var/www里面看到了flag1
得到了flag1:Every good CMS needs a config file - and so do you.
提示我们要去查看CMS的配置文件
在/var/www/sites/default里面查看到了网站的配置文件
查看配置文件
在配置的最顶端看到了Flag2 和数据库的名称、用户名、密码
Flag2告诉我们爆破不是唯一的办法,用我们刚刚得到的数据库账户和密码登录数据库
得到了drupaldb这个数据库
查看这里面的表
我们查看一下users表
命令
select * from users;
得到了两个账户名分别为 admin和fred,和两个加密的密码
将密码分别写入到adminpasswd.txt 和 fredpasswd.txt里面
使用john解密
发现不能破解,想到了flag2提示的暴力破解不是唯一的办法,可以使用和他数据库相同的加密方式加密我们自己的密码替换掉原来的密码就好了
返回到/var/www/目录下输入
php scripts/password-hash.sh 123456
生成了密码,就把admin的密码替换掉
回到数据库
使用drupaldb库
use drupaldb
更改admin的登录密码
update users set pass="$S$DbOyt/FQjIosugiYeDB8Wese.08O1qCFOos7dsfgR4LaXLAsDiji" where name="admin";
登录网页
成功登录admin用户,在Dashborad里面看到了Flag3
根据提示让我们查找有特殊suid的命令进行提权,并用-exec命令获取shadow的内容
使用命令查看 suid 权限的可执行的程序
find / -perm -4000
使用find进行提权
使用find执行命令
find / -name 777 -exec "whoami" \;
成功执行命令,还是root用户
Getshell
查看最后的Flag
补上Flag4
在Flag3提示的shadow文件里有一个flag4的用户
我们使用字典爆破一下Flag4这个用户的密码
字典使用kali自带的/rockyou.txt,路径为/usr/share/wordlist/rockyou.txt
得到了Flag4的密码为orange
得到Flag4