VulnHub项目:MONEYHEIST: CATCH US IF YOU CAN
靶机名称:
MONEYHEIST: CATCH US IF YOU CAN
地址:MoneyHeist: Catch Us If You Can ~ VulnHub
这个系列是一部剧改编,还是挺好看的,大家有兴趣可以去看看!
废话不多说,直接上图开始!
渗透过程:
靶机ip和kali的ip

对靶机进行端口探测,老样子了
这边有21、80、55001端口,55001端口是ssh的,很明显被靶机作者改了
访问80端口,就一张图,再没有其他的发现了,好吧,开扫,看看有没有什么敏感文件目录什么的,发现了,三个目录!
gobuster dir -u http://192.168.56.138/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

依次访问查看~
robots中有一张tokyo的照片,tokyo没记错应该是个团队女成员的名字,访问,好么,图片错误了,没办法显示,那只能把它下载下来瞅瞅了!
wget http://192.168.56.138/robots/tokyo.jpeg
用hexeditor看看是不是哪里出问题了,头出问题了,将其改成FF D8 FF
科普一下图片的hex,可能在ctf-misc图片上用的到:
JPG图片头信息:FFD8FF
PNG图片头信息:89504E47
GIF图片头信息:47494638
BMP图片头信息:424D

ctrl+x保存退出
成功打开了,结果发现被戏耍了,没得有用的东西啊!


访问gate目录,下面有个exe文件,下载下来分析下,看看有没有其他信息
wget下来,看看

获得了个目录,访问出来是一张图
再没啥其他信息了,没办法,看看这个目录下有没有什么敏感的文件之类的吧
使用多个扫描器,多扫一扫,看看,自己的靶机,没事,又扫不坏
发现了登录文件
先看看源代码,底下有个奇怪的js,就它特殊,点开瞅瞅
真滴是,还想着是不是存在sql注入或者什么的,直接写在代码里了,用户名和密码得到了,直接登录

登上了,找了一大圈也没什么有用的东西,看源码吧,发现个注释
< !-- Hey! help please I'm Arturo Román they are very-dangerous and one more thing may be old things won't work they are UPDATED, please help me!!! -->
——嘿!请帮忙,我是Arturo Román他们非常危险,还有一件事可能是旧的东西不会工作,他们更新了,请帮助我!!-->
获得了个arturo用户,没找到可以getshell的地方,那就爆破一下这个用户,看看是否能够ssh

爆破成功,有了它的密码,进行ssh,这里注意下,端口不是默认的22了,是55001,需要加-p去指定端口号
登上了看到有个秘密的文本,查看
*/ Arturo gets phone somehow and he call at police headquater /*/
" Hello, I'm Arturo, I'm stuck in there with almost 65-66 hostages,
and they are total 8 with weapons, one name is Denver, Nairo.... "*/阿图罗不知怎么得到电话,他打电话到警察总部/*/
“你好,我是阿图罗,我和65到66名人质被困在里面,
他们总共有8个武器,一个名字是丹佛,奈罗....”知道了两个名字Denver,Nairo,这里的Nairo它没说完
没事,进到home里看到了这些用户目录

不出意外的话,可能进不去这些用户目录,先看看有没有suid的提权,这边发现了两个可以提权到denver等用户下的方式,一个find一个gdb
find | GTFOBins
如果不会的,可以去上面的网站里找对应的命令,这边一不小心提权到了denver

再进去看看,发现了note的文本和secret_diary文本
Denver to others:
DAMN it!!!! How Arturo gets the Phone ?
I caught him when he tried to leak our identity in police headquater!!
Now I keep him in other room !!丹佛致他人:
该死的! !阿图罗是怎么拿到手机的?
当他试图在警察总部泄露我们的身份时,我抓住了他!
现在我把他关在另一个房间!!
这个文本给了一个目录,里面提了个nairobi

访问看看,有个key.txt,说不定是nairobi的密码
下载查看,好么,摩斯密码
Modular conversion, encoding and encryption online - cryptii
这个网站可以帮助一步一步的解密出来,摩斯密码解出来时....tap code,tap code解出来是ROT13,再解是Affine cipher,最后出了个iambossbitchhere。闹呢,俄罗斯套娃!




iamabossbitchhere
切换至nairobi用户

有个note文本,一把awp狙击枪
Nairobi was shot by an snipher man, near the HEART !!
内罗毕被狙击手击中,就在心脏附近!!
再想想之前还有个提权的,提权到tokyo

gdb | GTFOBins
方式上方自己查看

成为tokyo用户,发现了提权到了admin的隐藏文件
又晚上套路了,待我定睛一看,首字母大写拿出来,就是ROOTSPASSWORD,下面是我自己尝试的密码,最后,密码就在里面

Romeo Oscar Oscar Tango Stop Papa Alfa Sierra Sierra Whiskey Oscar Romeo Delta : India November Delta India Alfa One Nine Four Seven
ROOTSPASSWORD:INDIAONFS
INDIAONFS
INDIA1947
india1947
root:india1947
切换root,提权成功,获取最终flag!

总结:
总结一下,真是一波三折,俄罗斯套娃,一层层的往外剥,洋葱一样,得细心的一点点去收集相关信息,难度其实不大,主要的还是需要多去见识其他的知识,就比如那个需要解密的,一层层的。再比如图片的hex格式问题。算是扩展知识面吧!继续加油!
继续关注,后续还有其他有趣的系列!!
相关文章:
VulnHub项目:MONEYHEIST: CATCH US IF YOU CAN
靶机名称: MONEYHEIST: CATCH US IF YOU CAN 地址:MoneyHeist: Catch Us If You Can ~ VulnHub 这个系列是一部剧改编,还是挺好看的,大家有兴趣可以去看看! 废话不多说,直接上图开始! 渗透…...
对象存储OSS简介,一分钟了解对象存储OSS
对象存储(Object Storage)是一种新兴的数据存储方式,与传统的文件系统和块存储不同,对象存储以对象为基本单位进行数据管理和存储。在对象存储中,每个对象都有唯一的标识符,并包含了数据本身以及与之相关的…...
SpringCloud_微服务基础day2(Eureka简介与依赖导入,服务注册与发现)
p6:Eureka简介与依赖导入 前面我们了解了如何对单体应用进行拆分,并且也学习了如何进行服务之间的相互调用,但是存在一个问题,就是虽然服务拆分完成,但是没有一个比较合理的管理机制,如果单纯只是这样编写,…...
#tmux# #终端# 常用工具tmux
tmux tmux是一个终端复用工具,允许用户在一个终端会话中同时管理多个终端窗口,提高了终端使用效率,尤其在服务器上进行远程管理时更加实用。在tmux中,可以创建多个终端窗口和窗格,并在这些窗口和窗格之间自由切换&…...
后端服务架构高性能设计之道
“N 高 N 可”,高性能、高并发、高可用、高可靠、可扩展、可维护、可用性等是后台开发耳熟能详的词了,它们中有些词在大部分情况下表达相近意思。本序列文章旨在探讨和总结后台架构设计中常用的技术和方法,并归纳成一套方法论。 前言 本文主…...
Python中的Time和DateTime
Python在处理与时间相关的操作时有两个重要模块:time和datetime。在本文中,我们介绍这两个模块并为每个场景提供带有代码和输出的说明性示例。 time模块主要用于处理时间相关的操作,例如获取当前时间、时间的计算和格式化等。它提供了一些函数…...
UNIX网络编程卷一 学习笔记 第十九章 密钥管理套接字
随着IP安全体系结构(IPsec)的引入,密钥加密和认证密钥的管理越来越需要一套标准机制。RFC 2367介绍了一个通用密钥管理API,可用于IPsec和其他网络安全服务,该API创建了一个新协议族,即PF_KEY域,…...
excel如何实现识别文本在对应单元格填上数据?
要实现 Excel 识别文本在对应单元格填上数据,有以下两种方法: 方法一:使用 VLOOKUP 函数 1. 在 Excel 工作表中,输入一个表格,列名为对应的文本,行名为不同条目。 2. 准备输入数据,在一个新的…...
Groovy 基本语法
一、简介 类型转换:当需要时,类型之间会自动发生类型转换: 字符串(String)、基本类型(如int) 和类型的包装类(如Integer) 类说明:如果在一个groovy 文件中没有任何类定义,它将被当做script 来处理,也就意味着这个文件将…...
系统学习IT技术的方法与实践
系统学习IT技术的方法与实践 作为一名技术人员,在学习新的IT技术时,采取系统性的学习方法是至关重要的。这样可以帮助我们更好地理解和掌握技术,并提高学习效率。下面我将分享一些我个人在系统学习IT技术方面的方法和实践。 1. 设定明确的学…...
聊聊TCP协议的粘包、拆包以及http是如何解决的?
目录 一、粘包与拆包是什么? 二、粘包与拆包为什么发生? 三、遇到粘包、拆包怎么办? 解决方案1:固定数据大小 解决方案2:自定义请求协议 解决方案3:特殊字符结尾 四、HTTP如何解决粘包问题的…...
一百二十、Kettle——用kettle把Hive数据同步到ClickHouse
一、目标 用kettle把hive数据同步到clickhouse,简单运行、直接全量导入数据 工具版本:kettle:8.2 Hive:3.1.2 ClickHouse21.9.5.16 二、前提 (一)kettle连上hive (二)kettle连上cli…...
PyTorch 提示和技巧:从张量到神经网络
张量和梯度 我们将深入探讨使用 PyTorch 构建自己的神经网络必须了解的 2 个基本概念:张量和梯度。 张量 张量是 PyTorch 中的中央数据单元。它们是类似于数组的数据结构,在功能和属性方面与 Numpy 数组非常相似。它们之间最重要的区别是 PyTorch 张量…...
第五期:字符串的一些有意思的操作
文章目录 1. 替换空格2. 字符串的左旋转3. 答案代码3.1 替换空格3.2 字符串的左旋转 PS:每道题解题方法不唯一,欢迎讨论!每道题后都有解析帮助你分析做题,答案在最下面,关注博主每天持续更新。 1. 替换空格 题目描述 请…...
使用Anaconda3结合vscode来实现django项目的建立(绝好的介绍)20230608
问题:如何使用Anaconda3结合vscode来实现django项目的建立? 回答: 知识背景 Anaconda3的安装包默认会安装最新版本的Python解释器。如果您想在安装时指定Python解释器的版本,您需要下载对应版本的Anaconda3。例如,如果您想使用Python 3.7&…...
【软件测试】软件测试的基本概念和开发模型
1. 前言 在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 2. 软件测试的基本概念 软件测试的基本概念有3个,分别是需求,测试用例和BUG. 2.1 需求 这里的需求还可以分为 用户需求和软件需求,用户…...
接口测试 —— 接口测试定义
1、接口测试概念 (重点) 接口测试是测试系统组件间接口的一种测试,它界于单元测试与系统测试中间。 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查数据的交换,传递和控制管理过…...
2015 年一月联考逻辑真题
2015 年一月联考逻辑真题 真题(2015-26) 26.晴朗的夜晚我们可以看到满天星斗,其中有些是自身发光的恒星,有些是自身不发光但可以反射附近恒星光的行星。恒星尽管遥远,但是有些可以被现有的光学望远镜“看到”。和恒星不…...
基于GD32的定时器不完全详解--定时、级联
SysTick 定时器 SysTick 是一个 24 位的倒计数定时器,当计到 0 时,将从 RELOAD 寄存器中自动重装载定时初值。只要不把它在 SysTick 控制及状态寄存器中的使能位清除, 就永不停息。 该定时器的介绍在MCU的手册中一般不会介绍,因为…...
Clion开发STM32之ESP8266系列(四)
前言 上一篇: Clion开发STM32之ESP8266系列(三) 本篇主要内容 实现esp8266需要实现的函数串口3中断函数的自定义(这里没有使用HAL提供的)封装esp8266服务端的代码和测试 正文 主要修改部分 核心配置头文件(添加一些宏定义) sys_core_conf.h文件中…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
