【THM】Mr Robot CTF练习

news/2024/11/14 12:47:33/文章来源:https://www.cnblogs.com/handsomexuejian/p/18308296

【THM】Mr Robot CTF练习

基于电视剧《黑客军团》,你能得到这个靶机的根权限吗?

img

你能得到这台黑客军团风格靶机的根权限吗?这是一个适用于初学者/中级用户的虚拟机。机器上有 3 个隐藏的钥匙,你能找到它们吗?

感谢 Leon Johnson 创造了这台靶机。本机器在创建者的明确许可下在此处使用 ❤️

image-20240717172531106

钥匙1是什么?

第一步

端口扫描

nmap -Pn -sV -T4 10.10.50.183

image-20240717172904350

可以发现目标开放了3个端口:22/tcp ssh服务、80/tcp http服务、443/tcp ssl加密协议服务

第二步

访问网站

我们先进入网站看看界面

image-20240717175050186

你好,朋友。如果你来了,你来是有原因的,你可能还无法解释,但你的一部分已经厌倦了这个世界。。
一个决定你在哪里工作、见谁以及如何清空和填补你令人沮丧的银行账户的世界。即使是你用来阅读这篇文章的互联网连接也在让你付出代价,慢慢地蚕食你的存在。有些事情你想说。很快我会给你一个声音。今天,你的教育开始了。

我们可以你在这假的命令行可以输入一些命令,我们一一尝试:

prepare:循环播放黑客军团的预告片

image-20240717175347055

fsociety:放一段电视剧场景后循环回到命令行

image-20240717175555917

inform:展示一些通知图片

image-20240717175649919

question:展示一些谜题

image-20240717175730245

wakeup:放一段梦醒的视频后黑屏

join:mr.robot会邀请你加入他

image-20240717175936326

应该是在还原电视剧中的场景,我们接着深入。

第三步

信息收集

我们先看看网页的源码里面会不会藏了什么东西:

image-20240717180204253

没啥有用的。

再优先查看robots.txt来看看这个网站会不会有什么见不得人的文件,发现了这个页面:

image-20240717180252995

发现fsocity.dic文件和第一个钥匙,立刻跳转查看第一个钥匙:

image-20240717180352216

image-20240717180430176

钥匙2是什么?

第一步

利用上一题给出的线索

访问fsocity.dic文件,页面自动下载了.dic文件:

image-20240717180630882

使用命令查看文件内容:

cat fsocity.dic

image-20240717180834100

可以猜测这个字典文件记录了fsocity组织里面成员的相关信息。(我没看过《黑客军团》)

第二步

继续信息收集

使用gobuster工具扫描网站目录:

gobuster dir -u http://10.10.50.183 -w Filenames_or_Directories_All.txt

image-20240717185917617

我们可以看见扫描出了很多目录和文件,去掉状态码为4开头的,我们一个个尝试

/js Forbidden

/images Forbidden

/css Forbidden

/index.php 主页面,没啥看的

/admin 页面像抽了风一样一直在刷新,我们查看下页面源码跟主页面一模一样,

/license.txt image-20240717185936844

/favicon.ico 应该是图标一类的东西

image-20240717190119767

/login 跳转到了wp-login.phpimage-20240717190203688

/image

image-20240717190252261

/feed 自动下载了前端文件,我们可以查看其内容:

image-20240717190436718

/blog Forbidden

/readme

image-20240717190531021

/video Forbidden

/rss 又一个前端文件:

image-20240717190708861

/Image 同/image

/audio Forbidden

/0

image-20240717190910343

/sitemap

image-20240717190939921

/intro 视频文件

/dashboard 跳转后到/login.php

/atom 前端文件:

image-20240717191148423

/sitemap.xml.gz 空文件

/IMAGE 同/image

第三步

利用已有信息走出下一步

我们发现了一个登录页面以及博客,并且登录页面用了经典的WordPress博客框架。

我们进入/wp-login.php的登录页面,随便输个用户密码试试:

image-20240717191722656

报错:无效的用户名。只要是有效的用户名应该就不会报错,我们可以通过这个报错信息来爆破出正确的用户名。

通过攻击机火狐浏览器的代理插件连通Burp Suite,开始抓包:

image-20240717191926030

image-20240717192105533

第四步

爆破用户名

使用Burp Suite的Intruder爆破模块,设置用户名为注入点,payload就选择之前找到的fsociety.dic,开始爆破:

image-20240717192527425

image-20240717192507504

image-20240717192449733

爆破结束后,我们根据响应报文的长度的不同,从而找到了正确的用户名:

image-20240717192715953

尝试登录,密码错误:

image-20240717192840153

第五步

爆破密码

故技重施,我们再重复上一步的步骤,不过这一次的注入点是密码:

image-20240717193245732

发生了一件很尴尬的事,这个攻击机的Brup Suite不知道是不是社区版还是什么原因,爆破的速度非常非常慢:

image-20240717193619795

这样的话就不得不换一个工具了,另一个常见的密码爆破工具就是大名鼎鼎的hydra

个人不是很会用hydra,这里给出一篇使用hydra的文章:Hydra(爆破密码)使用方法 - GoodGad - 博客园 (cnblogs.com)

以后会了我会做出更多的补充.

最后我的目光移向了WPscan工具,这可是专门攻击WordPress框架的工具啊!(以后专门写一篇)

于是我们使用以下命令:

wpscan --url http://10.10.50.183/wp-login.php --usernames Elliot --passwords fsocity.dic

悲报,这个字典实在是非常的长,已经跑了将近20分钟了还是没有跑出正确密码,不知道该怎么做,只好看大佬的WP了:【THM】Mr Robot CTF-练习 - Hekeatsll - 博客园 (cnblogs.com)

这样我们就得做减法了,使用以下命令对字典内容进行排序并去除重复:

sort fsocity.dic | uniq > fsocity_sorted.dic

sort 内容排序

uniq 去除重复内容

可以发现字典内容从80000多缩短至11451(如果有Burp Suite专业版就方便了...)很快我们爆破出了密码:

image-20240717201326896

(这里靶场过期了忘了续期所以靶场重开了,下文的靶场IP地址将会发生改变......)

image-20240717202613797

成功登录,后台的管理页面可以利用的东西有很多,让我们快速寻找!

第六步

更改后台php文件配合反弹shell

后台这里有搭建博客界面的脚本以及一些php文件,我们可以任选其一文件更改为反弹shell的php文件,这样在我们访问这个php文件时我们就可以接收到反弹shell

image-20240717203012498

利用反弹shell地址:php-reverse-shell/php-reverse-shell.php at master · pentestmonkey/php-reverse-shell (github.com)

将404.php更改为反弹shell的php:

image-20240717203352178

开始监听1234端口(按文件里的配置来监听),然后访问404.php就好了。

(悲报,我找不到404.php在哪,其他的也找不到!!!再次查看大佬博客明白了)

WordPress站点的大多数主题位于 /wp-content/ 目录下,主题相关内容则位于 /wp-content/themes/ 目录下;根据我们之前所修改的php文件所对应的主题名称,可知404.php文件位置在 http://10.10.124.195/wp-content/themes/twentyfifteen/404.php ,打开浏览器访问 404.php文件即可。

image-20240717203719219

成功得到SHELL,使用以下命令使初始shell稳定化:

python -c "import pty; pty.spawn('/bin/bash')"

启用python交互式

第七步

寻找文件

一顿操作猛如虎,最终发现第二个钥匙只允许robot用户读取:image-20240717204029277

但password.raw-md5却是任何人都可以读的,于是我们读取该文件:

image-20240717204208628

这是robot的用户名和密码的MD5值,我们立刻解密看看!

image-20240717204307679

换个网站......

image-20240717204340499

解出了密码是abcdefghijklmnopqrstuvwxyz

登录试试:

image-20240717204429639

成功了,立刻读取文件,得到第二个钥匙!

image-20240717204507130

image-20240717204626933

钥匙3是什么?

第一步

继续深入

最后的钥匙必定在root文件夹里面了,我们先看看robot有什么权限:

image-20240717204911903

看不了,那就换一个方式,输入命令

find / -type f -perm -04000 -ls 2>/dev/null

find /find是一个用于搜索文件和目录的命令。/表示从根目录开始搜索,即搜索整个文件系统。

-type f:这指定了文件类型。-type f表示只搜索普通文件(不包括目录、链接等其他类型的文件)。

-perm -04000:这指定了文件权限。-04000表示查找设置了SUID(Set User ID)权限位的文件。SUID是一种特殊的权限,它允许用户以文件所有者的权限执行文件,而不是以用户自己的权限。

-ls:这个选项告诉find命令在找到文件后列出文件的详细信息,类似于ls -l的输出格式。

2>/dev/null:这个部分用于将标准错误(stderr)重定向到/dev/null,即忽略所有错误信息。这样可以避免在搜索过程中由于权限不足或其他问题而产生的错误信息干扰输出结果。

列出目标机中设置了 SUID 位的程序:

image-20240717205341822

我们在GTFOBins寻找有没有能够获得root权限的程序

找到了:

image-20240717205545797

image-20240717205804177

有了root权限,立刻查看root文件夹

image-20240717205906226

终于得到了第三个钥匙!!!

补充

看了别人的WP发现/license.txt目录下如果查看源码会发现隐藏的账号密码所以我看了下......

image-20240717210319573

image-20240717210402737

信息收集需要仔细......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745437.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitee入门_如何上传文件

前提条件: 1,已经安装完git相关环境 2,在gitee上已经创建完仓库 1,初始化本地仓库 在本地新建一个文件夹,点击鼠标右键,选择git bash在打开后输入代码: git init 2,同步文件 打开gitee,选择自己的仓库,复制输入: git remote add origin 此处粘贴然后再执行上述图片…

EtherCAT总线耦合器:在Codesys里进行IO组态案例

远程IO模块:EtherCAT总线耦合器XD7000实现工业自动化中主控制器与设备间实时数据交换,支持监控和控制功能。配置涉及多个步骤,确保数据准确性和实时性。其高速通信、无缝连接和广泛适应性为机器人和自动化设备行业提供可靠技术支持。EtherCAT总线耦合器:在Codesys和Twincat…

膜片钳的基本概念—电压钳原理详解

什么是电压钳在膜片钳技术出现之前,其实就存在电压钳技术,他的原理是通过向细胞内注射变化的电流,抵消离子通道开放时所产生的离子流,从而将细胞膜电位固定在某一数值,即钳制电压,记录电流。通俗点就是,将细胞上的电压保持为一个我们设定的电压值,同时记录跨膜电流。作…

LangChain补充五:Agent之LangGraph的使用

一:LangGraph入门 https://www.51cto.com/article/781996.html https://blog.csdn.net/weixin_41496173/article/details/139023846 https://blog.csdn.net/wjjc1017/article/details/138518087 https://langchain-ai.github.io/langgraph/ https://langchain-ai.github.io/la…

LangChain补充四:Agent知识点和案例补充

https://www.alang.ai/langchain/101/lc07 一:基本流程和概念 (一)概念 LangChain Agent的核心思想是,使用大语言模型选择一系列要执行的动作。 在Chain中,一系列动作是硬编码在代码中的。 在Agent中,大语言模型被用作推理引擎,以确定要采取的动作及其顺序。 它包括 3 个…

2024-07-17 如何在vscode部署你的代码块,从而在新建页面时能快速搭建模板(windows环境)

步骤一:打开vscode,按住ctrl+shif+p唤出命令窗口 步骤二:在窗口中输入命令,并回车Preferences: Open User Snippets 对,就是这个代码片段,接着输入你想添加代码的某某语言or脚本,比如我要添加vue的代码片段输入vue,回车,会显示vue.json文件出来给你更改,我的是这样 注…

[题解]POJ3675 Telescope——求多边形与圆相交部分的面积

POJ3675 Telescope 题意简述 多测。每次给定一个\(N\)边形(保证相邻输入的顶点在多边形上也是邻接的),再给定一个以\((0,0)\)为圆心,半径为\(r\)的圆。 请计算出多边形和圆相交部分的面积(保留\(2\)位小数)。\(3\le N\le 50\) \(0.1\le r\le 1000\) \(-1000\le x_i,y_i\l…

【专题】2023中国机器人产业分析报告PDF合集分享(附原数据表)

原文链接:https://tecdat.cn/?p=34144 原文出处:拓端数据部落公众号 仿生机器人作为一类结合了仿生学原理的机器人,具备自主决策和规划行动的能力,正逐渐进入大众视野。它们的核心技术要素包括感知与认知技术、运动与控制技术、人机交互技术和自主决策技术。 阅读原文,获…

Splay 学习笔记

Splay 树, 或 伸展树,是一种平衡二叉查找树,它通过 Splay/伸展操作 不断将某个节点旋转到根节点,使得整棵树仍然满足二叉查找树的性质,能够在均摊 O(\log N) 时间内完成插入,查找和删除操作,并且保持平衡而不至于退化为链。 Splay 树由 Daniel Sleator 和 Robert Tarjan …

redis学习-12(实现分布式锁、消息队列、缓存一致性问题、单线程快的原因、跳跃表)

引用以下内容: redis实现分布式锁:Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案) Redis实现分布式锁的7种方案,及正确使用姿势! redis实现消息队列Redis 的学习教程(十)之使用 Redis 实现消息队列 缓存一致性问题 想要保证数据库和 Redis 缓存一致性,推荐…

数据的运算(上)

逻辑门电路多路选择器和三态门加法器 一位全加器并行进位加法器

idea开发工具配置git,连接到gitee远程仓库

1. 打开idea,Settings里找到如下位置,正常idea会自动找到git,test测试,显示版本号说明正常 2. 创建本地Git仓库,默认就是当前项目路径, 不要修改,直接创建 3. 创建后自动识别出待提交的文件,输入说明,提交,提交后让输入git名称和邮箱,设置并提交,提交成功。我这个项…