简单的ARP欺骗与Dos攻击

简单的ARP欺骗与Dos攻击

ARP欺骗

1.什么是ARP

  • 地址解析协议(Address Resolution Protocol),用于将 IP 地址转换为物理地址(MAC 地址)。
  • 在局域网中,当一台主机要与另一台主机通信时,它需要知道对方的 MAC 地址。主机首先会在自己的 ARP 缓存表中查找,如果没有找到,就会发送一个 ARP 请求广播,询问对应 IP 地址的 MAC 地址。目标主机收到请求后,会发送一个 ARP 响应,告知自己的 MAC 地址

2.ARP欺骗原理

  • 冒充目标主机:攻击者发送伪造的 ARP 响应包,将自己的 MAC 地址与目标主机的 IP 地址绑定,发送给局域网内的其他主机。这样,其他主机就会误认为攻击者的 MAC 地址是目标主机的 MAC 地址,从而将数据发送给攻击者。
  • 冒充网关:攻击者也可以冒充网关,向局域网内的主机发送 ARP 响应,告知自己是网关的 MAC 地址。这样,主机发送到外部网络的数据就会先发送给攻击者,而不是真正的网关。攻击者可以在获取数据后进行篡改、窃取或转发,实现中间人攻击

3.自测靶机

  • 攻击机:kali
  • 测试机:win 10

4.攻击测试流程

  • 使用kali先查看自己所存在的网段,查找自己ip屏幕截图 2025-05-09 211449

  • 查看同一网段下存活的主机,方便进行欺骗
    fping -asg (自己主机ip)/(子网掩码)
    

    屏幕截图 2025-05-09 211904

  • 对于这次测试来说,其中ip为.135即为靶机屏幕截图 2025-05-09 212042
  • 使用kali自带的ARP欺骗工具进行自动化攻击
    arpspoof -i (自己的网络接口) -t (指定攻击的主机ip) (网关)
    

    屏幕截图 2025-05-09 212737

  • 此时查看靶机是否可以正常访问网络,发现浏览器以及命令行ping都不通,简单的实验结果也是成功了屏幕截图 2025-05-09 212954

Dos攻击

1.攻击原理

  • 耗尽系统资源

    • 原理:通过向目标系统发送大量的请求或数据,使目标系统的资源(如 CPU、内存、带宽等)被耗尽,无法再处理合法用户的请求。

    • 举例:攻击者使用工具生成大量的 ICMP(Internet Control Message Protocol)数据包,向目标主机发送。由于 ICMP 数据包通常用于网络诊断和控制,目标主机会不断地接收和处理这些数据包,导致 CPU 占用率过高,最终无法正常响应其他合法的网络请求,这种攻击也被称为 Ping of Death(死亡之 Ping)。

  • 建立大量半开连接

    • 原理:以 TCP 协议为例,正常的连接建立需要经过三次握手过程。攻击者利用这个过程,向目标系统发送大量的连接请求,但不完成连接的最后一步,使得目标系统维持大量的半开连接,耗尽其连接资源,从而无法接受新的合法连接请求。

    • 举例:常见的 SYN Flood(同步洪流)攻击就是这种原理。攻击者伪造大量的源 IP 地址,向目标系统发送 SYN(同步)数据包,目标系统收到后会回应 SYN-ACK(同步确认)数据包,并等待对方的 ACK(确认)数据包。但由于源 IP 是伪造的,攻击者不会发送 ACK 数据包,导致目标系统上的连接队列被大量半开连接填满,无法再处理合法的连接请求。

  • 分布式反射攻击

    • 原理:攻击者利用一些可以被欺骗的网络服务(如 DNS、NTP 等),通过伪造源 IP 地址为目标系统的数据包,发送给这些服务。这些服务会根据数据包中的源 IP 地址,向目标系统发送大量的响应数据包,从而形成对目标系统的攻击。

    • 举例:在 DNS 反射攻击中,攻击者向大量的开放 DNS 服务器发送查询请求,将请求中的源 IP 地址伪装成目标系统的 IP 地址。DNS 服务器收到请求后,会向伪装的源 IP 地址(即目标系统)发送大量的 DNS 响应数据包,导致目标系统遭受洪水般的攻击,网络带宽被大量占用,无法正常工作

2.自测靶机

  • 攻击机:kali
  • 目标靶机:win 10

3.hping3介绍

hping3 是一款功能强大的网络工具,常用于网络测试、防火墙规则测试以及 DoS 攻击模拟。以下是其主要命令参数及解释:

  • 基本参数

    • -c <count>:设置发送数据包的数量,达到指定数量后停止发送。

    • -i <interval>:设置发送数据包的间隔时间,例如 -i u1000 表示间隔 1 毫秒(u 代表微秒)。

    • -v:显示详细信息,输出更丰富的数据包发送和接收情况。

  • 协议选择

    • -S:设置 TCP SYN 标志,用于创建 TCP 同步数据包,常用于 SYN Flood 攻击模拟。

    • -A:设置 TCP ACK 标志,用于创建 TCP 确认数据包。

    • -P:设置 TCP PSH 标志,用于创建 TCP 推送数据包。

    • -U:设置 TCP URG 标志,用于创建 TCP 紧急数据包。

    • -R:设置 TCP RST 标志,用于创建 TCP 重置数据包,可用于中断连接。

    • -F:设置 TCP FIN 标志,用于创建 TCP 结束数据包,用于正常关闭连接。

    • --icmp:使用 ICMP 协议,用于发送 ICMP 数据包,可用于测试网络连通性或进行 ICMP Flood 攻击。

    • --udp:使用 UDP 协议,用于发送 UDP 数据包,可用于 UDP Flood 攻击或测试 UDP 服务。

    • --tcp:使用 TCP 协议,是默认选项,可结合各种 TCP 标志使用。

  • 端口设置

    • -p <port>:指定目标端口,用于 TCP 或 UDP 数据包的目标端口设置。

    • --rand-source:使用随机源 IP 地址,可用于模拟分布式攻击。

    • --flood:洪水模式,尽可能快地发送数据包,不等待回复,用于高强度攻击。

  • 自定义数据包

    • --data <size>:设置数据包负载大小,例如 --data 100 表示每个数据包包含 100 字节的数据。

    • --rand-data:使用随机数据填充数据包负载。

    • --ttl <value>:设置 IP 数据包的 TTL(Time To Live)值,用于测试网络路径或绕过某些防火墙。

    • --df:设置 IP 数据包的 DF(Don't Fragment)标志,禁止数据包分片。

  • 攻击模式

    • --flood:洪水模式,快速连续发送数据包,不等待响应,常用于 DoS 攻击模拟。

    • --rand-source:随机化源 IP 地址,模拟来自不同源的攻击流量,增加攻击的隐蔽性。

    • --icmp:结合 -flood--rand-source 可实现分布式 ICMP Flood 攻击。

    • --syn:结合 -flood--rand-source 可实现 SYN Flood 攻击。

  • 防火墙测试

    • --scan <ports>:端口扫描模式,例如 --scan 1-100 扫描目标主机的 1 到 100 端口。

    • --id <value>:设置 IP 数据包的 ID 字段值,可用于测试防火墙对 IP ID 的处理规则。

    • --spoof <ip>:伪造源 IP 地址,用于测试防火墙是否能够检测和阻止源 IP 欺骗。

  • 其他功能

    • --listen <port>:监听模式,用于接收和分析网络数据包。

    • --baseport <port>:设置起始源端口,用于端口扫描或攻击时的源端口选择。

    • --stats <interval>:每隔指定时间显示统计信息,例如 --stats 1 表示每秒显示一次统计数据。

  • 示例命令

    • 发送 TCP SYN 洪水攻击:hping3 -S --flood --rand-source target_ip

    • 进行 ICMP 洪水攻击:hping3 --icmp --flood --rand-source target_ip

    • 扫描目标主机的端口:hping3 --scan 1-100 -S target_ip

    • 发送自定义大小的 UDP 数据包:hping3 --udp -p 53 --data 100 target_ip

4.攻击测试流程

  • 先将win10防火墙关闭,方便测试屏幕截图 2025-05-10 110359
  • 还是老样子,扫描同一网段下存活的ip

    屏幕截图 2025-05-10 110738

  • 进行端口扫描,方便进行攻击测试屏幕截图 2025-05-10 112002
  • 先记录没有进行攻击时,CPU利用率

    屏幕截图 2025-05-10 112321

  • 对目标靶机进行攻击测试
    hping3 --flood --rand-source -p 135 -w 64 --data 150 --syn -c 1000000 192.168.44.135
    
    

    屏幕截图 2025-05-10 113003

  • 再查看现CPU占有情况,可以发现攻击之后CPU利用率已经提高了,可以通过设置跟多的数据包来提高占用率屏幕截图 2025-05-10 112920

以上所有测试流程均在自己靶机内完成,仅用于学习分享,未经其他方授权许可,不应该用于其他非法途径

posted @ 2025-05-10 12:30  水枪装尿,滋谁谁叫  阅读(121)  评论(0)    收藏  举报