导语:使用MitmAP创建一个恶意接入点
恶意接入点的威胁已经存在了很长一段时间,随着开放式公共Wi-Fi的兴起,这种威胁常常被我们在咖啡店和公共场所使用第三方Wi-Fi热点所掩盖。虽然我们已经使用Aircrack-ng工具套件展示了一个这种恶意热点,但是MitmAP是一个Python工具,可以为多种类型的无线攻击配置自定义AP。
在开始创建恶意接入点之前,您至少需要两个网络接口。一个与互联网连接,一个与受害者连接。恶意接入点背后的概念很简单:创建Wi-Fi接入点,记录其使用情况,尝试剥离加密,并从连接到它的任何人那里收集凭据,并使用它来登录任何内容。
邪恶的接入点可以以几种不同的方式工作。在某些情况下,他们可以用来广撒网。例如,一个开放的接入点收集任何连接并使用它浏览网页的人的信息。在其他情况下,它们可能是更有针对性的攻击的一部分,就像配置为模仿现有热点,诱使用户认为它是相同的网络。
由于Wi-Fi的性质,设备通常会发出探测请求,寻找他们熟悉的接入点,揭示设备信任的网络信息。如果您的恶意接入点的信号比设备正在搜索的实际接入点强,那么设备将连接到您的恶意接入点。这甚至可以用来在个人层面上定位某个人,只要你能做足够的信息收集。
步骤1 安装MitmAP
MitmAP不是Kali Linux工具包的一部分,所以我们将从它的GitHub仓库安装它。我将在本文中使用Kali Linux并以root用户身份运行。由于我们正在从GitHub进行安装,所以这些说明应该适用于大多数的Linux版本。在进入实际安装之前,我们可能应该更新我们的系统。如下图所示,可能要花点时间。
apt update && apt upgrade
有了这个,我们可以继续我们的MitmAP安装。我们将通过在终端窗口中输入以下命令来使用git 克隆存储库。
git clone https://github.com/xdavidhu/mitmAP cd mitmAP
如果您使用的是Raspberry Pi,则MitmAP会附带一个专门用于Raspberry Pi的版本,称为mitmAP_rpi.py。我的机器与Raspberry Pi的尺寸和规格类似,但处理器是英特尔,这意味着我将使用标准的mitmAP.py。
一旦克隆了存储库,就可以运行mitmAP.py来安装依赖关系。如果您使用的是树莓派,替换所有mitmAP.py用命令mitmAP_rpi.py。
步骤2 配置您的恶意接入点
在终端窗口中输入以下命令
python3 mitmAP.py
该命令指定使用Python 3解释器,并启动MitmAP。当MitmAP启动时,我们可以选择安装或更新依赖项。我建议通过按Y键让MitmAP在第一次运行时进行更新,然后输入。
一旦MitmAP完成其依赖关系的安装或升级,就可以配置接入点了。
如果你没有得到接口名称 ,现在是时候这样做了。用Ctrl + C结束这个过程。另外,还需要两个设备名称来配置AP。第一个设备是您希望用作AP的无线接口,第二个设备是您希望用于WAN连接的接口。如前所述,可以使用ip命令找到设备的名称,如下所示。
ifconfig
我的系统中有两个无线网卡,其中一个是外置USB卡,另一个是内置的。内置网卡比外网功能强大得多,因此我将使用外接网卡或wlan1,为我的AP。对于我的WAN连接,我将在eth0上使用有线连接。一旦你整理了你的接口,用下面的命令再次运行MitmAP。
python3 mitmAP.py
输入接口名称后,系统会询问您是否要使用SSLStrip。此工具会尝试将客户端连接降级为HTTP而不是HTTPS。这可以是一个很好的方式来捕获凭据,所以我会启用它。
下一个提示询问用户是否想用Driftnet捕捉未加密的图像。如果您选择这样做,Driftnet将读取TCP流查找图像并将其拉下。我没有启用此选项,因为它无法在无头模式下工作。
MitmAP会询问是否应该创建一个新的Hostapd文件。接下来,系统会提示您输入接入点的SSID(服务集标识符) – 这是AP的名称。根据您创建的恶意AP的类型,在您所在地区的公共可访问网络之后命名AP可能会有所帮助。我会将其命名为“evilAP”。
MitmAP要求为AP提供一个频道,我选择了通道1,最常用的是1、6和11。一旦选择了通道,MitmAP会询问你是否要启用WPA2加密。
如果启用加密,则必须设置密码。如果试图通过模仿公共SSID来欺骗用户连接到evilAP,您需要尽可能的保持它的原态。如果您要定向的AP使用WPA2,则应使用与您模拟的AP相同的密码 启用WPA2。如果你只是建立一个蜜罐,建议不加密地运行它。这将吸引刚刚查找任何网络连接的用户。我配置了我的AP没有WPA2。
您将被问到是否要为客户设置速度限制。我选择不要。MitmAP会询问是否想在AP接口上启动Wireshark。它就捕获数据包,并在闲暇时浏览通信量。
由于我正在使用无界面系统,因此我没有选择。当你对Wireshark选择no时,它会继续询问是否想使用Tshark。显然,为了攻击,需要一个PCAP(数据包捕获)日志,所以我选择了是的。最后,MitmAP会询问是否要手动配置DNS欺骗,我选择了no。
选择最后的选项后,脚本应该启动。AP现在正在运行
步骤3 在日志中查找截取的数据
这个AP现在是一个功能齐全的邪恶AP。在这个例子中,我使用台式机连接到“evilAP”网络,MitmAP在下面的示例中显示连接。
从用户的角度来看,一切似乎都是正常的。虽然在某些情况下,SSLStrip确实会导致页面中断,但是我能够浏览许多我通常使用的网站,没有任何问题。但是有些网站能够强制加密。当我切换到Firefox时,这些相同站点中的一些被降级为HTTP。Firefox在尝试将凭据输入到降级站点时确实会提供警告,但这可能不足以劝阻普通用户。
OK,我们已经捕获到了一些信息,可以关闭AP了。要关闭AP,可以连续使用Ctrl + C两次。MitmAP关闭并修复其对系统的更改。
所有的信息都存储在mitmAP / logs文件夹中。另外需要你在HTTPS的网站上做一个登录请求,能够在终端中使用以下命令在SSLStrip日志中找到凭据。
grep -a sitename mitmap-sslstrip.log | grep passwd --color = always
该命令在文件中搜索字符串“passwd”并为其着色。该-a就好像它是文本参数处理的二进制文件。这是必要的,因为生成的日志是一个数据文件。
就这样,我们已经截获了别人的密码!
为什么要使用MitmAP
MitmAP节省了大量的配置时间。但是失去了可定制的功能。虽然这个工具非常强大!有一点要注意的是,MitmAP使用SSLStrip来尝试降级HTTPS连接,这不是百分百可靠的。效果似乎取决于目标访问的网站,在某些情况下,即使您不能捕获所有网站的凭据,但有时只需要一次成功的捕获就可以了。通过使用MitmAP日志文件,您可以将访问的其他站点拼凑起来,并在其他站点上尝试任何捕获凭证。