Combate de aplicaciones de scripting de Linux: use un método de enlace estático para evitar ataques ARP

Combate de aplicaciones de scripting de Linux: use un método de enlace estático para evitar ataques ARP

Principio de ataque ARP

  • Antecedentes: sabemos que el firewall bajo el sistema Windows puede resistir ataques externos, incluidos los ataques ARP; de manera similar, si queremos entender cómo prevenir ataques ARP bajo el sistema Linux, debemos comprender los principios y tipos de ataques ARP. , Para ser focalizado y hacer un buen trabajo de prevención.
  • El principio de funcionamiento de ARP: ARP, el protocolo de resolución de direcciones, se da cuenta de que su dirección física se puede conocer a través de la dirección IP. Tomemos el entorno Ethernet como ejemplo: para transmitir correctamente un mensaje al host de destino, la dirección IP de 32 bits del host de destino debe convertirse en una dirección Ethernet de 48 bits. Esto requiere un conjunto de servicios en la capa de interconexión para convertir las direcciones IP en direcciones físicas correspondientes.Este conjunto de protocolos es el protocolo ARP.
  • ¿Qué es un ataque arp? La suplantación de ARP se logra mediante la falsificación de direcciones IP y MAC, que pueden generar una gran cantidad de tráfico ARP en la red y bloquearla. Siempre que el atacante envíe continuamente paquetes de respuesta ARP falsificados, la entrada IP-MAC en la caché ARP del host de destino se puede cambiar. , Causando cortes de red o ataques man-in-the-middle.
  • ¿Cómo juzgar el ataque arp? La máquina pretende ser la mac de la puerta de enlace, por lo que navegar por la caché arp de la máquina víctima definitivamente puede encontrar que una o más máquinas tienen la misma dirección mac que la puerta de enlace. arping ip Verifique la dirección mac real de su puerta de enlace (el resultado también es parcialmente falso, pero sabemos qué parte es falsa)

Linux lanza sistemáticamente ataques ARP mediante simulación de arposión

Comandos de Linux para prevenir ataques ARP

#进攻者发起攻击前,先通过ping命令间接获取IP地址
[root@ ~/test 10:05:04]#ping 192.168.6.146

#经过几秒之后中断ping命令,通过下面命令查看ARP缓存
[root@ ~/test 10:05:29]#arp -a
gateway (192.168.6.2) at 00:50:56:fb:ea:34 [ether] on ens33 #网关真实MAC地址
? (192.168.6.1) at 00:50:56:c0:00:08 [ether] on ens33
? (192.168.6.146) at 00:0c:29:dd:00:64 [ether] on ens33 #目的ip对应真实MAC地址

#在被攻击者主机执行arp -n命令查看ARP缓存信息
#(因为攻击者ping了我们,所以我们可读到对方的ip和mac地址)
[root@lin ~]# arp -a
? (192.168.6.1) at 00:50:56:c0:00:08 [ether] on eth0
? (192.168.6.128) at 00:0c:29:52:a9:d1 [ether] on eth0 #喏,这就是潜在的凶手
? (192.168.6.2) at 00:50:56:fb:ea:34 [ether] on eth0

#攻击者开始发起攻击 (回车后持续发送,ctrl+c终止)
#-i 后接攻击者的网络设备号 若是无线网络 可能是wlan0 
#-d 接目标ip地址
#-s 接网关ip
#-t 接目标MAC
#-r 接伪造MAC地址
#-n 接指定发送多少个数据包
arpoison -i ens33 -d 192.168.6.146 -s 192.168.6.2 -t 00:0c:29:dd:00:64 -r 44:44:44:44:44:44
#注意:arpoison需要手动去安装

Vincular estáticamente el contenido del script ARP

  • Atacado: necesita saber la dirección MAC correcta de la puerta de enlace, y puede obtener la dirección MAC correcta haciendo ping a la ip de la puerta de enlace en condiciones de funcionamiento normal. Y luego unir

  • Modo de comando:

# arp -s 后面跟网关IP地址以及真实MAC地址
arp -s 192.168.6.2 00:50:56:fb:ea:34

# arp -a 查看arp缓存出现PERM字段的条目: 说明此条目为静态arp条目
arp -a

#删除静态绑定的方式(一般也要先清空arp缓存再进行绑定)
arp -d 192.168.6.2 00:50:56:fb:ea:34

#觉得手动绑定麻烦,可以有如下两种方式
#其一:启动系统时候自动绑定网关MAC
vi /etc/ethers
输入 :192.168.6.2 00:50:56:fb:ea:34
#保存以后,在/etc/rc.local中增加 arp -f 命令
#也可以用:scan_ip_man.sh ens33 > /etc/ether
#扫描局域网内所有主机的mac地址,保存至这个文件,载运行arp -f绑定所有的ip MAC条目。

#其二:不想系统启动自动配置,但图个方便,使用如下脚本
  • guión
#!/bin/bash
declare gw=`route -n | grep -e '^0.0.0.0'`			
declare gwname=`echo $gw | grep -oe '\w*$'`		#网卡名			
declare gwip=`echo $gw | grep -oe '[0-9]\{2,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'`					   		 #网卡ip
declare gwmac=`arp -n | grep -e $gwip | grep -oe '[0-9A-F]\{
    
    2\}:[0-9A-F]\{
    
    2\}:[0-9A-F]\{
    
    2\}:[0-9A-
F]\{
    
    2\}:[0-9A-F]\{
    
    2\}:[0-9A-F]\{
    
    2\}'`   	    #网卡MAC地址
echo "switch $gwname arp: $gwip - $gwmac to static" 
arp -s $gwip $gwmac                      		#绑定
echo "done, off arp reuqest .."
ifconfig $gwname -arp
echo "all done."

Supongo que te gusta

Origin blog.csdn.net/weixin_31789689/article/details/107947392
Recomendado
Clasificación