GoldenEye-v1(vulnhub)靶机练习实践报告

GoldenEye-v1****靶机练习实践报告

一、安装靶机

靶机是.ova文件,需要用VirtualBox打开,但我习惯于使用VMWare,因此修改靶机文件,使其适用于VMWare打开。

解压ova文件,得到.ovf文件和.vmdk文件。

img

用记事本打开.ovf文件并修改“vssd:VirtualSystemType”为自己的VMWare版本,此处我用的是是vmx-15.5.1。

img

打开靶机后,用nmap工具竟然扫不到ip,排查下来该靶机默认网络连接方式是“主机模式”,修改为“NAT模式”即可。

二、夺旗步骤

第一步:IP扫描,端口扫描

img

img

我们看到该靶机的80端口打开,因此在浏览器中访问,提示导航到/sev-home/,导航过去,提示输入用户口令。

img

没有头绪如何处理就去看源码,果然在terminal.js里面看到了提示,HTML编码的“InvincibleHack3r”密码解码后是“InvincibleHack3r”,注释中还提到”Boris用默认密码”,这一串密码也不像是默认密码,可能是提示其他地方。

img

使用口令“Boris:InvincibleHack3r”登陆,竟然错误,这里还有一个小坑需要注意,用户名是“boris”。登陆后又有提示,pop3服务部署在大端口上,结合nmap扫描结果,猜测是端口55006,55007。

img

查看网页源码,又看到一个藏在注释里的提示,pop3的用户名由两个“Boris”和“Natalya”。

img

前面注释中提示boris用的是默认密码,用字典库跑一下试试。爆破出pop3服务的两组用户口令,“boris:secret1!”、“Natalya:bird”。

img

用Foxmail登陆boris和Natalya的邮件账户,下图中端口显示不全,其实是55007和55006.

img

img

查看邮件内容:

img

直接访问”http://severnaya-station.com/gnocertdir”报错。

img

仔细看提示,发现还需要修改hosts文件。

img

然后用口令”xenia:RCP90rulez!”登陆。发现名为doak的人让Xenia发邮件给他,还不是”@contrax.mil”这个邮件服务器,难道是POP3?

img

再次尝试爆破,又获取一对用户口令”doak:goat”。

img

查看邮件,获取另一个人在“http://severnaya-station.com/gnocertdir/”网站的登陆口令。

img

登陆后找到s3cret.txt文件,定位到关键路径”/dir007key/for-007.jpg”。

img

访问该图片未发现任何信息,将图片下载。Strings查看图片是否隐写字符串,发现一个很像base64的字符串,解码后得到密码”xWinter1995x!”。综合上面提示,得到该网页的一个用户口令”admin:xWinter1995x!”。

img

登陆后查看,未发现有更多的提示信息提供。但发现该网站是开源的在线学习教育平台,且版本为2.2.3,Build 20120514搜索一下这个框架开辟新思路。

img

去https://www.exploit-db.com/搜索moodle,发现3个可利用的模块。其中Moodle3.4.1 Remote Code Execution是php编写,无法在Metasploit中直接利用,不考虑;Modle 3.6.3在metasploit中无法找到,自行将该文件添加到metasploit模块中。这里有个小技巧,Tile(MeTasploit)是Metasploit可直接利用的模块。

img

复制rb文件到指定目录后,重启msfconsole,并reload_all重载所有模块,再次搜索即可查到该模块。

img

利用该模块失败,考虑Moodle-Remote Command Execution,直接利用还是失败。

img

又卡住了,看漏洞介绍。

img

Exp中的设置PSpellShell和后台配置看到的spellengin好像有区别。

img

img

我先将exp中的PSpellShell修改为Google Spell,执行失败。又尝试将后台配置修改为PSpellShell,成功!

img

给Boris的邮件告诉我们,目标在root目录下的隐藏文件,可我们无法进入root目录。需要提权。查看靶机的操作系统版本

在这里插入图片描述

在exploit-db上下载exp,然后再kali机器上开一个http服务,然后再目标机上用wget下载,目标及下载后必须放在/tmp目录下,放在其他目录下提示“Permission deny”。

img

img

然后编译C文件,没有gcc就用clang替换,修改exp中的“gcc”为“clang”即可。

img

提权成功,注意目标再/root/下的隐藏目录。

img

Flag获取。

三、总结

\1. 观察一定要仔细

\2. 熟练使用工具

\3. 看到网站后要考虑其用了什么框架,是否存在漏洞可被利用;查看网页源码,是否又隐藏信息。

\4. 扩展知识面,对各种框架及其可能存在的漏洞进行总结整理。

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

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

相关文章

Element Plus 快速入门

Element Plus 快速入门 Element Plus 是一个基于 Vue 3.0 的桌面端组件库,它包含了丰富的组件和实用的工具,可以帮助开发者快速构建 Vue 3.0 应用。 安装 首先,我们需要在项目中安装 Element Plus。在终端中运行以下命令: npm…

gmssl vs2010编译

1、虚拟机win10 x64,离线安装vs2010和2010sp1补丁; 2、安装ActivePerl_v5.28.1.0000和nasm-2.16.03-installer-x64均是默认完整安装; nasm官网下载: Index of /pub/nasm/releasebuilds/2.16.03/win64https://www.nasm.us/pub/nas…

Unity 之 Android 【获取设备的序列号 (Serial Number)/Android_ID】功能的简单封装

Unity 之 Android 【获取设备的序列号 (Serial Number)/Android_ID】功能的简单封装 目录 Unity 之 Android 【获取设备的序列号 (Serial Number)/Android_ID】功能的简单封装 一、简单介绍 二、获取设备的序列号 (Serial Number) 实现原理 1、Android 2、 Unity 三、注意…

九型人格介绍

协调型人格 作为“好好先生”的何炅是典型的协调型人格者,他总是将大家的利益放在第一位,很少顾及自己的感受;当他周围的人产生冲突时,他总是力图找到一个有利于双方的解决方案;本着息事宁人的态度,他对利益的追逐和向往很低&…

gem5模拟器入门(一)——环境配置

什么是gem5? gem5是一个模块化的离散事件驱动的计算机系统模拟器平台。这意味着: GEM5 的组件可以轻松重新排列、参数化、扩展或更换,以满足您的需求。它将时间的流逝模拟为一系列离散事件。它的预期用途是以各种方式模拟一个或多个计算机系…

掌握并发控制的“急刹车”艺术!

当一个线程运行时,另外一个线程可以直接通过interrupt方法对其设置中断标志位。 判断线程是否中断的2个方法: // 判断目标线程是否被中断,不会清除中断标记。 Thread.currentThread().isInterrupted() // 判断目标线程是否被中断,…

【职业教育培训机构小程序】教培机构“招生+教学”有效解决方案

教培机构“招生教学”有效解决方案在数字化转型的浪潮中,职业教育培训机构面临着提升教学效率、拓宽招生渠道、增强学员互动等多重挑战。小程序作为一种新兴的移动应用平台,为解决这些痛点提供了有效途径。 一、职业教育培训机构小程序的核心功能 &…

Laravel 图片添加水印

和这个配合使用 Laravel ThinkPhP 海报生成_laravel 制作海报-CSDN博客 代码 //水印 $x_length $imageInfo[0]; $y_length $imageInfo[1];$color imagecolorallocatealpha($posterImage, 255, 255, 255, 70); // 增加透明度参数alpha$font_size 40; //字体大小 $angle …

HTML静态网页成品作业(HTML+CSS)——家乡沅陵介绍网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

条款9:利用destructors避免泄露资源

对指针说拜拜。承认吧,你从未真正喜欢过它,对不? 好,你不需要对所有指针说拜拜,但是你真的得对那些用来操控局部性资源(local resources)的指针说莎唷娜拉了。 举个例子,你正在为“小动物收养…

Flutter 中的 CircularProgressIndicator 小部件:全面指南

Flutter 中的 CircularProgressIndicator 小部件:全面指南 在 Flutter 应用开发中,加载指示器是提供用户反馈的重要组成部分,特别是在需要等待数据加载的场景中。CircularProgressIndicator 是 Flutter 提供的一个表现圆形加载动画的小部件。…

Python进阶:探索Python标准库和第三方库

在前两篇文章中,我们介绍了Python的基本语法和面向对象编程。在这篇文章中,我们将深入探索Python的标准库以及一些常用的第三方库。Python的强大之处不仅在于其简洁的语法,还在于丰富的库生态系统。通过使用这些库,你可以更高效地完成各种任务,从文件操作到数据分析、网络…

godot4.2 + GDextension c++在 vs code 中断点调试配置

游戏开发中如果做不到自己编写的代码做断点调试,无不是瞎子摸象,特别是C这么底层的语言。这2天开始在VS studio中折腾,一直折腾不出结果,几次想要放弃GODOT。最终今天在VS code中搞定了这断点调试C代码。 在上一篇文章我已经做好了…

React hooks - useContext

useContext 用法使用以非侵入的方式使用 Context使用 useContext 重构 useReducer 案例 用法 实现多层组件的数据传递 在全局创建 Context 对象在父组件中使用 Context.Provider 提供数据在子组件中使用 useContext 使用数据 import React, { useContext } from react // 全局…

全网爆火Remini 粘土滤镜风格,我用ComfyUI一键生成了(保姆级教程)!

一、火爆全网的Remini! Remini真的火爆了!最近大家的朋友应该都被粘土滤镜刷屏了。 小红书上粘土滤镜、粘土特效的帖子动不动就是几百万浏览量,几千赞。 在有些电商平台上还有人接单,帮忙定制remini粘土风格的照片! …

解释浏览器缓存和本地存储的区别,以及如何实现事件的防抖和节流

1:浏览器缓存和本地存储的区别: 浏览器缓存:浏览器缓存是一种临时性的数据存储,用于提高网页加载速度。缓存的数据存储在内存或磁盘中,当用户再次访问相同的资源时,浏览器会优先从缓存中读取数据,而不是从服务器重新请求。缓存的数据可以在浏览器关闭后自动清除,或者根据 HTT…

vue+three.js实现3d系统的搭建

1.首先node.js是12.22版本的,安装three.js可以参考这篇文章 直接用Threejs入门-安装教程_安装three.js-CSDN博客 直接在终端安装three.js即可 npm install --save three 在相同目录下安装vite构建工具 npm install --save-dev vite 在项目里面看package.json中…

神秘顾客调查:第三方渠道监测如何操作?

第三方渠道监测是指通过专业的第三方机构或服务商,对企业的销售渠道进行系统化的监督和评估。这种监测帮助企业了解各渠道的表现,确保合规性,提升市场竞争力。深圳神秘顾客市场调查限公司(SMS)总结了第三方渠道监测的操…

【安装笔记-20240528-Linux-在 Vultr 云服务器上安装 OpenWRT】

安装笔记-系列文章目录 安装笔记-20240528-Linux-在 Vultr 云服务器上安装测试 OpenWRT 文章目录 安装笔记-系列文章目录安装笔记-20240528-Linux-在 Vultr 云服务器上安装测试 OpenWRT 前言一、软件介绍名称:OpenWRT主页官方介绍 二、安装步骤测试版本&#xff1a…

多function-calling 调用

多function-calling 调用 接上一篇function-calling调用,本篇实现了一个多function-calling的调用。OpenAI会根据function的描述自己来判断应该调用哪个function。最终调用function的动作是由我们来决定的,当然你也可以不调对应的函数。 两个函数分别是…