靶机需要在与kali机在同一网段下:
打开DC机一个熟悉不过的界面:
欧克,那就开始吧!
获得kali的IP:
获得靶机ip:
获得靶机的端口信息:
获得端口信息,可以看到80端口的http服务
那么就看一下他的域名信息:
可以看到http://192.168.13.135
访问它:
是一个登录系统
使用sql注入的方式并没有成功,那么就只能看其他的信息,查看它是否存在插件等
可以看到一个插件:Drupal 7
搜索一下这个插件的信息:
Drupal 7是一个开源的内容管理系统(CMS),用于创建各种类型的网站,如博客、社交网络、企业门户和电子商务等。它基于PHP编程语言和MySQL数据库,并支持模块化的体系结构,使用户可以根据需要自由扩展和定制功能。
是一个cms的插件,那么就可以查看一下可不可以使用这个插件找到漏洞:
开启msfconsole:
查找:
search Drupal 7
看来就可以使用,kali自带的漏洞数据库进行渗透
通过查阅资料得知,可以使用exploit/unix/webapp/drupal_drupalgeddon2:
打开后的是这样的,然后将其修改,添加渗透的IP:
然后运行这个脚本:
进行查看信息:
Python -c "import pty;pty.spawn('/bin/bash')"
可以看到获得shell,发现了flag1.txt查看它:
开启shell进行交互:
翻译结果:每个优秀的内容管理系统都需要一个配置文件,您也不例外。
那就进行一下shell的交互:
搜索一下
Drupal的默认配置文件:
搜索它,并找到php的文件内容:
可以看到mysql的passwd 和用户名
连接mysql: mysql -udbuser -pR0ck3t
可以看到,连接成功了
搜索数据库:show databases;
使用库 drupaldb并查找表名:
可以看到一个users表名:
查看他的内容:
可以看到最主要的部分是pass和name,那么就看单独挑出来:
可以看到密码和用户admin
经过查找发现密码是一个加密的哈希密码
好像破译很难,但是,可以使用sql数据库的更改功能将密码修改为一个明文知道的密码
update users set pass='$S$DVij9pvxENxl/jqEI6/djAN6zvbsQtWC.0ZlAiUoHiX4RaBpEAjp' where name = "admin";
'$S$DVij9pvxENxl/jqEI6/djAN6zvbsQtWC.0ZlAiUoHiX4RaBpEAjp'这串密码的意思就是666666
可以进行修改:
查看是否成功:
可以看到修改成功了
登录看看:
登录成功了,查看一下内容:
将其翻译:
特殊权限将有助于查找 passwd 文件,但您需要使用 -exec 命令来确定如何获取 shadow 文件中的内容。
需要用到-exec,而且还需要提权:
但是看到了passwd,那就取看一下etc下的passwd:
看到了flag4:查看一下那个文件:
可以看到
这个提示了要进入root用户但是
并不是root使用还行需要进行提权:
使用find / -perm -u=s -type f 2>/dev/null查看一下拥有suid的命令:
看到了find,find具有提权功能:
可以看到具有s权限,可以进行提权,进入家目录进行提权
可以看到进行了一次提权后并不是root用户,于是再次下使用该命令,再次尝试:
发现已经拿到了root权限
然后在root下获得flag:
完成!!!!