开启Vulnhnb刷题

今天是DC-1

介绍页:DC: 1 ~ VulnHub下载地址:http://www.five86.com/downloads/DC-1.zip

image-20230405155654568

1、导入VMware虚拟机

下载完成后,得到DC-1.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、获取靶机IP地址和攻击机的IP地址信息

使用arp-scan --interface=eth0 192.168.119.0/24扫描NAT网段即可得到;

![image-20230405160140167](https://cloud.c3ting.com/c3ting/image-20230405160140167.png?c3ting)

靶机IP地址:192.168.119.146

攻击机地址:192.168.119.147

![image-20230405160243672](https://cloud.c3ting.com/c3ting/image-20230405160243672.png?c3ting)

3、扫描开放端口,查找利用点

image-20230405160417914

靶机开放了22、80、111端口。没有发现可利用的,那么我们进入到80端口,看看网页程序中又扫描可以利用的点。

image-20230405160549247

找到网站程序是Drupal的,那么我们看看msf中可以使用的插件,如果有的话减少了很多的工作量;

4、使用MSF,寻找Drupal利用点

![image-20230405160826998](https://cloud.c3ting.com/c3ting/image-20230405160826998.png?c3ting)

使用搜索命令搜索网站程序,发现了几个可用的点。

这里我们使用exploit/unix/webapp/drupal_drupalgeddon2

![image-20230405161059965](https://cloud.c3ting.com/c3ting/image-20230405161059965.png?c3ting)

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

![image-20230405161221769](https://cloud.c3ting.com/c3ting/image-20230405161221769.png?c3ting)

我们把缺少的目标IP地址设置一下,run运行起来就可以拿到shell了。

![image-20230405171513378](https://cloud.c3ting.com/c3ting/image-20230405171513378.png?c3ting)
4.1、发现第一个flag
	在网站根目录下面,我们发现了第一个flag1.txt,打开后发现提示我们寻找cms的配置文件。

		![image-20230405162607491](https://cloud.c3ting.com/c3ting/image-20230405162607491.png?c3ting)

	那么我们直接百度Drupal 配置文件位置,即可得到:

	settings.php

	$settings[‘file_public_path’] = ‘sites/default/files’;
4.2、发现第二flag
	打开配置文件后,再次发现提示

	![image-20230405162953078](https://cloud.c3ting.com/c3ting/image-20230405162953078.png?c3ting)

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

	![image-20230405163425969](https://cloud.c3ting.com/c3ting/image-20230405163425969.png?c3ting)

使用mysql登录进去:

		![image-20230405163555461](https://cloud.c3ting.com/c3ting/image-20230405163555461.png?c3ting)

	发现用户表users:

	![image-20230405163642769](https://cloud.c3ting.com/c3ting/image-20230405163642769.png?c3ting)

![image-20230405163709118](https://cloud.c3ting.com/c3ting/image-20230405163709118.png?c3ting)

	发现这个密码不是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';
![image-20230405164018695](https://cloud.c3ting.com/c3ting/image-20230405164018695.png?c3ting)

image-20230405164243455

4.3、发现第4个flag
	使用admin,admin登录后发现了flag

image-20230405164346705

![image-20230405164431356](https://cloud.c3ting.com/c3ting/image-20230405164431356.png?c3ting)

	提示使用:-exec来提权
知识点:suid提权
		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查看

![image-20230405170529751](https://cloud.c3ting.com/c3ting/image-20230405170529751.png?c3ting)

	发现有find可以用,那么我们试试;先新建一个文件*touch* c3ting

		find / -name c3ting -exec "whoami" \;

		![image-20230405171100977](https://cloud.c3ting.com/c3ting/image-20230405171100977.png?c3ting)

	提权成功了

5、提权成功,获取最后的flag

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

	![image-20230405171132310](https://cloud.c3ting.com/c3ting/image-20230405171132310.png?c3ting)

![image-20230405171211801](https://cloud.c3ting.com/c3ting/image-20230405171211801.png?c3ting)



	最后拿到最后的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、要会使用策略,反向思考;