一、信息收集
1、主机探测
arp-scan -l
探测同网段
2、端口扫描
nmap -sS -sV 192.168.66.136
这里三个端口,有个ssh可能会爆出来,80端口访问,先后台扫描目录
3、目录扫描
OK,目录扫描出来了,我们挨个访问,其实这里指纹扫描一下就可以
4、指纹探测
二、外网打点
1、端口访问
这里一个页面,估计是弱口令,爆破一下然后后台扫描一下目录
1、漏洞利用
漏洞查找,这里Drupal7是存在历史漏洞的,我们找下相关exp这里偷个懒,就是Drupal存在一个cve-2018-7600漏洞。可以自行去复现这个漏洞,原因是其中一个函数对数据未过滤造成的命令执行,最后控制服务器
漏洞原理
Drupal在渲染这些"数组"时,将其中的数据未经安全过滤传入到doRender函数中。
以下是doRender函数调用call_user_func_array函数的代码片段:
该方法取出"可渲染数组"#lazy_builder的值,未经过滤直接传入call_user_func_array函数,导致恶意代码被执行。
漏洞利用
攻击链路还原如下: 黑客在"可渲染数组"中插入构造恶意代码,如: mail[#post_render][]=恶意代码 通过POST方法将含有恶意代码的"可渲染数组"提交到drupal系统中。 页面渲染流程中,"可渲染数组"中携带的恶意代码依次经过buildform->uploadAjaxCallback->renderRoot->doRender方法。 最终doRender方法将"可渲染数组"中的恶意代码取出,传入call_user_func函数,导致恶意代码被执行,成功触发漏洞,网站沦陷。
2、拿shell
这里我就用msf偷懒了 use exploit/unix/webapp/drupal_drupalgeddon2 用这个模块,这个是2018年的命令执行,如果不知道选择哪个就看看他的exp,看看版本是否对应就行了 设置好ip就可以了,show options看看他的配置即可
这里就已经拿到shell了,接下来就提权就行,然后看看内核之类的,DC-1的话不会太难,可以试试脏牛,先拿tty模块去修复shell
3、隧道搭建
这里拿nc去连接一下吧,我总感觉msf的shell不太好维持 这里拿tty反弹shell,这样我们kali就拿到shell了
4、提权
这里有个flag1.txt文件给了提示 Every good CMS needs a config file - and so do you.
这里使用SUID提权,我们找一下高权限文件 find / -perm -u=s -type f 2>/dev/null这里有find和ping等等,我们利用这些来提权 -exec "/bin/sh" ; find命令后面接这段命令即可
find / -name index.php -exec"/bin/sh" ;
使用find命令查找index.php文件,然后使用exec来弹当前程序文件权限的shell,就是shell继承了find权限。
提权成功
原文始发于微信公众号(泷羽Sec-朝阳):DC-1,一台和蔼可亲的靶机。Drupal7,msfcve-2018-7600漏洞利用,隧道建立,SUID提权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论