好久没打靶机了,随便下了一个靶机地址 https://www.vulnhub.com/entry/darkhole-1,724/
ip为192.168.1.9
常规信息收集
1:IP是已知的扫描下靶机端口
开着常规端口首先访问下80吧
2:
做的还不错 F12也没发现什么就一个登录页面
3:接着扫描目录一下
config看一看有什么好东西
但是没有什么有用的,upload就一张图,看来只能从登录页面利用了
逻辑缺陷
4:登录页面有一个注册,注册一个看看
这链接有点意思测试一下是否有sql注入,好家伙果然没有,但是我发现存在一个id=1的这可能就是管理员账户,但是看到靶机提示过别尝试暴力破解那么还得另辟蹊径
往旁边一看旁边还有一个修改密码的看到这让我想到了逻辑漏洞,我去试了试注册admin这个账户好家伙存在那我的试试改它的
一波三折
5:打开Burp 测一把
成功
好家伙起飞了这不得getshell
上传一句话木马
然而我哭了
这啥玩意还刁难我呢
我改你个后缀试试
还是不行
残忍,我再改改加个我上个shell.php1
成功了
但是感觉不妙啊这直接显示出来,果然不执行,那么就得使用php-reverse-shell来反弹一个shell,那么后缀是php加数字肯定是不行的那么试试phar试试
这个phar文件会在打开后执行然后反弹一个shell那么我们kali监听
nc -lvp 4444
直接拿到shell
提权
6:现在权限还是很低的下面就得提权了
先获得一个交互式的shell吧
python3 -c 'import pty;pty.spawn("/bin/bash")'
发现了类似于账户密码的文件但是没有权限
看了看suid也没有可以利用的,只有采用环境变量提权了
echo 'bash' > /tmp/id;chmod +x /tmp/id; export PATH=/tmp:$PATH
这里直接得到了john的权限
这样即可打开password文件
这样拿到了密码了
打开user.txt就一句鼓励的话
那么这个密码肯定就是john的密码了
ssh连接上
7:拿到权限后还是那些文件
但是存在这个file.py文件而且是空的那么久好办了直接写入执行提权
echo 'import os;os.system("/bin/bash")' > file.py
执行
但是存在个问题没反应啊难道是没加sudo
好家伙路径又不允许那我从home开始吧
成功拿下root权限
疑问
后面我也访问了这个toto文件
发现是乱码的,大致就是输出了这台靶机当前用户拥有的权限