Commit 6f8f7ffb authored by Sophie Brun's avatar Sophie Brun

New upstream version 1.4

parent 34f3d0e6
root = true
[*]
end_of_line = lf
insert_final_newline = true
[*.py]
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[{.travis.yml}]
indent_style = space
indent_size = 2
# Locations added by --lure-capture
wifiphisher/data/locs/*
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
......@@ -43,11 +46,15 @@ coverage.xml
*.mo
*.pot
# Django stuff:
# Ignore logs
*.log
*.log*
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Phishing scenarios specific files
wifiphisher/data/phishing-pages/plugin_update/static/update/*
[style]
based_on_style = pep8
# There's no sudo: required because it slows down Travis CI job startup
# and we don't really need it with addons: apt.
language: python
dist: trusty
python:
- "2.7"
install:
- pip install pylint tox tornado scapy
- python setup.py install
# We need system's site_packages for python-dbus.
virtualenv:
system_site_packages: true
script:
- export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
- pylint --errors-only wifiphisher
- tox -e ALL
branches:
only:
- master
notifications:
email:
on_success: never
on_failure: always
irc:
channels:
- "chat.freenode.net#wifiphisher"
use_notice: true
# FIXME: python-tornado is here because of this error:
#
# > Tornado requires an up-to-date SSL module. This means Python 2.7.9+ or 3.4+
# > (although some distributions have backported the necessary changes to older
# > versions)
#
# Ubuntu does the backporting. The proper solution would be to upgrade Python
# or somehow bypass this Tornado check (or use an older Tornado version
# perhaps?)
addons:
apt:
packages:
- hostapd
- dnsmasq
- python-dbus
- libdbus-1-dev
- libdbus-glib-1-dev
Wifiphisher v1.4 [2018-01-12]
o Added dissociation frame to DEAUTH attack [@anakin1028]
o RSSI output fix [@anakin1028]
o Code quality fixes. [@blackHatMonkey]
o Introduced MAC address randomization [@anakin1028]
o Refactoring of interface management module [@blackHatMonkey]
o Introduced tox. [@blackHatMonkey]
o Added support for providing Internet to victim users via a wireless interface [@anakin1028]
o Tool now kills any interfering processes on startup [@anakin1028]
o Use curses everywhere for TUI [@anakin1028]
o Show the encryption type during AP discovery. [@sophron]
o Introduced Wifiphisher Extensions [@sophron]
o Introduced roguehostapd, a patched version of hostapd. [@anakin1028]
o Introduced WPA/WPA2 captured passphrase validation. [@anakin1028]
o Added WPS info during AP discovery. [@anakin1028]
o Added the option to perform DEAUTH attack based on ESSID [@anakin1028]
o Added operation moded [@sophron]
o Increased performance of modules [@blackHatMonkey]
o Made the tool run with only one physical interface [@anakin1028]
o Introduced --logging option [@blackHatMonkey]
o Introduced channel monitoring to check if target AP switches channel [@anakin1028]
o Introduced Known Beacons attack [@sophron]
o Introduced WPS PBC phishing attack [@anakin1028]
Wifiphisher v1.3 [2017-04-15]
o Introduced --quitonsuccess (-qS) option. [@javaes]
o Introduced Travis CI. [@d33tah]
o Install pylint in Travis. [@blackHatMonkey]
o Web server migration to Tornado. Fixes various bugs and increases performance. [@sophron]
o Remove DNS leases after the script restarts. [@laozi999]
o Introduced --internetinterface (-iI) option to provide Internet connectivity to victims. [@sophron]
o Added support for iOS and Android to our network manager imitation template. [@alexsalvetti]
o Introduced a new deauthentication module. [@blackHatMonkey]
o Introduced a new recon module, including new features in target AP selection phase. [@blackHatMonkey]
o Code refactoring including a more modular design. [@sophron]
o Introduced accesspoint module serving as a hostapd wrapper. [@sophron]
o Introducing Lure10, an attack for automatic association against Windows devices. [@sophron]
Wifiphisher v1.2 [2016-12-04]
o Web server now starts after DHCP [@sophron]
o Support logging of multiple POST values [@sophron]
o Include some ASCII art [@sophron]
o Introduced 'phishinghttp' module and fixed bugs on HTTP server [@sophron]
o Users may now interactively choose the scenario they wish [@blackHatMonkey]
o Included an impoved algorithm for detecting and using two of the available network interfaces. [@blackHatMonkey]
o Introduced --presharedkey option. Users may now create Evil Twin against password-protected networks. [@sophron]
o Introduced "Browser Plugin Update" scenario. [@V1V1]
o Packaged the project. Dependencies can now be automatically installed with setup.py. [@sophron]
o Added the feature to detect AP vendor based on BSSID. [@lvrach]
o Included template engine. [@lvrach]
o Fixed issues on Ubuntu. [@lvrach]
o Fixed issues on Arch Linux. [@gtklocker]
o Included PyRIC project. [@blackhatMonkey]
o Introduced --essid option. This will skip the AP selection phase. [@sophron]
o Introduced --nojamming option. This will turn off deauthentication. [@sophron]
o Introduced new OAuth template. [@sophron]
o Introduced new "Wi-Fi Connect" template. [@dionyziz]
Wifiphisher v1.1 [2015-07-01]
o Fixed compatibility with systems defaulting to python3. [@jaseg]
o Fixed bug with undefined variable (#7). [@yasoob]
o Fixed concatenation error. [@HassenPy]
o Code cleaning. [@yasoob]
o Added connection-reset template. [@shelt]
o PEP8 fixes [@HassenPy]
o Disallowed the usage of an Internet-connected interface for the Access Point as this would reset IP addressing. [@sophron]
o Fixed the bug with the empty password (#97). [@sophron]
o Code restructure. [@sophron]
o Catched exception when another process is listening to one of our ports. [@sophron]
o Output a message when hostapd cannot be installed. [@HassenPy]
o Added support for Pineapple's DD-WRT. [@tgalyean]
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project lead author at sophron@latthi.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
Before opening a new issue, please make sure that what you are about to report has not been reported already. If not, use the following template for reporting:
Before opening a new issue, please make sure that what you are about to report has not been reported already. If not, use the following template for reporting.
**Version**: Use `git show | grep commit` command and paste here the output.
**Distribution**: On which GNU/Linux distribution are you using the tool? (e.g. Kali Linux, Gentoo, Debian)
If you know the bug happens on all distributions please mention it. Otherwise, let us know the distribution that you found the bug on.
**Summary**: Describe the bug in a short paragraph.
**Description**: Give a more analytical description here. If the bug you are about to report has to do with the WiFi jamming module, please specify the network cards you are using. If the bug has to do with the rogue Access Point (eg NAT or IP addressing issues), also post the output of the `ifconfig -a` and `iwconfig` commands. Finally, if the bug is about the phishing pages or our HTTP minimal server, please specify the browser you are using to connect to it.
**Steps to Reproduce**: The minimal set of steps necessary to trigger the bug.
**Expected VS actual behavior**: How were you expecting the tool to behave and what actually happened?
**Description**: Give a more analytical description here. The output of the `iw list` and `iwconfig` commands may be helpful.
**Script output**: Paste the output of the tool, including any stack traces.
include LICENSE README.md
include LICENSE.txt README.md
recursive-include wifiphisher/data *
<p align="center"><img src="https://sophron.github.io/wifiphisher/wifiphisher.png" /></p>
[![Build Status](https://travis-ci.org/wifiphisher/wifiphisher.svg?branch=master)](https://travis-ci.org/wifiphisher/wifiphisher)
[![Documentation Status](https://readthedocs.org/projects/wifiphisher/badge/?version=latest)](http://wifiphisher.readthedocs.io/en/latest/?badge=latest)
![Python Version](https://img.shields.io/badge/python-2.7-blue.svg)
![License](https://img.shields.io/badge/license-GPL-blue.svg)
[![Chat IRC](https://img.shields.io/badge/chat-IRC-ff69b4.svg)](https://webchat.freenode.net/?channels=%23wifiphisher)
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/wifiphisher.png" /></p>
## About
Wifiphisher is a security tool that mounts automated phishing attacks against WiFi networks in order to obtain secret passphrases or other credentials. It is a social engineering attack that unlike other methods it does not include any brute forcing. It is an easy way for obtaining credentials from captive portals and third party login pages or WPA/WPA2 secret passphrases.
<a href="https://wifiphisher.org">Wifiphisher</a> is a security tool that performs Wi-Fi automatic association attacks to force wireless clients to unknowingly connect to an attacker-controlled Access Point. It is a rogue Access Point framework that can be used to mount automated victim-customized phishing attacks against WiFi clients in order to obtain credentials or infect the victims with malwares. It can work a social engineering attack tool that unlike other methods it does not include any brute forcing. It is an easy way for obtaining credentials from captive portals and third party login pages (e.g. in social networks) or WPA/WPA2 pre-shared keys.
Wifiphisher works on Kali Linux and is licensed under the GPL license.
## How it works
After achieving a man-in-the-middle position using the Evil Twin attack, wifiphisher redirects all HTTP requests to an attacker-controlled look-alike web site.
After achieving a man-in-the-middle position using Wi-Fi automatic association techniques (including "KARMA" and "Known Beacons" attacks), Wifiphisher by default redirects all HTTP requests to an attacker-controlled phishing page.
From the victim's perspective, the attack makes use in three phases:
1. **Victim is being deauthenticated from her access point**. Wifiphisher continuously jams all of the target access point's wifi devices within range by forging “Deauthenticate” or “Disassociate” packets to disrupt existing associations.
2. **Victim joins a rogue access point**. Wifiphisher sniffs the area and copies the target access point's settings. It then creates a rogue wireless access point that is modeled by the target. It also sets up a NAT/DHCP server and forwards the right ports. Consequently, because of the jamming, clients will start connecting to the rogue access point. After this phase, the victim is MiTMed.
3. **Victim is being served a realistic router config-looking page**. Wifiphisher employs a minimal web server that responds to HTTP & HTTPS requests. As soon as the victim requests a page from the Internet, wifiphisher will respond with a realistic fake page that asks for credentials. The tool supports community-built templates for different phishing scenarios, such as:
* Router configuration pages that ask for the WPA/WPA2 passphrase due to a router firmware upgrade.
* 3rd party login pages (for example, login pages similar to those of popular social networking or e-mail access sites and products)
* Captive portals, like the ones that are being used by hotels and airports.
2. **Victim joins a rogue access point**. Wifiphisher sniffs the area and copies the target access point's settings. It then creates a rogue wireless access point that is modeled by the target. It also sets up a NAT/DHCP server and forwards the right ports. Consequently, because of the deauth attack and the automatic association techniques, clients will eventually start connecting to the rogue access point. After this phase, the victim is MiTMed.
3. **Victim is being served a realistic specially-customized phishing page**. Wifiphisher employs a minimal web server that responds to HTTP & HTTPS requests. As soon as the victim requests a page from the Internet, wifiphisher will respond with a realistic fake page that asks for credentials or serves malwares. This page will be specifically crafted for the victim. For example, a router config-looking page will contain the brand of the victim's vendor. The tool supports community-built templates for different phishing scenarios.
<p align="center"><img width="70%" src="https://wifiphisher.github.io/wifiphisher/diagram.jpg" /><br /><i>Performing MiTM attack</i></p>
## Requirements
Following are the requirements for getting the most out of Wifiphisher:
* Kali Linux. Although people have made Wifiphisher work on other distros, Kali Linux is the officially supported distribution, thus all new features are primarily tested on this platform.
* One wireless network adapter that supports AP & Monitor mode and is capable of injection. For advanced mode, you need two cards; one that supports AP mode and another that supports Monitor mode. Drivers should support netlink.
## Installation
To install the latest development version type the following commands:
<p align="center"><img width="70%" src="https://sophron.github.io/wifiphisher/diagram.jpg" /><br /><i>Performing MiTM attack</i></p>
```bash
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 <a href="https://github.com/wifiphisher/wifiphisher/releases">Releases page</a>.
## Usage
Install the tool by hitting `python setup.py install`.
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.
***
```shell
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 <a href="https://wifiphisher.org/ps/firmware-upgrade/">"Firmware Upgrade"</a> scenario is an easy way for obtaining the PSK from a password-protected network.
***
Run the tool by typing `wifiphisher` afterwards.
```shell
wifiphisher --essid CONFERENCE_WIFI -p plugin_update -pK s3cr3tp4ssw0rd
```
Following are some common options along with their descriptions:
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 <a href="https://wifiphisher.org/ps/plugin_update/">"Plugin Update"</a> scenario provides an easy way for getting the victims to download malicious executables (e.g. malwares containing a reverse shell payload).
***
```shell
wifiphisher --noextensions --essid "FREE WI-FI" -p oauth-login -kB
```
Do not load any extensions. Simply spawn an open Wi-Fi network with ESSID "FREE WI-FI" and perform the "OAuth Login" scenario. Use the "Known Beacons" Wi-Fi automatic association technique.
Useful against victims in public areas. The <a href="https://wifiphisher.org/ps/oauth-login/">"OAuth Login"</a> 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 |
| :----------: | :---------: | :-----------: |
| -m | maximum | Choose the maximum number of clients to deauth. List of clients will be emptied and repopulated after hitting the limit. Example: -m 5 |
| -n | noupdate | Do not clear the deauth list when the maximum (-m) number of client/AP combos is reached. Must be used in conjunction with -m. Example: -m 10 -n |
| -t | timeinterval | Choose the time interval between packets being sent. Default is as fast as possible. If you see scapy errors like 'no buffer space' try: -t .00001 |
| -p | packets | Choose the number of packets to send in each deauth burst. Default value is 1; 1 packet to the client and 1 packet to the AP. Send 2 deauth packets to the client and 2 deauth packets to the AP: -p 2 |
| -d | directedonly | Skip the deauthentication packets to the broadcast address of the access points and only send them to client/AP pairs |
| -a | accesspoint | Enter the MAC address of a specific access point to target |
| -jI | jamminginterface | Choose the interface for jamming. By default script will find the most powerful interface and starts monitor mode on it. |
| -aI | apinterface | Choose the interface for the fake AP. By default script will find the second most powerful interface and starts monitor mode on it. |
|-h | --help| show this help message and exit |
|-jI EXTENSIONSINTERFACE| --extensionsinterface EXTENSIONSINTERFACE| Manually choose an interface that supports monitor mode for running the extensions. Example: -jI wlan1|
|-aI APINTERFACE| --apinterface APINTERFACE| Manually choose an interface that supports AP mode for spawning an AP. Example: -aI wlan0|
|-nJ| --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'|
|-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. Example: -hC capture.pcap|
|-dE|--deauth-essid|Deauth all the BSSIDs having same ESSID from AP selection or the ESSID given by -e option.|
||--logging| Enable logging. Output will be saved to wifiphisher.log file.|
|-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.|
## Screenshots
<p align="center"><img src="https://sophron.github.io/wifiphisher/ss1.png" /><br /><i>Targeting an access point</i></p>
<p align="center"><img src="https://sophron.github.io/wifiphisher/ss2.png" /><br /><i>A successful attack</i></p>
<p align="center"><img src="https://sophron.github.io/wifiphisher/ss3.png" /><br /><i>Fake router configuration page</i></p>
## Screenshots
## Requirements
* Kali Linux.
* Two wireless network adapters that support AP and Monitor mode accordingly.
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/ss5.png" /><br /><i>Targeting an access point</i></p>
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/ss2.png" /><br /><i>A successful attack</i></p>
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/ss7.png" /><br /><i>Fake <a href="https://wifiphisher.org/ps/firmware-upgrade/">router configuration page</a></i></p>
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/ss6.png" /><br /><i>Fake <a href="https://wifiphisher.org/ps/oauth-login/">OAuth Login Page</a></i></p>
<p align="center"><img src="https://wifiphisher.github.io/wifiphisher/ss4.png" /><br /><i>Fake <a href="https://wifiphisher.org/ps/wifi_connect/">web-based network manager</a></i></p>
## 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 <a href="https://github.com/sophron/wifiphisher/issues">bug tracker</a> for some tasks to do.
If you are a Python developer or a web designer you can help us improve wifiphisher. Feel free to take a look at the <a href="https://github.com/wifiphisher/wifiphisher/issues">bug tracker</a> for some tasks to do.
If you don't know how to code, you can help us by <a href="https://github.com/sophron/wifiphisher/issues">proposing improvements or reporting bugs</a>. Please have a look at the <a href="https://github.com/sophron/wifiphisher/wiki/Bug-reporting-guidelines">Bug Reporting Guidelines</a> and the <a href="https://github.com/sophron/wifiphisher/wiki/Frequently-Asked-Questions-%28FAQ%29">FAQ document</a> 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.
If you don't know how to code, you can help us by <a href="https://github.com/wifiphisher/wifiphisher/issues">proposing improvements or reporting bugs</a>. Please have a look at the <a href="https://github.com/wifiphisher/wifiphisher/wiki/Bug-reporting-guidelines">Bug Reporting Guidelines</a> and the <a href="https://github.com/wifiphisher/wifiphisher/wiki/Frequently-Asked-Questions-%28FAQ%29">FAQ document</a> 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 <a
href="https://github.com/DanMcInerney">Dan McInerney</a>.
href="https://github.com/DanMcInerney">Dan McInerney</a> back in 2015.
A full list of contributors lies <a href="https://github.com/sophron/wifiphisher/graphs/contributors">here</a>.
A full list of contributors lies <a href="https://github.com/wifiphisher/wifiphisher/graphs/contributors">here</a>.
## License
Wifiphisher is licensed under the GPL license. See [LICENSE](LICENSE) for more information.
## Project Status & Download
Wifiphisher's current version is **1.1**. You can download the latest release from <a href="https://github.com/sophron/wifiphisher/releases/tag/v1.1">here</a>. Otherwise you can get the latest development version by cloning this repository.
## Other resources
* Official wiki: https://github.com/sophron/wifiphisher/wiki
* “Introducing wifiphisher“ talk at BSidesLondon: https://www.youtube.com/watch?v=pRtxFWJTS4k
* HowTo video by JackkTutorials: https://www.youtube.com/watch?v=tCwclyurB8I
* "Get Anyone's Wi-Fi Password Without Cracking Using Wifiphisher" by Null Byte: http://null-byte.wonderhowto.com/how-to/hack-wi-fi-get-anyones-wi-fi-password-without-cracking-using-wifiphisher-0165154/
## Project Status
Wifiphisher's current version is **1.4**. You can download the latest release from <a href="https://github.com/wifiphisher/wifiphisher/releases/tag/v1.4">here</a>. Otherwise you can get the latest development version by cloning this repository.
## Disclaimer
* Authors do not own the logos under the `wifiphisher/data/logos` directory. Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for "fair use" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research.
* Usage of Wifiphisher for attacking infrastructures without prior mutual consistency can be considered as an illegal activity. It is the final user's responsibility to obey all applicable local, state and federal laws. Authors assume no liability and are not responsible for any misuse or damage caused by this program.
* Usage of Wifiphisher for attacking infrastructures without prior mutual consistency can be considered as an illegal activity. It is the final user's responsibility to obey all applicable local, state and federal laws. Authors assume no liability and are not responsible for any misuse or damage caused by this program.
<b>Note</b>: This is the only official page for wifiphisher. Other sites may be delivering malware.
<b>Note</b>: Be aware of sites pretending to be related with the Wifiphisher Project. They may be delivering malware.
[![alt text][1.1]][1]
[1.1]: http://i.imgur.com/tXSoThF.png (Follow me)
[1]: http://www.twitter.com/_sophron
For Wifiphisher news, follow us on <a href="https://www.twitter.com/wifiphisher">Twitter</a> or like us on <a href="https://www.facebook.com/Wifiphisher-129914317622032/">Facebook</a>.
......@@ -3,6 +3,11 @@
import sys
import os
import logging
root_logger = logging.getLogger()
root_logger.addHandler(logging.NullHandler())
dir_of_executable = os.path.dirname(__file__)
path_to_project_root = os.path.abspath(os.path.join(dir_of_executable, '..'))
......
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " epub3 to make an epub3"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
@echo " dummy to check syntax errors of document sources"
.PHONY: clean
clean:
rm -rf $(BUILDDIR)/*
.PHONY: html
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
.PHONY: dirhtml
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
.PHONY: singlehtml
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
.PHONY: pickle
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
.PHONY: json
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
.PHONY: htmlhelp
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
.PHONY: qthelp
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Wifiphisher.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Wifiphisher.qhc"
.PHONY: applehelp
applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
.PHONY: devhelp
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"