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


    简介

    前面写了一篇中间人攻击的代理与劫持相关的配置,今天来介绍一下劫持过程相关的详细设置,以及标记/替换流量,History处理,过滤流量,网站树视角等使用技巧和流程。

    劫持的详细解释

    劫持界面

    开始劫持前我们先对整个劫持页面进行熟悉:
    在这里插入图片描述1.设置代理监听主机,远程模式可以修改为0.0.0.0以监听主机所有网卡。
    2.设置代理监听端口,设置一个不被占用的端口。
    3.设置下游代理,比如把Yakit的流量发给另一个代理软件
    4.开启该选项将支持 HTTP/2.0 劫持,关闭后自动降级为HTTP1.1,开启后 HTTP2 协商失败也会自动降级。
    5.适配国密算法的 TLS (GM-tls) 劫持,对目标网站发起国密 TLS 的连接
    6.根据填写的正则规则,对符合规则的数据包进行染色、标记、替换、打tag等操作,方便用户快速筛选出目标数据包。Yakit目前提供55条默认规则,点击默认配置导入即可使用。
    7.开启启用插件则表示,进入劫持页面就会加载在侧边栏 ⑧ 当中选择的插件以及编写插件时设置了默认启动的插件。
    8.插件商店当中的"MITM插件" 和 "端口扫描插件"类型的插件。
    9.插件分组:将插件按照自己的使用习惯进行分组,便于在使用插件时快速勾选自己需要的插件。插件组在整个Yakit里是共用的,只要有加载插件的地方就使用插件分组。
    10.根据关键字或者tag快速搜索所需插件。
    11.下拉显示已创建过的分组,并进行分组选择。
    12.高级配置:
    在这里插入图片描述

    开始劫持

    在这里插入图片描述1.在劫持页面的左上角的①单选框选择手动劫持,打开浏览器,输入你需要访问的URL(以https://baidu.com/ 为例)并回车,这时你将会看到数据流量经过 Yakit 并暂停,您可以查看或修改数据包。选择自动放行则会放行所有的数据包,被动日志则为劫持模块、插件加载、被动扫描的执行日志。

    2.选择手动劫持劫持到请求以后,点击右边② 丢弃请求 则该条数据将会丢失,不在继续处理且不会出现在history中,③提交数据则会将该数据包继续传输下去并记录在history并开始劫持下一个数据包。

    3.劫持到请求以后,在右边单选框④劫持响应处选择当前请求,则会劫持到当前请求包对应的响应数据包。选择"所有"则会劫持所有请求的响应数据包。

    4.在整个数据包展示处,我们可以看到HTTP请求的数据进行手工的修改,数据主要包含了:请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等,点击鼠标右键可以对数据包进行更多的操作:
    在这里插入图片描述5.劫持到的所有的数据包都会存入到history中,劫持后可以在history查看感兴趣的数据包。关于History功能的详情请移步 History进行查看。

    标记和替换流量

    在日常的工作中,我们需要对测试的目标网站进行流量分析;当然除了在分析流量之外,我们经常需要涉及一些操作,以实现对流量的修改。
    该功能主要是替换数据包中符合规则的内容,比如替换数据包中自己的敏感信息,对数据包进行颜色标记或者打上标签,方便对数据包进行分类,或快速找出自己感兴趣的数据包。

    导入/导出规则

    在启动 MITM 之前,我们就可以配置这些规则,当然,我们也可以在 MITM 劫持过程中动态修改。
    首先,在开始劫持页面的内容规则选项我们可以看到 ①默认配置 ② 导入配置 ③导出配置 三个与内容规则相关的操作选项。我们点击默认配置选项。
    在这里插入图片描述在弹出的对话框中,点击 ①使用默认配置,导入JSON以后,点击 ②导入
    在这里插入图片描述即可看到成功导入官方默认的55条规则内容,如果想使用其他规则,只需将JSON文件复制进来,点击导入即可。
    注意:全部替换是本地导入的规则是否需要覆盖之前导入的规则,如果是新增规则请将全部替换关闭,如果是想进行覆盖,则可开启全部替换。
    点击内容规则旁边的小齿轮,即可查看官方默认规则内容,官方规则如图所示:
    在这里插入图片描述点击右上角的导出配置,可以将规则导出为JSON文件,可将文件进行分享给他人使用。

    新建/编辑规则

    在劫持页面点击右上角规则配置可以查看已有规则:
    在这里插入图片描述编写规则的部分采用 Golang 风格正则表达式:推荐使用 https://regex101.com/ 调试,规则如果编译失败,则自动降级为关键字匹配

    已有的规则可以进行编辑操作,或者新增规则,编辑或新增以后点击添加该规则修改进行保存
    在这里插入图片描述

    标记替换流量案例

    标记替换文本
    在规则内容页点击右上角新增规则,然后对每个选项进行配置。
    在这里插入图片描述在这里插入图片描述保存规则,测试一下:
    在这里插入图片描述在这里插入图片描述说明:
    1.这些规则是 针对代理全流量的,不光会对用户在 History 看到的过滤后的请求生效,对一些已经被过滤掉的 JS 或者静态文件都是生效的,编写简单规则务必明确场景
    2.规则的执行顺序是有意义的
    3.规则基于 Golang 风格正则/Glob/关键字, 采取降级策略:即如果无法编译为正则,将会最后被降级为 “关键字” 匹配。
    4.替换后的数据包将会被自动修复,用户不需担心数据包毁坏协议

    今天就暂时分享到这里,后续技巧持续更新!

  • 相关阅读:
    java批量生成海量测试数据及用ChatGPT提示语一键生成的方法
    Vue3快速上手指南
    MongoDB简介安装和入门案例
    基于STM32动态密码锁(手机APP)_2022
    【GDAL-java的四个常用代码示例】
    Hugging Face 与 Wiz Research 合作提高人工智能安全性
    基金客户和销售机构
    MySQL导入数据时碰到Error Code: 1290 以及解决
    Rust核心功能之一(所有权)
    Elasticsearch,Logstash和Kibana安装部署(ELK Stack)
  • 原文地址:https://blog.csdn.net/miraclehw/article/details/133996417