不写一行代码,如何完成 MITM 攻击?

图片

图片

MITM,也就是我们常说的中间人攻击。

中间人攻击 (MITM) 是一种网络攻击,网络犯罪分子可截获两个企业或人员之间发送的数据。截获的目的是窃取、窃听或修改数据以达到某些恶意目的,例如勒索钱财。

MITM 攻击依赖于操纵网络或创建网络犯罪控制的恶意网络。网络犯罪分子截获流量,要么让流量通过并收集信息,要么将其重新路由到其他地方。网络犯罪分子在信息发送者和信息接收者之间实质上是充当“中间人”,因此被称为“中间人攻击”。

图片

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

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

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

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

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

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

Yakit,提供免配置的 MITM 劫持 

  • 使用免配置模式。不需要任何其他配置,只需安装 Chrome 浏览器,免配置启动之后将打开一个新的浏览器会话,其中所有流量都将通过 Yakit 自动代理。无需安装 Yakit 的 CA 证书就可以使用它来通过 HTTPS 进行测试。

  • 使用你选择的外部浏览器。在这种情况下,您需要配置浏览器与 Yakit 的 MITM 一起使用,并在浏览器中安装 Yakit 的 CA 证书。

图片

Yakit 的 MITM

以拦截代理的方式截获所有通过代理的网络流量,包括客户端的请求数据和服务器端的响应信息。主要拦截 http 和 https 协议的流量,并通过中间人方式,对客户端请求和服务端响应进行处理。在日常工作中,我们可以通过设置代理,截取 web 浏览器的流量,并对流经 Yakit 代理的数据进行处理。

这种方式可以模拟各种攻击场景,帮助测试人员发现应用程序中的安全漏洞。

图片

PART 1 启动 Yakit MITM 劫持

  1. 设置代理监听主机,远程模式可以修改为 0.0.0.0 以监听主机所有网卡。

  2. 设置代理监听端口,设置一个不被占用的端口。

  3. 开启该选项将支持 HTTP/2.0 劫持,关闭后自动降级为 HTTP1.1,开启后 HTTP2 协商失败也会自动降级。

  4. 根据填写的正则规则,对符合规则的数据包进行染色、标记、替换、打tag等操作,方便用户快速筛选出目标数据包。Yakit 目前提供55条默认规则,点击默认配置导入即可使用。

  5. 开启启用插件则表示,进入劫持页面就会加载在侧边栏 ⑥ 当中选择的插件以及编写插件时设置了默认启动的插件。

  6. 插件商店当中的" MITM 插件" 和 "端口扫描插件"类型的插件。

  7. 插件分组:将插件按照自己的使用习惯进行分组,便于在使用插件时快速勾选自己需要的插件。插件组在整个 Yakit 里是共用的,只要有加载插件的地方就使用插件分组。

  8. 根据关键字或者 tag 快速搜索所需插件。

  9. 为劫持再设置一个代理,通常用于访问中国大陆无法访问的网站或访问特殊网络/内网,也可用于接入 Xray 等被动扫描。

  10. 客户端 TSL:导入 TSL 证书,用于 mTSL(Mutual TSL)开启客户端验证的 HTTPS 网站抓包。

  11. 过滤器:通过配置过滤条件,来控制只抓/不抓哪些数据包,也可以理解为劫持的“黑白名单”。

  12. 下载 Yakit 证书。

图片

PART 2 标记/替换流量

作为一个合格的工程师,任何时候掌握对流量的完全控制权其实是非常重要的基本技能。标记/替换流量主要是替换数据包中符合规则的内容,比如替换数据包中自己的敏感信息,对数据包进行颜色标记或者打上标签,方便对数据包进行分类,或快速找出自己感兴趣的数据包。

PART 3 导入/导出规

在启动 MITM 之前,我们就可以配置这些规则,当然,我们也可以在 MITM 劫持过程中动态修改。同时,用户可以新建或对已有的规则可以进行编辑。(编写规则的部分采用 Golang 风格正则表达式:推荐使用 https://regex101.com/ 调试,规则如果编译失败,则自动降级为关键字匹配。)

图片

非常简单的配置就可以实现 “百度一下” 变为 YAK一下!

强调说明

  • 这些规则是针对代理全流量的,不光会对用户在 History 看到的过滤后的请求生效,对一些已经被过滤掉的 JS 或者静态文件都是生效的,编写简单规则务必明确场景。

  • 规则的执行顺序是有意义的。

  • 规则基于 Golang 风格正则 /Glob/ 关键字, 采取降级策略:即如果无法编译为正则,将会最后被降级为 “关键字” 匹配。

  • 替换后的数据包将会被自动修复,用户不需担心数据包毁坏协议。

PART 4 Yakit 的 History

所有流经 Yakit 的请求,都会在 History 中记录下来,我们可以通过该页面,查看传输的数据内容,对数据进行测试和验证。同时,对于拦截到的历史请求,都可以对数据包进行插件的扫描等操作。

图片

图片

History中的的所有数据包,均支持对数据包进行单个或者批量操作,具体可分为:

  • 选择数据包进行漏洞扫描

  • 复制为POC模板(CSRF POPOC/yak POC/Portscan POC)

  • 标记颜色

  • 数据包作为数据对比

  • 屏蔽删除

  • 下载 Response body

其次,选择单个数据包也可以对数据包进行编解码,修改请求类型等操作。

History 的消息列表中主要包含请求序列号、请求协议和主机名、请求的方式、服务器端返回的HTTP状态码、URL 路径、网站 title、网站 ip、请求长度、大小、等信息。通过这些信息,我们可以对一次客户端与服务器端交互的 HTTP 消息详情做出准确的分析。

图片

PART 5 流量过滤

在 MITM 交互劫持时会产生大量的日志记录。

Yakit 提供了筛选过滤器功能。针对某些不需要的数据包或者屏蔽某些污染数据就可以输入需要过滤的条件,劫持时则不会劫持符合条件的数据包。

按照过滤条件的不同,过滤器划分出5个子选项,分别是:

  • 按照 Hostname 过滤 你可以在包含 Hostname 输入想要仅显示的 hostname,来筛选只想要看到的相关Hostname的请求。也可以在排除Hostname 中输入不想要看到的Hostname进行排除。

  • 按照 URL 路径过滤 你可以在包含 URL 路径输入想要URL路径来匹配相关的请求,也可以在排除URL路径中输入不想要展示的URL来过滤不想要看到的请求。

  • 按照文件类型过滤 通过文件类型在过滤消息列表,这里有两个选择可供操作。一是仅仅显示哪些,另一个是不显示哪些。如果是仅仅显示哪些,在包含文件后缀的输入框中填写显示的文件类型,同样,如果不显示哪些文件类型,只要在排除文件后缀的输入框中填写不需要显示的文件类型即可。

  • 按照 Content-Type 过滤 此过滤器的功能是指,根据HTTP请求头的 Content-Type 来排除不想要展示的相关数据包。

  • 按照 HTTP 方法过滤 此过滤器可根据 HTTP 请求方法进行的排除来达到过滤的目的

过滤条件可单选,也可多选组合使用。

图片

PART 6 Yakit 的网站树视角

网站树将历史请求以树结构的形式进行展示,选中域名,可查看该域名对应的数据信息与详情。

图片

从图中我们可以看出,整个页面的的左侧为访问的 URL,按照网站的层级和深度,树形展示整个应用系统的结构和关联其他域的 url 情况;右边显示的是某一个 url 被访问的明细列表,共访问哪些 url,请求和应答内容分别是什么,都有着详实的记录。

基于左边的树形结构,我们可以选择某个分支,对指定的路径进行端口扫描、爆破和漏洞检测。也可以根据关键字自定义搜索,针对网站树勾选做批量删除/批量导出。

确实没有写一行代码,已经完成了 MITM 的中间人代理与劫持。

在国产化飞速发展的今天,越来越多实用的工具给大家带来了工作的便捷,但我们还需

不忘初心,牢记使命

在网络安全这个各色人等聚集的大江湖里

Yakit 希望通过团队微薄的力量,提升中国网络安全行业人才的整体水平;

让更多的人成为“懂加密、会防护、能挖洞、擅工程”的全面人才。

更多地去做“正向的”、“积极的”的安全体系建设。

真正地为社会全面互联网化提供安全保障!

Yak官方资源

Yak 语言官方教程:
https://yaklang.com/docs/intro/
Yakit 视频教程:
https://space.bilibili.com/437503777
Github下载地址:
https://github.com/yaklang/yakit
Yakit官网下载地址:
https://yaklang.com/
Yakit安装文档:
https://yaklang.com/products/download_and_install
Yakit使用文档:
https://yaklang.com/products/intro/
常见问题速查:
https://yaklang.com/products/FAQ

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值