VulnHub项目:Nagini

news2025/1/10 23:51:54

1、靶机地址:

HarryPotter: Nagini ~ VulnHub

本篇为哈利波特死亡圣器系列的第二部,该靶机中存在3个魂器,依次找到它们,摧毁它们!

2、渗透过程

首先收集靶机ip和确定攻击机ip,同时探测靶机开放端口

 存在22、80端口,访问80端口发现了一张图,再无其他信息,常规思路,是进行目录爆破,看是否存在一些有用的敏感信息或目录!

可以使用多个扫描器,进行扫描看看

gobuster dir -u http://192.168.56.144/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html

扫描结果发现了note.txt,joomla框架,利用joomscan进行扫描发现了一些列信息 

 

 

 

发现了administrator后台登录,还有前端的登录 ,还有一个配置文件的备份,一般来说里面都是有用户名和密码的。

 将该文件下载查看,发现了mysql的用户登录名goblin

再没有什么其他信息,访问note.txt,发现了提示,该提示是让我们用http3进行访问,这边得进行下面的安装操作,才能实现http3访问

按照如下步骤,基本没什么问题

apt-get update                #更新数据源列表
apt install cargo             #安装cargo组件
apt install cmake             #安装cmake组件
apt purge rustc               #卸载系统自带的rustc
apt-get install git            #安装git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh   #重新安装最新版本的rustc
执行完上面选择1
source $HOME/.cargo/env       #执行环境变量

git config --global url."https://gitclone.com/".insteadOf https://  #git加速,用这个可以解决git克隆连接延时的问题
git clone --recursive https://github.com/cloudflare/quiche    #下载quiche
cargo build --examples        #运行cargo默认实例的文件
cargo test                    #检查前面所有安装命令
cd  /quiche/target/debug/examples
./http3-client https://192.168.56.144     #利用http3的客户端去访问目标靶机

 

 

 用http3-client 访问靶机,获得了源码,其中含有了一个路径

 访问后发现是一个搜索框的样子,进行简单尝试

 

 猜测可能会有ssrf漏洞,利用gopher协议进行本地访问

 返回了本地的web界面

 再用file协议进行读取

 读取成功,确定,是存在ssrf漏洞,该漏洞可以探测内网情况

接下来就要利用一个gopher的工具,该工具可以构造payload,进行ssrf攻击 

  git clone https://github.com/tarunkant/Gopherus.git

运行该工具,其中的mysqlusername在之前备份文件中看到过,goblin,下面是要操纵数据库的指令,一般都是进行查看数据库名,查看表,查看表内容等等 

 这里如果输入后,未出结果,可以刷新几次,就可以看到

 数据库名为joomla,然后重复刚才的操作,探测表名

 找到joomla_users表

 下一步就是拿其中的数据了

 发现了用户名site_admin,密码是经过加密的

 site_admin

$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay

这个密码如果暴力破解的话会很费时,那么就换个思路,我们将它的密码给它修改了,在kali本地生成个123的加密密文 

echo -n "123" | md5sum

202cb962ac59075b964b07152d234b70

 

 然后利用工具,输入数据库修改密码的语句,将密文替换它的密码

 然后将payload执行,修改成功

 这时,我们用site_admin用户,和我们修改的密码123进行登录

 啪的一下,很快啊,我们就登录成功了,登录成功后,下一步就是反弹shell了,对于这类的框架,有个常用的方法就是利用他们的主题,对主题中的文件进行修改,然后访问主题文件,本地监听,即可反弹shell

 

 

 利用kali自带的reverse_tcp_shell文件,讲里面的ip改为kali的ip,端口随意

 

然后随便找主题里的一个文件,复制粘贴进来保存

 本地开启监听

访问刚才修改的文件 

 http://192.168.56.144/joomla/templates/beez3/index.php

 反弹回一个shell

找了半天,发现了第一个魂器 

 

 horcrux_{MzogU2x5dGhFcmlOJ3MgTG9jS0VldCBkRXN0cm9ZZUQgYlkgUm9O}

在home中发现用户赫敏,也看到了第二个魂器,但是有权限,无法读取 

 还有个斯内普的文件,发现了类似于密钥的文件,还是base64编码了

 

 解码出来是爱莉莉,那就用斯内普远程连接一下,连接成功

 看看有没有什么可以提权的方式,发现了赫敏存在这个执行文件,利用这个执行文件可以提权成赫敏

看它那个su_cp不禁的联想到了,向它的文件中写入自己随便生成的ssh密钥,来,我们本地生成一个 

一路回车,这里就相当于免密了,讲生成的公钥上传到斯内普下 

 

 然后,利用赫敏文件中的可执行文件,将刚才上传的公钥,复制到赫敏文件中,替换之前的公钥

 接下来就可以免密登录赫敏了,登录后轻松查看魂器2

找寻一圈,发现了个.mozilla目录,这个目录是Linux在使用火狐浏览器的时候,生成的,里面存在一些配置信息,更甚至有密码 

 horcrux_{NDogSGVsZ2EgSHVmZmxlcHVmZidzIEN1cCBkZXN0cm95ZWQgYnkgSGVybWlvbmU=}

 将该目录下载到本地

 

 

然后下载一个破译工具 

 git clone https://github.com/unode/firefox_decrypt.git

利用该脚本破译.mozilla目录下的firefox文件,破解出来root的密码 

 真舒服,直接su root,输入密码,提权成功,获得了第三个魂器

 horcrux_{NTogRGlhZGVtIG9mIFJhdmVuY2xhdyBkZXN0cm95ZWQgYnkgSGFycnk=}

最后渗透结束! 

3、总结

该靶机综合了很多知识,其中包括ssrf漏洞的利用,ssh公钥写入等内容,其中最难受的是http3的访问,花费了很大的功夫,有很多次,那些配件安装失败,花费了很长时间。该部为哈利波特死亡圣器系列第2部,后续会带来最后一部,最后的三个圣器!

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

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

相关文章

一个简单案例理解为什么在多线程的应用中要使用互斥锁

需求:使用10个线程,同时对一个值count进行加一操作,每个线程对count加100000次,最终使得count1000000 第一版代码:不加锁 ​​​lock.c #include<stdio.h> #include<pthread.h>#define THREAD_COUNT 10void *thread_callback(void *arg){int *pcount(int*)arg;in…

Unity例子——第一人称视角的角色控制器

本文是为了前文Unity四元组的举例示范&#xff0c;为了让读者更好地理解。 效果是实现一个可以由鼠标进行方向操作&#xff0c;键盘进行移动操作的任务。 此为效果视频&#xff1a; 1687597097844 下面进行教学&#xff1a; 一、搭建简单场景 新建一个场景&#xff0c;放置一…

SonarQube(sonar-scanner)+GitLab(gitlab-runner)实现提交代码自动扫描项目代码

安装gitlab-runner 插件挂载目录 mkdir -p /data/gitlab-runner/configdocker run -d --name gitlab-runner \ -v /data/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart always \ --privilegedtrue \ gitlab/gitlab-r…

【数据库必备知识】索引和事务

数据库系列文章 1. 零基础带你快速上手SQL语言2. 玩转表及其数据3. 上手表设计 4. 索引和事务 目录 &#x1f4d6;前言 1. 索引 1.1 索引的概念 1.2 索引的作用 1.3 索引的使用场景 1.4 索引的使用 1.5 索引背后的数据结构(B树) 2. 事务 2.1 事务的概念 2.2 数据库使…

Centos7安装Python3.10

Centos7用yum安装的Python3版本比较旧&#xff0c;想要安装最新版本的Python3需要自己动手编译安装。下面就来讲讲安装步骤&#xff0c;主要分为这么几个步骤&#xff0c;依赖→下载→编译→配置。另外所有操作都是在root用户下进行。 依赖 编译Python源码需要依赖许多库&…

spring.cache 随笔0 集成设计

0. 最近感觉 “困意驱动睡眠” 也有他的意义 spring cache学习&#xff08;一&#xff09;&#xff1a;spring cache注解简单了解 Java Caching JSR107介绍 同样&#xff0c;本章也会简单的集成redisson作为缓存服务 1. 从我们自己写的javaConfig开始吧 Configuration // 这…

Java——文件操作

文件操作 1、File类概述2、File类的常用APIFile类的判断文件类型、获取文件信息功能创建文件、删除文件功能遍历文件夹文件搜索 3、字符集常见字符集字符集的编码、解码操作 4、IO流分类5、字节流的使用文件字节输入流文件字节输出流文件拷贝 6、字符类的使用文件字符输入流文件…

“前端已死”

一、一些迹象 逛社区&#xff0c;偶然看到了这张图片&#xff1a; 嗯……我眉头一皱&#xff0c;久久不语&#xff0c;心想&#xff0c;有这么夸张吗&#xff0c;假的吧&#xff1f; 突然想到&#xff0c;最近我在社区发了个前端招聘的信息&#xff0c;结果简历漫天纷飞&…

【C++】auto_ptr为何被唾弃?以及其他智能指针的学习

搭配异常可以让异常的代码更简洁 文章目录 智能指针 内存泄漏的危害 1.auto_ptr(非常不建议使用) 2.unique_ptr 3.shared_ptr 4.weak_ptr总结 智能指针 C中为什么会需要智能指针呢&#xff1f;下面我们看一下样例&#xff1a; int div() {int a, b;cin >&g…

图表制作办公首选--实用图表工具Echars

实用图表工具Echars 前言 由于工作的需要&#xff0c;在写材料的时候需要使用到柱状图、饼状图、折线图等等展示数据&#xff0c;可以使用PPT等办公软件构建出图表&#xff0c;在这里可以使用更加方便、更加美观的工具Echars。 Echars图表使用 Echars官网&#xff1a;Ecahr…

二叉平衡树之红黑树

目录 1.概念 2.性质 3.节点的定义 4.插入 1.按照二叉搜索树规则插入结点 2.调整颜色 1.uncle存在且为红色 2.uncle不存在或者为黑 cur为 3.根节点改为黑色 5.验证 6.比较 7.应用 1.概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存…

【计算机网络】计算机网络期末自测题(一)

目录 一、 填空题&#xff1a;(20 分&#xff0c;每空 1 分) 二、 选择题(20 分&#xff0c;每小题 1 分) 三、不定项选择题 (10 分&#xff0c;每小题 1 分) 四、名词解释 (15 分&#xff0c;每小题 3 分) 五、简答题 (25 分) 得分 一、 填空题&#xff1a;(20 分&#xff…

【C++】STL——string类详解

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f681; 个人主页&#xff1a;不 良 &#x1f525; 系列专栏&#xff1a;&#x1f6f8;C &#x1f6f9;Linux &#x1f4d5; 学习格言&#xff1a;博观而约取&#xff0…

混合策略改进的哈里斯鹰优化算法-附代码

混合策略改进的哈里斯鹰优化算法 文章目录 混合策略改进的哈里斯鹰优化算法1.哈里斯鹰优化算法2.改进哈里斯鹰优化算法2.1 初始化种群的改进2.1.1 初始种群多样化2.1.2 初始种群精英化 2.2 逃逸能量递减机制的改进2.4 拉普拉斯交叉算子策略 3.实验结果4.参考文献5.Matlab代码6.…

6.17 、Java初级:锁

1 同步锁 1.1 前言 经过前面多线程编程的学习,我们遇到了线程安全的相关问题,比如多线程售票情景下的超卖/重卖现象. 上节笔记点这里-进程与线程笔记 我们如何判断程序有没有可能出现线程安全问题,主要有以下三个条件: 在多线程程序中 有共享数据 多条语句操作共享数据 多…

移动web-渐变

渐变 使用场景&#xff1a;使用background-image属性实现渐变背景效果 代码&#xff1a;background-image: linear-gradient(参数1,参数2,参数3...); (默认的方位从上到下) 参数1 方位名词: to right, to left 角度deg: 直接写度数 参数2 颜色1 参数3 颜色2... 注意&#xff…

看完这篇 教你玩转渗透测试靶机vulnhub—Corrosion:1

Vulnhub靶机Corrosion:1渗透测试详解 Vulnhub靶机介绍&#xff1a;Vulnhub靶机下载&#xff1a;Vulnhub靶机安装&#xff1a;Vulnhub靶机漏洞详解&#xff1a;①&#xff1a;信息收集&#xff1a; Vulnhub靶机渗透总结&#xff1a; Vulnhub靶机介绍&#xff1a; vulnhub是个提…

canvas详解01-绘制基本图形

既然我们已经设置了 canvas 环境&#xff0c;我们可以深入了解如何在 canvas 上绘制。到本文的最后&#xff0c;你将学会如何绘制矩形&#xff0c;三角形&#xff0c;直线&#xff0c;圆弧和曲线&#xff0c;变得熟悉这些基本的形状。绘制物体到 Canvas 前&#xff0c;需掌握路…

软件工程——第5章总体设计知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.总体设计的基本目的&#xff1f; 2.总体设计的任务&#xff1f; 3.总体设计过程由哪两个阶段组成&#xff1f; 4.总体设计的步骤&#xff1f; 5…

【Linux从入门到精通】进程地址空间(虚拟地址 vs 物理地址)

本篇文章会围绕三个问题&#xff08;什么是地址空间&#xff1f;地址空间是如何设计的&#xff1f;为什么要有地址空间&#xff1f;&#xff09;进行展开讲述。其中主要是了解虚拟地址和物理地址的区别。希望本篇文章会对你有所帮助。 文章目录 一、什么是地址空间&#xff1f;…