中间人攻击及防御_1 | 学习笔记

简介: 快速学习 中间人攻击及防御_1

开发者学堂课程【网络安全攻防 - Web渗透测试中间人攻击及防御_1学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/630/detail/9932


中间人攻击及防御_1


内容介绍

一、arp 协议介绍

二、arp 协议的攻击机制

三、实验


一、arp 协议介绍

中间人攻击是生产环境里面比较常见的攻击行为。利用 arp 协议实现中间人攻击,arp 协议是帮助将 IP 地址解析为mac 地址,解析方式是广播的方式。


二、arp 协议的攻击机制

1、比如现在有主机 A 和主机 B或者说有很多主机,它们上网要经过网关路由器。此时教室里面网关地址是10.30.162.1,主机A10.30.162.10,主机B10.30.162.20假设它们要去访问互联网上其他的服务器。无论是主机A,还是主机B,它们想要跟网关通讯,首先要获得网关的 mac 地址,或者它自己已经保存了 mac 地址,因为它有arp 的缓存。

image.png

Root@kali~# arp  -a

_gateway ( 10.30.162.1) at cc:2d:e0:1e:43:99[ether] on eth0

root@kali~# ping 10.30.162.156

root@kali~#  tcpdump -i eth0- nn arp

首先 arp 有缓存,这台机器有网关的 mac 地址,那是因为可能访问过网关如果现在要跟网关通讯,要得到它的 mac 地址,这样才能建立起链路,现在有就不用去 arp 一个了,假设现在访问别的机器,比如访问 ping 10.30.162 156ping 之前肯定没有它的 mac 地址,这时发一个 arp 协议,可以进行抓包,输入抓包命令,找到 arp 协议,搜索

root@kali:~# tcpdump -i eth0- nn arp and host 10.30.162.156

ping 之前通过 arp 协议发了一个请求,因为当时检查 erp 缓存表当中没有156的缓存,所以通过 arp 协议发了一个广播。

2现在 arp 协议是正常的。但是如果现在有一个攻击者,正常的情况下是 A 机器问网关,网关就会回应它的mac地址,假设网关的 mac 地址是 aa:bb:cc:12:34:56,但是攻击人也有一个 mac 地址11:22:55:aa:aa:aa,数据包要上网,是不会经过攻击机的,数据包是直接给网关的,是因为它获得了网关的 mac 地址,紧接着它跟网关建立链路,建立连接,数据包跟攻击者的机器没有任何关系。

image.png

但是现在它要上网,第一步发 arp 协议给网关询问 mac 地址,(攻击人一旦把这个 A 机器和网关当做攻击机器,要做 A 机器和网关的中间人,那么攻击机器会对 A 机器不断地给发 arp 协议,虽然这个机器缓存表里面网关 mac 地址是 aa:bb:cc:12:34:56,但是攻击人一直告诉它网关的 mac 地址是11:22:55:aa:aa:aa,那么 A 机器就会把缓存替代,会认为11:22:55:aa:aa:aa是网关,同时攻击人也会不断地给网关发送他是162.10,网关也就会认为攻击器是机器A不用等 A 机器主动去问网关,攻击人机器就会频繁的发送它的 mac 地址。

image.png

如果机器走的是 http 明文协议,数据包过攻击机器,可以很轻易的知道所有的密码,如果是 https 加密协议,虽然数据包还是经过攻击机器,但是并不能被很轻易的查看到。想象在办公室,连接到无线路由器,员工 a 和员工 b 去访问网站,恰好有人在办公室发动中间人攻击,如果访问这个网站采用的是明文的方式,这个时候基本上数据包就会被抓取到,本来 a 机器和中间人机器之间没有半点联系,但是攻击器它把自己变成了中间人。


三、实验

1、实验做的时候需要在互联网上有一个网站,,做实验最好有一个真实的结构,大家都一起去访问互联网。A 机器,B机器,中间人机器访问 http://www.bigpig.co:8080/,用 kali 当中间人,root@kali:~# ettercap -G

2、通过 sniff-unified sniffing,先点击第一按钮,统一的 sniff,选择要攻击或者抓取的网卡,就是选择通过哪个网卡进行攻击,现在只有 eth0,点击 OK。

image.png

3、先扫描一下,把主机都扫描出来,再点击主机 hosts 列表,其中里面有一个是网关,一个是其他机器。

image.png

4、下面是有两个目标:目标1,目标2。要把攻击的人放在一边,网关的人放一边,可以点击当前目标 targets-current targets,左边是目标1,右边是目标2

5点击中间人攻击 mitm-arp poisoningarp 毒化。选择 sniff remote connections,点击 ok,这时就会 erp 进行毒化。

image.png

6、 现在中间人机器的 mac 94.d1,如果被骗,就可以看到 arp 缓存里面,就是网关.194.d1此时如果 arp-a 看一下,会发现现在认为的网关其实是假的是94.d1也就是说现在这些机器只要上网,数据包就会交给网关(中间人)。

7、 接下来进行测试网页的登录,此时无需在意登录成功失败,只看下后台能不能显示出来抓取的内容

image.png

此时发现用户名和密码就可以看到了。虽然数据包不过中间人,但是中间人会让它们强制从这里同过。

相关文章
|
开发框架 安全 .NET
ASP.NET三甲医院手术麻醉信息管理系统源码 对接麻醉机、监护仪、血气分析仪
辅助医院建设 •支持三级医院评级需求 •支持智慧医院评级需求 •支持互联互通评级需求 •支持电子病历评级需求
220 0
|
人工智能 API
【保姆级教程]】5分钟用阿里云百炼满血版DeepSeek, 手把手做一个智能体
阿里云推出手把手学AI直播活动,带你体验DeepSeek玩法。通过阿里云百炼控制台,用户可免费开通满血版R1模型,享受100w token免费额度。活动还包括实验步骤、应用开发教程及作业打卡赢好礼环节,提交优秀作品更有机会获得定制礼品。快来参与吧!
3263 0
|
网络协议 网络架构
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
727 0
|
域名解析 缓存 网络协议
中间人攻击之DNS欺骗
【8月更文挑战第13天】
984 2
|
NoSQL 关系型数据库 MySQL
百万数据量优化实战
在现代互联网业务中,处理百万级别的数据量是家常便饭。传统的单体数据库架构在面对如此庞大的数据量时,往往显得力不从心。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
655 4
|
监控 算法 自动驾驶
目标检测算法:从理论到实践的深度探索
【7月更文第18天】目标检测,作为计算机视觉领域的核心任务之一,旨在识别图像或视频中特定对象的位置及其类别。这一技术在自动驾驶、视频监控、医疗影像分析等多个领域发挥着至关重要的作用。本文将深入浅出地介绍目标检测的基本概念、主流算法,并通过一个实际的代码示例,带您领略YOLOv5这一高效目标检测模型的魅力。
1321 11
|
负载均衡 Java Nacos
常见的Ribbon/Spring LoadBalancer的负载均衡策略
自SpringCloud 2020版起,Ribbon被弃用,转而使用Spring Cloud LoadBalancer。Ribbon支持轮询、随机、加权响应时间和重试等负载均衡策略;而Spring Cloud LoadBalancer则提供轮询、随机及Nacos负载均衡策略,基于Reactor实现,更高效灵活。
779 0
|
数据采集 人工智能 自然语言处理
Llama 3.1发布:4050亿参数模型,迄今为止最强的开源大模型之一
Meta宣布发布Llama 3.1 405B,这一目前公开的最大且最先进的语言模型,标志着开源语言模型新时代的到来。Llama 3.1 405B不仅在常识理解、数学、工具使用及多语言翻译等功能上媲美顶尖AI模型,其8B和70B版本亦支持多种语言,拥有长达128K的上下文理解能力。该模型在150多个多语言基准测试中表现出色,并经过广泛的人工评估。为克服大规模训练挑战,Meta采用标准解码器架构和迭代后训练策略,大幅提升了数据质量和模型性能。此外,Llama 3.1通过监督微调、拒绝采样和直接偏好优化等手段提高了模型对指令的响应性和安全性。
427 2
|
机器学习/深度学习 人工智能 算法
AI Native应用中基于用户反馈的动态模型微调机制
【8月更文第1天】在AI Native应用程序中,用户体验和满意度是衡量产品成功的关键指标之一。为了提高这些指标,本文介绍了一种基于用户反馈的动态模型微调机制。这种方法允许模型在运行时根据用户的实际行为和偏好进行自我调整,从而不断优化其性能。
1720 5
|
算法 安全 Java
深入解析ECC(椭圆曲线密码学)加解密算法
深入解析ECC(椭圆曲线密码学)加解密算法
深入解析ECC(椭圆曲线密码学)加解密算法