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

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

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

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


中间人攻击及防御_2


内容介绍

一、背景

二、静态 IP/MAC 绑定


一、背景

A 机器想要去访问 http//www.bigpig.co:8080/网站,它要把数据包交给网关,要跟网关建立链路,建立连接,A 机器只知道网关的 IP,它地址中有设置网关的 IP,所以它需要向网关发出 arp 请求,mac 地址,虽然可能 A 机器有网关的 mac 地址,但是由于中间人持续的发出信息它是网关,它的 mac 地址,从而告诉 A 机器,它就会欺骗,从而一旦中间人选择它俩作为欺骗对象,它俩都会欺骗。

image.png

解决这个问题有两个方向,一个是从客户端出发,另一个是从服务器端出发,根本解决这个问题的方法在于关注不了太多客户端,客户端安一些防火墙防 arp 攻击就可以,或通过一些手动的方式。主要运维的对象是网站,只要保证在用户访问网站的时候,他的密码不被窃取就可以。所以从两个角度,左边的角度是对客户端,对上网的行为的这些行为,这些方式自己有一些基本的保护,首先以 windows,不相信任何人的网关地址,主动告诉的不相信,自己把网关的地址记下来,变成静态的,当打开 windows 的 arp 缓存时看缓存表,大部分都是动态的,动态的就是它有生命周期,它一定时间就会被替换,另外如果对方更新,也会替换,动态就是只要对方变了,就换掉,不管是自己觉察到变的,还是别人主动告诉变的,都换掉,解决方法就是变成静态,-d 是删除,输入 arp -d 10.30.162.1,现在中间人攻击是开着的,上一个命令结果是43-99,但是被中间人骗了,是94-d1,思路就是要让地址变成静态的,固定的这种行为。


二、静态 IP/MAC 绑定

1、背景:

Windows 下静态 IP/MAC 绑定,以防 ARP 攻击。

添加 IP: 192.168.1.200 MAC:00-aa-00-62-C6-09为例。

2、方法一:通过“arp-s“命令来实现

(1) 绑定 IP/MAC

DOS 界面下,输入命令[arp -S 192.168.1.200 00-aa-00-62-c6-09]回车即可。192.168.1.200是 IP,00-aa-00-62-c6-09是 MAC。

PS :该添加为临时添加,系统重启后,即失效。

但是这个名不一定好用,因为 windows 上接口特别多,如果没有把接口使用正确,就绑定到别的地方,不起作用。

image.png

(2)查看是否绑定成功

DOS 界面下,输入命令[arp-a ]参看添加成功后的 ARP 表项。

出现 internet 地址192.168.1.200,物理地址00-aa-00-62-c6-09,类型是静态,就证明绑定成功了。

(3)删除绑定的 IP/MAC

DOS 界面下,输入命令[arp -d 192.168.1.200]删除指定的 ARP 表项。

(4)IP/MAC 绑定不成功故障处理

输入"arp -S "后回车若出现提示"ARP 项添加失败:拒绝访问”。

3、方法二:通过"netsh "命令来实现

建议使用 netsh 命令进行操作,网关的 ip 和 mac 做静态的绑定。

(1)查看网口的 Idx 值

DOS 界面下,输入命令[netsh i i show in] , 查看本地网卡对应的"Idx"值,接下来会使用到。

PS: [netsh i i show in]为[netsh interface ipv4 show interfaces ]的缩写。

C: \users\ Administrator>netsh i i show in

Dx  Met   MTU          状态        名称

1  50 4294967295  connected  Loopback Pseudo Interface 1  

12  50   1500     disconnected  无线网络连接

14  20   1500     connected     本地连接

15   5   1500     disconnected  无线网络连接3

19  20  1500 connected  UMware Network Adapter UMnet1  

20  20  1500 connected  UMware Network Adapter UMnet8

21   20  1500      disconnected  本地连接2

C: \users\ Administrator

是本地连接,打开网络连接,更改设备,详细信息。

image.png

(2)绑定 IP/MAC

DOS 界面下,输入命令[netsh-c "i i" add ne 18 192.168.1.200 00-aa-00-62-C6-09] , 绑定 IP 与 MAC,默认是永久生效,即使重启系统。其中18是 idx 值,store=active 临时生效,重启失效,store 下列其中一个值:active:地址将在下一次启动时出现,persistent:地址持久有效,此为默认值,该值默认为永久有效。

PS:

A、[netsh-c "ii" add ne]为[netsh -C interface ipv4" add neighbors]的缩写。

B、若只需临时绑定ARP表项,跟上参数: store=active ,即: [netsh-c "ii" add ne 18 192.168.1.200 00-aa-00-62-C6-09 store=active] 。C、命令中的[""]在拼音输入模式下输入。

C: \Users \Administrator>netsh -c i i ad ne 14 10.30.162.1 cc-2d-e0-1e-43-99 store =persistent

如果现实对象已存在。先输入 arp -d 10.30.162.1删除。再输入-a 就可以看到静态的。中间人攻击目前是开着的,它的攻击行为都是失效的,不会得到错误网关的地址,重启也是一样生效的。

(3)查看是否绑定成功

DOS 界面下,输入命令[arp-a ]参看添加成功后的ARP表项。

(4)删除绑定的 IP/MAC

DOS 界面下,输入命令[netsh -C "i i" delete neighbors 18]删除绑定的 ARP 表项。如果是临时添加,重启系统就可,如果是永久添加,就需要通过该方法来删除。

PS:"18"是 Idx 值。

C: \Users\Administrator>netsh -c i i ad ne 14 10.30.162.1 cc-2d-eØ-1e-43-99 store=persistent 是永久的,是在本次生效的。active 是下一次生效。

C: \Users\Administrator>arp-a 再次查看是否被骗,对于客户端的保护,只能如此,因为客户端不是重点关注对象,一些arp保护软件或防攻击软件自然能够去防御,即把网关做死。

现在是被攻击的状态:

[ root@gg ~]# ip n

Neigh Netns ntable

[ root@gg ~]# ip neigh

10.30.162.142 dev eth0 lladdr 68:f7:28:52:db:bf STALE

10.30.162.109 dev eth0 lladdr 00:21:cc:68:fb:61 REACHABL E

10.З0.162.155 dеv еth0 llаddr Ѳ0:0с:29:24:94:d1 ЅТАLЕ

10.30.162.1 dev eth0 lladdr 00:0c:29:24;94:d1 REACHABLE

10.30.162.6 dev eth0 lladdr 68:f7:28:55:e5:d7 STALE

[ root@gg ~]#

[root@gg ~]# arp -a

? (10.30.162.142) at 68:f7:28:52:db:bf [ether] on  eth0

? (10.30.162.109) at 00:21:cc:68:fb:61 [ether] on eth0

? (10.30.162.155) at 00:0c:29:24:94:d1 [ether] on eth0

gateway (10.30.162.1) at 00:0c:29:24:94:d1 [ether] on eth0

? (10.30.162.6) at 68:f7:28:55:e5:d7 [ether] on eth0

至少现在是被攻击的状态,arp的命令是通用的,临时的要用 arp-s,在 windows 上使用这个命令还是有一些问题:

[ root@gg ~]# arp -S 10.30.162.1 cc:2d:e0:1e:43:99

[root@gg ~]# arp -a

? (10.30.162.142) at 68:f7:28:52:db:bf [ether] on eth0

? (10.30.162.109) at 00:21:cc:68:fb:61 [ether] on eth0

? (10.30.162.155) at 00:0c:29:24:94:d1 [ether] on eth0

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

? (10.30.162.6) at 68:f7:28:55:e5:d7 [ether] on eth0

使用 ip neigh:

[ root@gg ~]# ip neigh

10.30.162.142 dev eth0 lladdr 68:f7 :28:52:db:bf STALE

10.30.162.109 dev eth0 lladdr 00:21:cc:68:fb:61 REACHABL E

10.З0.162.155 dеv еth0 llаddr 00:0с:29:24:94:d1 ЅТАLЕ

10.30.162.1 dev eth0 lladdr cc:2d:e0: 1e:43:99 PlERMANENT

10. 30162.6 dev eth0 lladdr 68·f7·28·55·e5·d7 STALЕ

43:99 PERMANENT 是永久的。

[root@gg ~]# arp -a

? (10.30.162.142) at 68:f7:28:52:db:bf [ether] on eth0

? (10.30.162.109)

at 00:21:cc:68:fb:61 [ether] on eth0

? (10.30.162.155) at 00:0c:29:24:94:d1 [ether] on eth0

gateway (10.30. 162.1)at cc:2d:e0:1e:43:99 [ether] PERM on eth0

? (10.30.162.6) at 68:f7:28:55:e5:d7 [ether] on eth0

也可以看到 PERM,永久的。

总之这些命令都是临时的,欺骗不了,但虽然是临时的,也可以将【root@gg ~ arp -s 10.30.162.1 cc:2d:e0:le:43:99】这行命令写入 ac.login 里面,保证开机时可以自动启动,这个网关行为不会上当受骗。windows 就是用netsh 命令做绑定,静态化,前提是要看接口,因为有好多借口,而 linux 可以使用 arp -s 这个命令。一旦失去保护的情况:

[root@gg ~]# ip neigh

10.30.162.142 dev eth0 lladdr 68:f7:28:52:db:bf STALE

10.30.162.109 dev eth0 lladdr 00:21:cc:68: fb:61 REACHABLE

10.30.162.155

dev eth0 lladdr 00:0c:29:24:94:d1 STALE

10.30.162.1 dev eth0 lladdr cc:2d:e0: 1e:43:99 PERMANENT

10.30.162.6 dev eth0 lladdr 68:f7 :28:55:e5:d7 STALE

[root@gg ~]# arp -d 10.30.162.1 把 mac 缓存删除

再次输入可以看到已经上当了:

[root@gg ~]# ip neigh

10.30.162.142 dev eth0 lladdr 68:f7:28:52:db:bf STALE

10.30.162.109 dev eth0 lladdr 00:21:cc:68:fb:61 REACHABLE

10.30.162.155 ,dev eth0 lladdr 00:0c:29:24:94:d1 STALE

10.30.162.1 dev eth0 lladdr 00:0c:29:24:94:d1 REACHABLE

10.30.162.6 dev eth0 lladdr 68:f7 :28:55:e5:d7 STALE

因为中间人攻击一直在欺骗别人。无论输入多少次,都是假网关的 mac 地址。除非保护起来,变成静态的。

Windows 状态是保护起来的,arp-a 是静态的,在 windows 上输入用户密码。如果还是被骗,最好重启一下,保证可以真正意义上的生效。特别是 windows,普通用户用不了这个命令,只能安装相应的防火墙,arp 的防火墙,防攻击的防火墙,linux 比较容易,直接 arp-s 静态绑定即可。

相关文章
|
1月前
|
SQL 人工智能 BI
AI 在数据库操作中的各类应用场景、方案与实践指南
本文系统梳理AI在数据库操作中的8大核心场景,涵盖智能查询生成、性能优化、数据质量监控与自动化报表等,结合SQL实例与最佳实践,展现AI如何赋能数据库开发,提升效率与洞察力。
231 1
AI 在数据库操作中的各类应用场景、方案与实践指南
|
1月前
|
SQL JSON 数据库
SQL Server Management Studio (SSMS) 22 正式版发布 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 22 正式版发布 - 微软数据库管理工具
374 0
SQL Server Management Studio (SSMS) 22 正式版发布 - 微软数据库管理工具
|
运维 Linux
Linux(CentOS)挂载数据盘并设置开机自动挂载
Linux(CentOS)挂载数据盘并设置开机自动挂载
1363 0
Linux(CentOS)挂载数据盘并设置开机自动挂载
|
2月前
|
传感器 人工智能 供应链
智能体未来发展趋势:对标国家“十四五”AI规划的技术方向研判
《智能体技术发展白皮书(2024)》指出,自主、多模态、行业化智能体将成为未来三年核心方向。自主智能体实现动态决策,提升制造效率;多模态智能体优化人机交互,覆盖智能家居等场景;行业化智能体深度融合医疗、金融、教育等领域,推动数字化转型。预计2027年行业市场规模超800亿元,助力国家人工智能战略落地。(238字)
|
9月前
|
人工智能 计算机视觉
HarmonyOS NEXT AI基础视觉服务-背景替换
这是一个基于AI基础视觉服务的背景替换案例,通过调用设备相册选择图片并智能分割主体,支持动态更换背景颜色。主要步骤包括:1) 导入模块与定义组件;2) 实现图片选择与格式转换;3) 使用`subjectSegmentation.doSegmentation`接口完成主体分割;4) 通过随机RGB值实现背景色动态更换。代码结构清晰,功能完整,适合学习AI图像处理技术。
HarmonyOS NEXT AI基础视觉服务-背景替换
|
4月前
|
Ubuntu 安全 Linux
十款常用Linux系统介绍
本文不是什么大盘点。市面上有好几百款发行版,每款发行版在某个方面都与众不同。不可能在此全部罗列,本文只罗列了十款最常见的Linux发行版(世界上只有两种人,一种是懂二进制的,另一种是不懂二进制的)。请宣传Linux的魅力或威力。
|
存储 算法
细谈多重背包问题
细谈多重背包问题
细谈多重背包问题
|
存储 监控 安全
SMB协议基础篇
SMB(Server Message Block)协议是一种网络文件共享标准,主要用于局域网中的文件、打印机及串行端口共享。【8月更文挑战第1天】
3850 3
|
存储 固态存储 测试技术
电脑性能的影响因素
电脑性能的影响因素【10月更文挑战第31天】
906 2
|
JavaScript API 开发工具
(H5-Web3D-ThreeJS)在网页三维CAD中绘制窗户模型
本文介绍了如何使用mxcad3d在网页中创建一个简单的三维窗户模型。通过官方教程搭建环境,编写绘制窗户模型的代码,并在点击按钮后展示模型效果。最终模型包括窗框和玻璃部分,具备丰富的三维建模功能和便捷的API支持。