January 9, 2024 3:26 PM
Tags:Drupal;exim提权
Owner:只惠摸鱼
apr-scan 和 nmap 扫描C端存活主机,探测靶机ip:192.168.199.138,开放了80和22端口。
扫描开放端口的服务、版本、系统、存在的基础漏洞。
sudo nmap -sS -sV -O -sC -p 22,80 192.168.199.138 --script=vuln
没有扫出什么漏洞,有一些网站信息可以查看一下。还有就是操作系统信息。Drupal应该是7.
访问一下80端口,也没有没有太多有用的信息。
访问一下刚才扫基础漏洞扫出的目录,发现在CHANGELOG.txt有一个更新日志,CMS应该是7.67版本以上的Drupal
在/user/目录下有一个隐藏的用户登陆页面,试了一下弱密码和万能密码,都没用。
指纹识别也没有太多内容,扫一下目录吧。
目录扫描,也没有发现其他太有用的信息。
回到主页在进行寻找有用信息时,发现点击左侧的Details中的超链接时,跳转内嵌页面会有传参nid,随便输入一点指令看看什么结果。
发现它是通过查询mysql数据库执行的,且数据库语句也通过报错信息给出,发现是整数型传参,尝试SQL注入,发现可以。
测试查询列数,发现只有一项,且回显的结果在导航栏下方的提示框内。
进行联合查询注入,直接查数据库,爆出数据库为d7db
再查询当前数据库中有哪些表
nid=-1 union select group_concat(column_name) from information_schema.columns where table_name=‘shortcut_set_users’%23
发现有可能有用的表有:shortcut_set_users;users_roles;users
逐个表进行联合查询其中的字段名,看哪些表中可能有一些有用的信息。
最终只发现users表中有比较有用的信息,有用户名和密码,查一下其中的数据
得到两个用户名和密码,但密码经过加密,分别是:
需要通过john进行解密操作,将用户名和密码写入txt文档,尝试破解。
最后只爆出以恶个john的密码,尝试登陆一下之前的user页面。(成功进入)*
找一下能够上传马的地方,在edit页面,上传图片马不成功。
发现了一个可以直接写代码的页面
切换为php格式并写入一句话木马(这里写一句话木马的时候,一定不要删掉
不然会无回显,连不上,不要问我为什么知道-_-)根据提示,需要选择Confirmation page
保存后,来到Contact Us页面发送一个contact邮件,测试一句话木马是否成功。发现可以。
蚁剑连接,发现连不上。
那直接反弹shell吧
页面POST:
kali监听
成功拿到shell,转换为交互性shell
查看其他用户,只有一个用户,且发现没什么信息提供。
查看系统版本
查看SUID文件,发现有一个exim4没有见过,搜一下。
Exim4 Exim4是在剑桥大学开发的另一种消息传输代理(MTA),用于在连接到Internet的Unix系统上使用。尽管exim的配置与sendmail的配置完全不同,但是可以安装Exim代替sendmail。
搜一下有没有相关漏洞,发现可以进行提权
查看exim4当前版本号
/usr/sbin/exim4 —version
或 dpkg -l | grep exim 查看包安装情况
发现是4.89版本的exim4
用searchsploit搜一下有没有exim4 4.89版本的提权漏洞
下载到本地
searchsploit -m linux/local/46996.sh
vi打开脚本set ff=unix : 告诉 vi 编辑器,使用unix换行符。防止Linux无法识别格式,运行脚本报错。
查看tmp文件权限,准备把漏洞脚本传输到tmp文件夹内去执行。
两种方法发送漏洞脚本
第一种 使用nc命令
本地kali发送漏洞脚本
受害者接收漏洞脚本
开启监听另一个端口,通过反弹shell,新建一个终端,查看文件是否传输成功
第二种 使用python开启http-server服务,再在靶机上使用wget下载文件
kali机用python开启http-server服务
靶机使用wget下载靶机文件
修改漏洞脚本权限
运行漏洞脚本文件./4699.sh
在kali中vi漏洞脚本文件时,有看到漏洞脚本的使用提示
共有两个用法
先试试第一个./46996.sh -m setuid。失败了
再试试第二个./46996.sh -m netcat
转换为交互性shell,在/root目录下拿到flag!