【kali-权限提升】(4.2.6)社会工程学工具包(上):中间人攻击原理

本文主要是介绍【kali-权限提升】(4.2.6)社会工程学工具包(上):中间人攻击原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、中间人攻击

1.1、概述:

1.2、利用原理:

二、示例

2.1、ARP欺骗原理

ARP欺骗原理:

2.2、利用过程:

第一步:攻陷一台计算机

第二步:欺骗主机

结果:


一、中间人攻击

1.1、概述:

中间人攻击,简称“MITM攻击"是一种间接的入侵攻击。
通过各种技术手段, 将入侵者控制的一台计算机虚拟放在网络连接中的两台通信计算机之间, 这台计算机就称为“中间人”。使用Ettercap工具实现中间人攻击。


这类攻击者不只是被动监视其他用户的流量,而且会动态更改某些流量,这类攻击往往更加复杂,但确实可以在各种常见的情形(如无线公共热点和共享的办公网络)中实施


许多应用程序使用HTTP传输非敏感数据, 如产品说明和帮助页面。如果这些内容使用绝对URL实现任何脚本包含,攻击者就可以利用主动中间人攻击攻破同一域上受HTTPS保护的请求


许多知名Web应用程序都采用绝对URL包含通过HTTP传送的脚本,在这种情况下, 活跃的中间人攻击者当然可以通过修改任何HTTP响应来执行任意脚本代码。但由于同源策略通常会将通过HTTP和HTTPS加载的内容视为属于不同来源,攻击者并不能利用这种攻击截获使用HTTPS访问的内容


攻击者可以通过修改任何HTTP响应来构建重定向, 或在其他响应中重写链接目标, 从而诱使用户通过HTTPS加载同一页面,当用户通过HTTPS加载帮助页面时,其浏览器将使用HTTP执行指定的脚本包含,攻击者可以在包含脚本的响应中返回任意脚本代码,该脚本将在HTTPS响应中执行允许攻击者截获通过HTTPS访问的所有内容


即使所攻击的应用程序并不使用普通HTTP传送任何内容,但攻击者仍然可以通过向任何其
他域提出HTTP请求来返回重定向,从而诱使用户使用普通HTTP向目标域提出请求,虽然应用程序本身可能不会监听端口80上的HTTP请求,但攻击者可以拦截这些诱发的请求,并在这些请求的响应中返回任意内容。在这种情况下,攻击者可以采用各种技巧来攻击应用程序域的HTTPS来源

1.2、利用原理:

在传输数据的过程中存在有漏洞,通过使用各种技术手段对目标主机进行攻击


当主机之间进行通信时, 通过封装数据包进而转发到目标主机上。转发的数据包中包括源IP地址、目标IP地址及MAC地址。但是当主机在自己的缓存表中找不到目标主机的地址时, 它会发送ARP广播, 在此过程中就可能被其他攻击者冒充目标主机


1、攻击者可以使用通过普通HTTP传送的响应来设置或更新HTTPS请求使用的cookie值,即使cookie最初通过HTTPS设置并被标记为安全,攻击者仍然可以这样做,如果有任何cookie值由在HTTPS来源中运行的脚本代码以危险的方式进行处理, 攻击者就可以利用cookie注入攻击、通过该cookie来实施XSS攻击

2、一些浏览器扩展并不能正确隔离通过HTTP和HTTPS加载的内容,并将这些内容视为属于同一来源。这时攻击者的脚本(由诱发的HTTP请求的响应返回)就可以利用此类扩展来读取或写入用户使用HTTPS访问的页面的内容



二、示例

2.1、ARP欺骗原理

实施中间人攻击时, 攻击者常考虑的方式是ARP欺骗或DNS欺骗等。

ARP欺骗原理:

ARP欺骗并不是使网络无法正常通信, 面是通过冒充网关或其他主机使得到达网关或主机的数据流通过攻击主机进行转发。通过转发流量可以对流量进行控制和查看,从而得到信息。

ARP欺骗主机的流程

当主机A和主机B之间通信时, 如果主机A的ARP缓存表中没有找到主机B的MAC地址时, 主机A将会向整个局域网中所有计算机发送ARP广播,广播后整个局域网中的计算机都收到了该数据。这时候, 主机C响应主机A,说我是主机B,我的MAC地扯是XX-XX-XX-XX-XX-XX,主机A收到地蚧后就会重新更新自己的缓冲表。当主机A再次与主机B通信时, 该数据将被转发到攻击主机(主机C)上, 则该数据流会经过主机C转发到主机B

2.2、利用过程:

第一步:攻陷一台计算机

通过ARP注入攻击的方法以实现ARP欺骗, 通过ARP欺骗的方法控制主机A与其他主机间的流报及机密信息。


第二步:欺骗主机

攻击成功后, 主机B就可以在这个网络中使用中间人的身份,转发或查看主机A和其他主机间的数据流


结果:

简而言之:A与C之间的通信都会通过主机B传输

(1)在这个局域网中当主机A向主机C发送请求, 该数据将首先被发送到主机B上

(2)数据流经主机B转发到主机C

(3)主机C收到数据以为是主机A直接发送的。此时主机C将响应主机A的请求,该数据流会被主机B转发到主机A上

(4)主机A收到响应后, 将登录主机C,主机A登录时的用户名及密码, 将会被主机B收到

这篇关于【kali-权限提升】(4.2.6)社会工程学工具包(上):中间人攻击原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建