⚠️ 重要声明
中间人攻击(MITM)是严重违反法律法规和道德规范的网络攻击行为,会对他人隐私、财产安全及网络安全造成极大危害。本文所述内容仅为网络安全研究中的防御性演示,旨在帮助读者了解攻击原理并采取有效防护措施,请勿用于非法用途。
中间人攻击(MITM)是指攻击者在通信双方(如靶机与网关、靶机与服务器)之间秘密拦截、转发或篡改数据,使双方误以为处于直接通信状态的技术。其核心是利用网络协议的缺陷(如ARP协议的“无验证机制”、DNS协议的“缓存投毒”)伪装成合法节点,从而获取或篡改通信内容。
ARP(地址解析协议)用于将IP地址映射为MAC地址,但该协议未对ARP响应进行身份验证,攻击者可伪造ARP响应,将自己伪装成网关或其他主机,拦截通信流量。
在CentOS中的实现步骤:
ip addr查看本机IP(如192.168.1.100),使用ip route show查看默认网关(如192.168.1.1)。echo 1 > /proc/sys/net/ipv4/ip_forward,允许本机转发流量(确保攻击后可正常转发数据至网关)。arpspoof工具(需安装dsniff包,通过yum install dsniff获取),向靶机发送伪造的ARP响应(伪装成网关),并向网关发送伪造的ARP响应(伪装成靶机),命令如下:arpspoof -i ens33 -t 192.168.1.100 192.168.1.1 # 向靶机(192.168.1.100)发送伪造ARP,声称自己是网关
arpspoof -i ens33 -t 192.168.1.1 192.168.1.100 # 向网关(192.168.1.1)发送伪造ARP,声称自己是靶机
此时,靶机与网关之间的流量会经过本机(攻击机),实现流量拦截。DNS(域名系统)用于将域名解析为IP地址,攻击者可通过伪造DNS响应,将合法域名指向恶意IP,从而拦截用户对合法网站的访问。
在CentOS中的实现步骤(需结合Ettercap):
yum install ettercap安装Ettercap(支持ARP欺骗与DNS欺骗)。/etc/ettercap/etter.dns),添加伪造的域名解析规则,例如:example.com A 192.168.1.100 # 将example.com解析为攻击机的IP
ettercap -T -q -M arp:remote /192.168.1.100/ /192.168.1.1/ -P dns_spoof
其中,-P dns_spoof表示启用DNS欺骗模块,/192.168.1.100/为目标靶机,/192.168.1.1/为网关。当靶机访问example.com时,会被导向攻击机的IP,从而实现流量劫持。Ettercap是一款功能强大的中间人攻击工具,支持ARP欺骗、DNS欺骗、流量嗅探、数据篡改等多种功能,适用于CentOS系统的综合攻击场景。
在CentOS中的使用步骤:
yum install ettercap安装(若需GUI界面,可安装ettercap-graphical)。ettercap -i ens33选择网络接口(如ens33),进入主界面后,选择“Sniff”→“Unified sniffing”启动统一嗅探模式。192.168.1.100)添加为目标1,网关(如192.168.1.1)添加为目标2。dns_spoof(DNS欺骗)、urlsnarf(URL嗅探)、driftnet(图片嗅探),可通过“Plugins”→“Manage plugins”加载并配置。例如,加载urlsnarf可嗅探靶机访问的所有URL:urlsnarf -i ens33
加载driftnet可嗅探靶机访问的图片:driftnet -i ens33
为防范中间人攻击,需采取以下措施:
arp -s 网关IP 网关MAC命令静态绑定网关的MAC地址,防止ARP欺骗。arptables工具配置ARP防火墙,过滤非法ARP报文。tcpdump、Wireshark等工具监控网络流量,及时发现异常ARP响应或DNS请求。