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

news2024/11/18 7:33:09

简介(来自官方文档)

背景

“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代理:
在这里插入图片描述

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

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

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

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

相关文章

ntfs读写工具Tuxera NTFS2023激活码

Tuxera NTFS for Mac是一款mac系统读写工具,Tuxera让Mac OS支持NTFS 格式文件读写,支持所有移动硬盘、U盘等外接设备,同时Tuxera用户可以简单直观的在Mac机上随意对NTFS文件修改、 在 Mac 上打开、编辑、复制、移动或删除存储在 Windows NTFS 格式 USB 驱动器上的文件。当您获…

关于硬件原理图

很多纯软工程师开始做嵌入式时觉得门槛很高,基本的硬件原理图也看不懂,没有学过电路、数电、模电、电路原理,对电子元器件,对电阻、电压、电流、电容、电感等没有很扎实的概念,觉得老虎吃天无从下嘴。打开硬件原理图&a…

在Qt中怎么操作MySQL数据库

一、安装驱动 (1)安装 在Qt中操作MySQL数据库首先要安装mysql的驱动文件,将MySQL下的libmusql.dll文件复制到Qt的安装路径下的bin文件夹下即可。 本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(…

使用Chrome浏览器进行网页截图

在需要截图的网页上,按F12打开开发调试页面,再按下ShiftCtrlP,打开命令输入框,输入Capture, 此时会弹出4中截图模式,我个人比较喜欢用Capture full size screenshot Capture area screenshot,…

YB6502是一款5V输入支持两节串联磷酸铁锂电池的升压充电管理应用

5V输入、双节串联磷酸铁锂电池升压充电芯片 描述: YB6502是一款5V输入支持两节串联磷酸铁锂电池的升压充电管理应用。采用了开 关升压结构,带有散热片的S0P8封装与较少的外部元件数日使得YB6502成为便携式 应用的理想选择。YB6502输入电压为5V,内置自适应…

Hadoop3教程(二十九):(生产调优篇)集群扩容及缩容(白名单与黑名单)

文章目录 (150)添加白名单(151)服役新服务器(152)服务器间数据均衡(153)黑名单退役服务器参考文献 这一章还算是比较重要的。 (150)添加白名单 白名单&#…

Kotlin(七) 接口

接口是用于实现多态编程的重要组成部分。我们都知道,Java是单继承结构的语言,任何一个类最多只能继承一个父类,但是却可以实现任意多个接口,Kotlin也是如此。 首先创建一个Study接口,在创建文件窗口选择“Interface…

1688店铺所有商品数据接口及店铺商品数据分析

获取1688店铺所有商品数据的接口是1688开放平台提供的接口,通过该接口可以获取店铺所有商品数据。 通过1688开放平台接口获取店铺所有商品数据的方法如下: 在开放平台注册成为开发者并创建一个应用,获取到所需的 App Key 和 App Secret 等信…

【公益案例展】联想集团青梅计划

‍ 联想集团公益案例 本项目案例由联想集团投递并参与数据猿与上海大数据联盟联合推出的 #榜样的力量# 《2023中国数据智能产业最具社会责任感企业》榜单/奖项”评选。 ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 在全面实现社会主义现代化国家的目标下,中…

重要文件怎么加密?文件加密软件哪个好用?

当我们在使用电脑的过程中,我们需要使用到很多重要文件,为了保护文件的安全,我们需要进行加密保护。那么,重要文件该怎么加密呢?下面我们就一起来了解一下。 文件夹加密超级大师 文件夹加密超级大师是一款专业的电脑数…

一文了解线上展厅如何制作,线上展厅制作需要注意什么

引言: 随着数字化时代的来临,线上展厅已成为宣传营销的重要工具,让您能够展示产品、服务和品牌的独特之处。如何制作线上展厅,包括必须注意的因素成了很多人关注的重点。 一.制作线上展厅的步骤 1.确定展厅目标和内容…

Nacos 401 Client not connected

jar包在本地运行没有问题,但是把包放到linux上就运行不起来,报错如下(远程debug截的图) 后来看到文章-猜测可能和连接时间有关系 就是本地连接快,linux建立连接慢,采用上面文章的人工强制sleep建议&#…

基础gdb操作【Linux】

基础gdb操作【Linux】 一.gdb1.1 什么是gdb1.2 安装gdb1.3 如何进入gdb模式1.3.1 release/debug1.3.2 进入debug1.3.3 进入gdb调试模式 二.基础操作2.0 list 行号和 r2.0.1 list 行号2.0.1 r/run 2.1 断点操作2.1.0 打断点2.1.1 查看断点信息2.1.2 删除断点2.1.2 断点开关闭 2.…

Kibana开发工具安装

版本说明 名称版本备注kibana kibana-7.7.1-linux-x86_64.tar.gz 安装配置 tar -zxvf kibana-7.7.1-linux-x86_64.tar.gz -C /usr/local/ cd /usr/local/ mv kibana-7.7.1-linux-x86_64/ kibana-7.7.1/ #编辑配置文件,在末尾添加 vim /usr/local/kibana-7.7.1/con…

深入理解环境变量

前言 指令就是可执行程序,当我们运行自己的可执行程序时,需要用./来指定路径,可是为什么运行指令时不用指定路径呢?这就是环境变量的作用。 一.常见环境变量 环境变量是在程序运行期间需要用到的具有特定功能的一组变量&#x…

来看看如何使用CLOUDFARE_实现网络聚合_利用安全的网络协议实现网络通讯---工具箱工作笔记002

下面这个操作是需要进行安全网络下操作的 首先需要去访问https://1.1.1.1这样一个网站然后去下载对应的软件,安装上 首先进入这个网址 www.cloudflare.com 去点击注册 注册以后 然后登录,登录以后,然后左侧有个zero trust 然后再去写一个名字,团队的名字 然后选择也是免…

win11快速打开蓝牙设置的方法

win11快速打开蓝牙设置的方法 Windows 11 中快速连接蓝牙设备的 3 种方法!_哔哩哔哩_bilibili 如何为Windows设置快捷键?_百度知道 (baidu.com) Win11怎么隐藏文件夹?Win11通过命令隐藏文件夹的方法_windows11_Windows系列_操作系统_脚本之家 (jb51.net…

2020年江西省职业院校技能大赛软件测试技能竞赛方案(高职组)

2020年江西省职业院校技能大赛 软件测试技能竞赛方案(高职组) 各高等职业院校: 根据江西省教育厅《关于举办2020年江西省职业院校技能大赛的通知》(赣教职成字〔2020〕19号)文件精神,现举办2020年江西省职业…

【软考】11.1 生命周期/CMM/开发模型

《信息系统生命周期》 软件工程的基本要素:方法、工具、过程 五阶段生命周期的定义和输出 规划 ——> 分析 ——> 设计 ——> 实施 ——> 运行和维护系统分析阶段:逻辑设计 ——> 逻辑模型系统设计阶段:物理设计 ——> 物…

常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法

文章目录 🌟 如何优雅地写出高质量的Java代码🍊 设计模式🎉 单例模式🎉 工厂模式🎉 观察者模式 🍊 操作Redis🎉 连接Redis🎉 存储数据🎉 获取数据🎉 删除数据…