Yakit工具篇:中间人攻击(平替Burp)的相关技巧-01

2023-10-21 15:12

本文主要是介绍Yakit工具篇:中间人攻击(平替Burp)的相关技巧-01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介(来自官方文档)

背景

“MITM” 是 “Man-in-the-Middle” 的缩写,意思是中间人攻击。

MITM攻击是一种网络攻击技术,攻击者通过欺骗的手段,让自己成为通信双方之间的中间人,从而可以窃取双方之间的通信内容、修改通信内容、甚至篡改通信流量,从而实现窃取信息、伪造信息等攻击目的。

“未知攻,焉知防”,在渗透测试中,MITM劫持可以被用来模拟真实的黑客攻击,以测试系统和应用程序的安全性。

渗透测试中使用MITM攻击的一个典型场景是在测试Web应用程序时。攻击者可以使用MITM技术拦截应用程序和服务器之间的通信,以获取用户名和密码等敏感信息,或者篡改应用程序返回的数据。攻击者可以使用代理工具,来捕获应用程序发送和接收的数据,对数据进行修改或篡改,然后重新发送到应用程序或服务器。这样就可以测试应用程序是否可以有效地防范MITM攻击,并且是否能够正确地处理应用程序和服务器之间的通信。

MITM攻击还可以用来测试网络的弱点,并检测是否存在潜在的漏洞。通过MITM攻击,渗透测试人员可以捕获网络中传输的数据,并进行分析和审查,以发现可能存在的安全问题。

例如,攻击者可以利用MITM攻击来欺骗局域网内的设备,并拦截设备之间的通信流量,从而窃取敏感信息,或者篡改数据包,对网络进行进一步的攻击。

总的来说,MITM劫持是渗透测试中常用的一种技术,它可以帮助测试人员发现网络中可能存在的安全漏洞,提供相应的建议和解决方案,从而保护系统和应用程序的安全。

相比于基础工具的使用,这一部分内容相对来说需要一定的安全基础,属于Yakit的进阶内容。

MITM 交互式劫持技术

Yakit的MITM模块原理是启动一个HTTP代理,自动转发流量,当用户启动手动劫持后,会停止自动转发,阻塞请求,并将请求出栈,做解压Gzip、处理chunk、解码等处理,让请求变得人类可读,并显示在用户前端,用户可以对请求做查看、修改或重放。

重放时,会对用户构造的HTTP请求数据包做修复,保证请求包的有效性。Yak引擎手动实现了HTTP库,所以用户可以自定义畸形的请求包、响应包,应用于一些特殊场景下的漏洞利用。
大概时序流程如下:
在这里插入图片描述

MITM劫持,却不止于劫持

MITM操作台可百分百替代 BurpSuite,下载并安装证书、劫持请求、响应、编辑劫持到的数据包等。

并且提供一整套顺畅的工作流,劫持 => History => Repeater / Intruder,劫持到的数据,在History可以查看历史数据,选择需要“挖掘”的数据包,发送到 WebFuzzer 进行 Repeater / Intruder 操作。

除了这些典型的操作场景外,MITM 还提供了插件被动扫描、热加载、数据包替换、标记等更灵活的功能。

相关配置和使用

免配置启动和证书安装

要在渗透测试中使用Yakit 的 MITM劫持,您可以:

  • 使用免配置模式。不需要任何其他配置,只需安装Chrome 浏览器,免配置启动之后将打开一个新的浏览器会话,其中所有流量都将通过 Yakit自动代理。无需安装 Yakit 的 CA 证书就可以使用它来通过 HTTPS 进行测试。
  • 使用您选择的外部浏览器。由于各种原因,您可能不想使用免配置的代理的浏览器。在这种情况下,您需要执行一些其他步骤来配置浏览器以与Yakit的 MITM 一起使用,并在浏览器中安装 Yakit 的 CA 证书。

免配置启动

这个就比较简单了,只要安装了Chrome就行。
先进入项目界面,点击MITM即可:
在这里插入图片描述
然后点击免配置启动:
在这里插入图片描述
在这里插入图片描述
然后看到如下样子(这个地方是调整过的界面,左边是浏览器,右边是Yakit):
在这里插入图片描述

我们在浏览器里面访问百度试试:
在这里插入图片描述

如果想要手动劫持的话,直接点击手动劫持即可。
在这里插入图片描述

取消免配置启动:
在这里插入图片描述

安装证书启动劫持

如果想要用Chrome以外的浏览器,就需要安装证书。为什么要安装证书呢?
因为HTTPS协议是一种安全的HTTP协议,通过SSL/TLS协议来实现通信的加密和身份验证,可以有效地防止MITM攻击。

然而,虽然HTTPS协议可以保证通信的安全性,但在使用代理服务器等中间设备时,也会存在MITM攻击的风险。

这是因为代理服务器需要对HTTPS连接进行解密和再加密,从而中断原本的端到端加密,攻击者就有可能利用这个中断点进行MITM攻击。

为了解决这个问题,HTTPS协议中引入了一种称为证书锁定(Certificate Pinning)的机制。通过证书锁定,客户端可以预先保存目标服务器的SSL证书信息,并在与服务器通信时,检查服务器返回的证书是否与预期一致,从而避免代理服务器进行恶意的证书篡改和中间人攻击。

因此,为了实现中间人的角色,代理服务器需要自己生成一个SSL证书,并将其安装在客户端上,让客户端相信这个证书是有效的。

这个证书需要被客户端所信任,否则客户端会出现警告提示,这就需要在客户端上安装代理服务器生成的证书并进行信任设置。

因此基于HTTPS协议这些特性,我们在使用代理时,需要安装Yakit CA 证书,才能拦截HTTPS的消息。

先配置再下载证书:
配置主要就是配置地址和端口,然后点高级配置进行证书下载:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里选择直接下载本地。然后将后缀的.pem删掉,再FireFox里面进行安装。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后点击确定即可。接下来和上面免配置启动一致,访问百度进行测试。
先配置浏览器的Yakit代理:
在这里插入图片描述

开启Yakit的劫持启动:
在这里插入图片描述

开启浏览器的Yakit代理:
在这里插入图片描述

访问百度:
在这里插入图片描述

这篇文章就说到这里,主要是解释了,怎么免配置劫持和安装证书劫持。
接下来还会介绍更多中间人攻击的一些使用技巧。

这篇关于Yakit工具篇:中间人攻击(平替Burp)的相关技巧-01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255213

相关文章

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方