此篇文章发布距今已超过15天,您需要注意文章的内容或图片是否可用!
中间人攻击 (MITM) 是一种网络攻击,网络犯罪分子可截获两个企业或人员之间发送的数据。截获的目的是窃取、窃听或修改数据以达到某些恶意目的,例如勒索钱财。MITM 攻击依赖于操纵网络或创建网络犯罪控制的恶意网络。网络犯罪分子截获流量,要么让流量通过并收集信息,要么将其重新路由到其他地方。网络犯罪分子在信息发送者和信息接收者之间实质上是充当“中间人”,因此被称为“中间人攻击”。MITM攻击是一种网络攻击技术,攻击者通过欺骗的手段,让自己成为通信双方之间的中间人,从而可以窃取双方之间的通信内容、修改通信内容、甚至篡改通信流量,从而实现窃取信息、伪造信息等攻击目的。"未知攻,焉知防",在渗透测试中,MITM 劫持可以被用来模拟真实的黑客攻击,以测试系统和应用程序的安全性。渗透测试中使用 MITM 攻击的一个典型场景是在测试 Web 应用程序时。攻击者可以使用 MITM 技术拦截应用程序和服务器之间的通信,以获取用户名和密码等敏感信息,或者篡改应用程序返回的数据。攻击者可以使用代理工具,来捕获应用程序发送和接收的数据,对数据进行修改或篡改,然后重新发送到应用程序或服务器。这样就可以测试应用程序是否可以有效地防范 MITM 攻击,并且是否能够正确地处理应用程序和服务器之间的通信。MITM 攻击还可以用来测试网络的弱点,并检测是否存在潜在的漏洞。通过MITM 攻击,渗透测试人员可以捕获网络中传输的数据,并进行分析和审查,以发现可能存在的安全问题。例如,攻击者可以利用 MITM 攻击来欺骗局域网内的设备,并拦截设备之间的通信流量,从而窃取敏感信息,或者篡改数据包,对网络进行进一步的攻击。总的来说,MITM 劫持是渗透测试中常用的一种技术,它可以帮助测试人员发现网络中可能存在的安全漏洞,提供相应的建议和解决方案,从而保护系统和应用程序的安全。- 使用免配置模式。不需要任何其他配置,只需安装 Chrome 浏览器,免配置启动之后将打开一个新的浏览器会话,其中所有流量都将通过 Yakit 自动代理。无需安装 Yakit 的 CA 证书就可以使用它来通过 HTTPS 进行测试。
- 使用你选择的外部浏览器。在这种情况下,您需要配置浏览器与 Yakit 的 MITM 一起使用,并在浏览器中安装 Yakit 的 CA 证书。
以拦截代理的方式截获所有通过代理的网络流量,包括客户端的请求数据和服务器端的响应信息。主要拦截 http 和 https 协议的流量,并通过中间人方式,对客户端请求和服务端响应进行处理。在日常工作中,我们可以通过设置代理,截取 web 浏览器的流量,并对流经 Yakit 代理的数据进行处理。这种方式可以模拟各种攻击场景,帮助测试人员发现应用程序中的安全漏洞。设置代理监听主机,远程模式可以修改为 0.0.0.0 以监听主机所有网卡。
设置代理监听端口,设置一个不被占用的端口。
开启该选项将支持 HTTP/2.0 劫持,关闭后自动降级为 HTTP1.1,开启后 HTTP2 协商失败也会自动降级。
根据填写的正则规则,对符合规则的数据包进行染色、标记、替换、打tag等操作,方便用户快速筛选出目标数据包。Yakit 目前提供55条默认规则,点击默认配置
导入即可使用。
开启启用插件则表示,进入劫持页面就会加载在侧边栏 ⑥ 当中选择的插件以及编写插件时设置了默认启动的插件。
插件商店当中的" MITM 插件" 和 "端口扫描插件"类型的插件。
插件分组:将插件按照自己的使用习惯进行分组,便于在使用插件时快速勾选自己需要的插件。插件组在整个 Yakit 里是共用的,只要有加载插件的地方就使用插件分组。
根据关键字或者 tag 快速搜索所需插件。
为劫持再设置一个代理,通常用于访问中国大陆无法访问的网站或访问特殊网络/内网,也可用于接入 Xray 等被动扫描。
客户端 TSL:导入 TSL 证书,用于 mTSL(Mutual TSL)开启客户端验证的 HTTPS 网站抓包。
过滤器:通过配置过滤条件,来控制只抓/不抓哪些数据包,也可以理解为劫持的“黑白名单”。
下载 Yakit 证书。
作为一个合格的工程师,任何时候掌握对流量的完全控制权其实是非常重要的基本技能。标记/替换流量主要是替换数据包中符合规则的内容,比如替换数据包中自己的敏感信息,对数据包进行颜色标记或者打上标签,方便对数据包进行分类,或快速找出自己感兴趣的数据包。在启动 MITM 之前,我们就可以配置这些规则,当然,我们也可以在 MITM 劫持过程中动态修改。同时,用户可以新建或对已有的规则可以进行编辑。(编写规则的部分采用 Golang 风格正则表达式:推荐使用 https://regex101.com/ 调试,规则如果编译失败,则自动降级为关键字匹配。)非常简单的配置就可以实现 “百度一下” 变为 YAK一下!- 这些规则是针对代理全流量的,不光会对用户在 History 看到的过滤后的请求生效,对一些已经被过滤掉的 JS 或者静态文件都是生效的,编写简单规则务必明确场景。
- 规则基于 Golang 风格正则 /Glob/ 关键字, 采取降级策略:即如果无法编译为正则,将会最后被降级为 “关键字” 匹配。
- 替换后的数据包将会被自动修复,用户不需担心数据包毁坏协议。
所有流经 Yakit 的请求,都会在 History 中记录下来,我们可以通过该页面,查看传输的数据内容,对数据进行测试和验证。同时,对于拦截到的历史请求,都可以对数据包进行插件的扫描等操作。History中的的所有数据包,均支持对数据包进行单个或者批量操作,具体可分为:- 复制为POC模板(CSRF POPOC/yak POC/Portscan POC)
其次,选择单个数据包也可以对数据包进行编解码,修改请求类型等操作。History 的消息列表中主要包含请求序列号、请求协议和主机名、请求的方式、服务器端返回的HTTP状态码、URL 路径、网站 title、网站 ip、请求长度、大小、等信息。通过这些信息,我们可以对一次客户端与服务器端交互的 HTTP 消息详情做出准确的分析。Yakit 提供了筛选过滤器功能。针对某些不需要的数据包或者屏蔽某些污染数据就可以输入需要过滤的条件,劫持时则不会劫持符合条件的数据包。按照过滤条件的不同,过滤器划分出5个子选项,分别是:- 按照 Hostname 过滤 你可以在包含 Hostname 输入想要仅显示的 hostname,来筛选只想要看到的相关Hostname的请求。也可以在排除Hostname 中输入不想要看到的Hostname进行排除。
- 按照 URL 路径过滤 你可以在包含 URL 路径输入想要URL路径来匹配相关的请求,也可以在排除URL路径中输入不想要展示的URL来过滤不想要看到的请求。
- 按照文件类型过滤 通过文件类型在过滤消息列表,这里有两个选择可供操作。一是仅仅显示哪些,另一个是不显示哪些。如果是仅仅显示哪些,在包含文件后缀的输入框中填写显示的文件类型,同样,如果不显示哪些文件类型,只要在排除文件后缀的输入框中填写不需要显示的文件类型即可。
- 按照 Content-Type 过滤 此过滤器的功能是指,根据HTTP请求头的 Content-Type 来排除不想要展示的相关数据包。
- 按照 HTTP 方法过滤 此过滤器可根据 HTTP 请求方法进行的排除来达到过滤的目的
网站树将历史请求以树结构的形式进行展示,选中域名,可查看该域名对应的数据信息与详情。从图中我们可以看出,整个页面的的左侧为访问的 URL,按照网站的层级和深度,树形展示整个应用系统的结构和关联其他域的 url 情况;右边显示的是某一个 url 被访问的明细列表,共访问哪些 url,请求和应答内容分别是什么,都有着详实的记录。基于左边的树形结构,我们可以选择某个分支,对指定的路径进行端口扫描、爆破和漏洞检测。也可以根据关键字自定义搜索,针对网站树勾选做批量删除/批量导出。确实没有写一行代码,已经完成了 MITM 的中间人代理与劫持。在国产化飞速发展的今天,越来越多实用的工具给大家带来了工作的便捷,但我们还需Yakit 希望通过团队微薄的力量,提升中国网络安全行业人才的整体水平;让更多的人成为“懂加密、会防护、能挖洞、擅工程”的全面人才。 推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
ZhouSa.com-宙飒天下网
还没有评论,来说两句吧...