今天是DC-1

下载完成后,得到DC-1.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。使用arp-scan --interface=eth0 192.168.119.0/24扫描NAT网段即可得到;

靶机IP地址:192.168.119.146
攻击机地址:192.168.119.147

靶机开放了22、80、111端口。没有发现可利用的,那么我们进入到80端口,看看网页程序中又扫描可以利用的点。
找到网站程序是Drupal的,那么我们看看msf中可以使用的插件,如果有的话减少了很多的工作量;
使用搜索命令搜索网站程序,发现了几个可用的点。
这里我们使用exploit/unix/webapp/drupal_drupalgeddon2

使用info(或者使用show option)命令查看一下需要填写哪些参数:

我们把缺少的目标IP地址设置一下,run运行起来就可以拿到shell了。
 在网站根目录下面,我们发现了第一个flag1.txt,打开后发现提示我们寻找cms的配置文件。

那么我们直接百度Drupal 配置文件位置,即可得到:
settings.php
$settings[‘file_public_path’] = ‘sites/default/files’; 打开配置文件后,再次发现提示

同时我们也拿到了数据库的用户名和密码信息;那么我们尝试使用mysql登录,但在此之前我们可以发现,我们的shell还是不可交互的,靶机上有python,那么我们使用一下python的交互命令。交互式参考链接:[反弹Shell升级为交互式Shell ——yzddMr6 - 简书 (jianshu.com)](https://www.jianshu.com/p/e7202cb2c3dd)

使用mysql登录进去:

发现用户表users:


发现这个密码不是md5加密;百度后发现,这个cms框架的密码加密可以自己生成;参考链接:[(61条消息) 如何重置Drupal 7的用户密码 _xieyanxy9的博客-CSDN博客](https://blog.csdn.net/xieyanxy9/article/details/84118604)
那么我们接下来就是退出去,生成密码,再进到数据库,update一下数据库密码。不就可以登录进去了;update users set pass='$S$DzSKYqfIqgPE3.6GoZLTwYX4pxrDTazUfldR3SxhyJ.TdGEJWFaP' where name='admin';
使用admin,admin登录后发现了flag

提示使用:-exec来提权 SUID是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其 执行时,使调用者暂时获得该文件拥有者的权限。也就是如果ROOT用户给某个可执行文件加了S权 限,那 么该执行程序运行的时候将拥有ROOT权限。
以下命令可以发现系统上运行的所有SUID可执行文件find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \; /表示从文件系统的顶部(根)开始并找到每个目录
-perm 表示搜索随后的权限
-u = s表示查找root用户拥有的文件
-type表示我们正在寻找的文件类型
f 表示常规文件,而不是目录或特殊文件
2表示该进程的第二个文件描述符,即stderr(标准错误)
常见suid提权文件nmap、vim、find、more、less、bash、cp、Nano、mv、awk、man、weget继续进行,使用*find* / -perm -4000 2>/dev/null查看

发现有find可以用,那么我们试试;先新建一个文件*touch* c3ting
find / -name c3ting -exec "whoami" \;

提权成功了接下来我们使用挂载到/bin/sh上,使用:find / -name c3ting -exec "/bin/sh" \;


最后拿到最后的flag:Well done!!!!
Hopefully you've enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7总结:
1、msf——YYDS
2、要会使用策略,反向思考;