wifiphisher README

The project's README from github.com/wifiphisher/wifiphisher. As one markdown file: README.md.

Build Status Documentation Status Python Version License

About

Wifiphisher is a rogue Access Point framework for conducting red team engagements or Wi-Fi security testing. Using Wifiphisher, penetration testers can easily achieve a man-in-the-middle position against wireless clients by performing targeted Wi-Fi association attacks. Wifiphisher can be further used to mount victim-customized web phishing attacks against the connected clients in order to capture credentials (e.g. from third party login pages or WPA/WPA2 Pre-Shared Keys) or infect the victim stations with malwares.

Wifiphisher is...

How it works

Wi-Fi phishing consists of two steps:

  1. The first step involves the process of associating with Wi-Fi clients unknowingly, or in other words, obtaining a man-in-the-middle (MITM) position. Wifiphisher uses a number of different techniques to achieve this including:

    • Evil Twin, where Wifiphisher creates a fake wireless network that looks similar to a legitimate network.
    • KARMA, where Wifiphisher masquerades as a public network searched for by nearby Wi-Fi clients.
    • Known Beacons, where Wifiphisher broadcasts a dictionary of common ESSIDs, that the around wireless stations have likely connected to in the past.

    At the same time, Wifiphisher keeps forging “Deauthenticate” or “Disassociate” packets to disrupt existing associations and eventually lure victims using the above techniques.


Performing MiTM attack

  1. (Optionally) There are a number of different attacks that can be carried out once Wifiphisher grants the penetration tester with a man-in-the-middle position. For example, the tester may perform data sniffing or scan the victim stations for vulnerabilities.

    Using Wifiphisher, advanced web phishing techniques are possible by gathering

information from the target environment and victim user. For example, in one of our scenarios, Wifiphisher will extract information from the broadcasted beacon frames and the HTTP User-Agent header to display a web-based imitation of Windows network manager in order to capture the Pre-Shared Key.


Fake web-based network manager

Requirements

Following are the requirements for getting the most out of Wifiphisher:

Installation

To install the latest development version type the following commands:

git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies

Alternatively, you can download the latest stable version from the Releases page.

Usage

Run the tool by typing wifiphisher or python bin/wifiphisher (from inside the tool's directory).

By running the tool without any options, it will find the right interfaces and interactively ask the user to pick the ESSID of the target network (out of a list with all the ESSIDs in the around area) as well as a phishing scenario to perform. By default, the tool will perform both Evil Twin and KARMA attacks.


wifiphisher -aI wlan0 -jI wlan4 -p firmware-upgrade --handshake-capture handshake.pcap

Use wlan0 for spawning the rogue Access Point and wlan4 for DoS attacks. Select the target network manually from the list and perform the "Firmware Upgrade" scenario. Verify that the captured Pre-Shared Key is correct by checking it against the handshake in the handshake.pcap file.

Useful for manually selecting the wireless adapters. The "Firmware Upgrade" scenario is an easy way for obtaining the PSK from a password-protected network.


wifiphisher --essid CONFERENCE_WIFI -p plugin_update -pK s3cr3tp4ssw0rd

Automatically pick the right interfaces. Target the Wi-Fi with ESSID "CONFERENCE_WIFI" and perform the "Plugin Update" scenario. The Evil Twin will be password-protected with PSK "s3cr3tp4ssw0rd".

Useful against networks with disclosed PSKs (e.g. in conferences). The "Plugin Update" scenario provides an easy way for getting the victims to download malicious executables (e.g. malwares containing a reverse shell payload).


wifiphisher --essid "FREE WI-FI" -p oauth-login -kB

Simply spawn an open Wi-Fi network with ESSID "FREE WI-FI" and perform the "OAuth Login" scenario. Furthermore, mount the "Known Beacons" Wi-Fi automatic association technique.

Useful against victims in public areas. The "OAuth Login" scenario provides a simple way for capturing credentials from social networks, like Facebook.

Following are all the options along with their descriptions (also available with wifiphisher -h):

Short form Long form Explanation
-h --help show this help message and exit
-i INTERFACE --interface INTERFACE Manually choose an interface that supports both AP and monitor modes for spawning the rogue AP as well as mounting additional Wi-Fi attacks from Extensions (i.e. deauth). Example: -i wlan1
-eI EXTENSIONSINTERFACE --extensionsinterface EXTENSIONSINTERFACE Manually choose an interface that supports monitor mode for running the extensions. Example: -eI wlan1
-aI APINTERFACE --apinterface APINTERFACE Manually choose an interface that supports AP mode for spawning an AP. Example: -aI wlan0
-pI INTERFACE --protectinterface INTERFACE Specify one or more interfaces that will have their connection protected from being managed by NetworkManager.
-kN --keepnetworkmanager Do not kill NetworkManager.
-nE --noextensions Do not load any extensions.
-e ESSID --essid ESSID Enter the ESSID of the rogue Access Point. This option will skip Access Point selection phase. Example: --essid 'Free WiFi'
-pPD PHISHING_PAGES_DIRECTORY --phishing-pages-directory PHISHING_PAGES_DIRECTORY Search for phishing pages in this location
-p PHISHINGSCENARIO --phishingscenario PHISHINGSCENARIO Choose the phishing scenario to run.This option will skip the scenario selection phase. Example: -p firmware_upgrade
-pK PRESHAREDKEY --presharedkey PRESHAREDKEY Add WPA/WPA2 protection on the rogue Access Point. Example: -pK s3cr3tp4ssw0rd
-qS --quitonsuccess Stop the script after successfully retrieving one pair of credentials.
-lC --lure10-capture Capture the BSSIDs of the APs that are discovered during AP selection phase. This option is part of Lure10 attack.
-lE LURE10_EXPLOIT --lure10-exploit LURE10_EXPLOIT Fool the Windows Location Service of nearby Windows users to believe it is within an area that was previously captured with --lure10-capture. Part of the Lure10 attack.
-iAM --mac-ap-interface Specify the MAC address of the AP interface. Example: -iAM 38:EC:11:00:00:00
-iEM --mac-extensions-interface Specify the MAC address of the extensions interface. Example: -iEM E8:2A:EA:00:00:00
-iNM --no-mac-randomization Do not change any MAC address.
-hC --handshake-capture Capture of the WPA/WPA2 handshakes for verifying passphrase. Requires cowpatty. Example: -hC capture.pcap
-dE ESSID --deauth-essid ESSID Deauth all the BSSIDs in the WLAN with that ESSID.
-dC CHANNELS --deauth-channels CHANNELS Channels to deauth. Example: --deauth-channels 1,3,7
--logging Enable logging. Output will be saved to wifiphisher.log file.
-lP LOGPATH --logpath LOGPATH Determine the full path of the logfile.
-cP CREDENTIAL_LOG_PATH --credential-log-path CREDENTIAL_LOG_PATH Determine the full path of the file that will store any captured credentials
-cM --channel-monitor Monitor if the target access point changes the channel.
--payload-path Enable the payload path. Intended for use with scenarios that serve payloads.
-wP --wps-pbc Monitor if the button on a WPS-PBC Registrar side is pressed.
-wAI --wpspbc-assoc-interface The WLAN interface used for associating to the WPS AccessPoint.
-kB --known-beacons Perform the known beacons Wi-Fi automatic association technique.
-fH --force-hostapd Force the usage of hostapd installed in the system.
--dnsmasq-conf DNSMASQ_CONF Determine the full path of dnmasq.conf file.
-dK --disable-karma Disables KARMA attack.
-pE --phishing-essid Determine the ESSID you want to use for the phishing page.

Screenshots


Targeting an access point


A successful attack


Fake router configuration page


Fake OAuth Login Page


Fake web-based network manager

Help needed

If you are a Python developer or a web designer you can help us improve Wifiphisher. Feel free to take a look at the bug tracker for some tasks to do.

If you don't know how to code, you can help us by proposing improvements or reporting bugs. Please have a look at the Bug Reporting Guidelines and the FAQ document beforehand. Note that the tool does not aim to be script-kiddie friendly. Make sure you do understand how the tool works before opening an issue.

Credits

The script is based on an idea from Dan McInerney back in 2015.

A full list of contributors lies here.

License

Wifiphisher is licensed under the GPLv3 license. See LICENSE for more information.

Project Status

Wifiphisher's current version is 1.4. You can download the latest release from here. Otherwise you can get the latest development version by cloning this repository.

Disclaimer

Note: Be aware of sites pretending to be related with the Wifiphisher Project. They may be delivering malware.

For Wifiphisher news, follow us on Twitter or like us on Facebook.

wifiphisher (wifiphisher/wifiphisher)

Searching Database…

这是什么?Wifiphisher 是一个恶意接入点框架,用于对无线客户端发起 Wi-Fi 钓鱼和中间人攻击,常用于红队和渗透测试任务中。
它是命令行工具还是图形界面应用?它是一个命令行工具,带有交互式 Textual 用户界面,引导测试人员选择目标网络和钓鱼场景。
我该怎么运行它?从源代码安装最新开发版本,然后在工具目录中输入 'wifiphisher' 或 'python bin/wifiphisher' 运行;不加参数时,它会自动检测网络接口,并让你选择目标 ESSID 和攻击场景。
需要什么硬件和操作系统?你需要一台可正常使用的 Linux 系统(官方支持的发行版是 Kali Linux),以及一块支持 AP 模式和监听模式、具备注入能力并支持 netlink 驱动的无线网卡。
这是给脚本小子或新手用的吗?不是。维护者明确表示,该工具并不适合脚本小子使用,希望用户在提交 issue 之前先理解其工作原理。
它能在任何 Linux 发行版上运行吗?它已被适配到多种发行版上运行,但 Kali Linux 是官方测试并支持新功能的平台。
Wifiphisher 如何获得中间人位置?它使用 Evil Twin(模仿合法网络的假网络)、KARMA(伪装成客户端曾搜索过的网络)以及 Known Beacons(广播受害者可能曾连接过的常见 ESSID),同时发送解除认证数据包以打断现有连接。
拿到中间人位置后我能做什么?除了被动嗅探数据或漏洞扫描之外,Wifiphisher 还能运行更高级的钓鱼场景,例如伪造的 Windows 网络管理器页面来获取 Wi-Fi 密码,或者使用 'OAuth Login'、'Firmware Upgrade' 等社会工程学页面来窃取凭据或投递恶意载荷。
Lure10 攻击选项是做什么用的?Lure10(--lure10-capture 和 --lure10-exploit)会捕获附近 AP 的 BSSID,之后欺骗 Windows 位置服务,使其认为受害者位于之前捕获过的区域内,从而提高 Windows 设备自动关联的成功率。
我能验证抓到的密码是否正确吗?可以。使用 --handshake-capture 选项(需要 cowpatty),你可以将抓到的预共享密钥与保存在 pcap 文件中的 WPA/WPA2 握手包进行比对验证。
Size
12.6 MB
Stars
14.9K
Age
12y
Commits · 90 Days