diff --git a/.gitmodules b/.gitmodules index 67ac937..8d71b86 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "mininet-wifi"] path = Framework/mininet-wifi url = https://github.com/JsphByd/mininet-wifi.git +[submodule "Framework/john"] + path = Framework/john + url = https://github.com/openwall/john.git diff --git a/Dockerfile b/Dockerfile index 3ca02b5..d92c077 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:24.04 as base USER root -COPY xhost /usr/bin +COPY xhost /usr/bin/ WORKDIR /wififorge @@ -21,14 +21,25 @@ RUN apt install -y \ iputils-ping RUN git config --global --add safe.directory $PWD +RUN git config --global --add safe.directory $PWD/Framework/john RUN git submodule init RUN git submodule update +RUN git config --global --add safe.directory $PWD/Framework/mininet-wifi/hostapd + RUN python3 -m pip config set global.break-system-packages true + RUN chmod +x ./Framework/dependencies.sh RUN ./Framework/dependencies.sh RUN ./Framework/mininet-wifi/util/install.sh -Wlnfv RUN sudo make -C Framework/mininet-wifi install -RUN service openvswitch-switch start \ No newline at end of file +RUN service openvswitch-switch start + +#setup john +RUN apt install libssl-dev +RUN ./Framework/john/src/configure +RUN make -C Framework/john/src +RUN make -C Framework/john/src -s clean && make -C Framework/john/src -sj4 + diff --git a/Framework/NTLM_Hash.py b/Framework/NTLM_Hash.py deleted file mode 100755 index f9caf4e..0000000 --- a/Framework/NTLM_Hash.py +++ /dev/null @@ -1,9 +0,0 @@ -import socket -import hashlib -from WifiForge import print_banner - -def generate_ntlm_hash(password): - print_banner(); - hash_utf16le = password.encode('utf-16le') - ntlm_hash = hashlib.new('md4', hash_utf16le).digest() - return ntlm_hash diff --git a/Framework/john b/Framework/john new file mode 160000 index 0000000..d384b5b --- /dev/null +++ b/Framework/john @@ -0,0 +1 @@ +Subproject commit d384b5be9aa6d4d1217df17e6f3bea7eacd538bf diff --git a/README.md b/README.md index 6a41e5a..daba188 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,62 @@ Wi-Fi Forge Banner -## FAQS +# Wi-Fi Forge -Wi-Fi Forge provides a safe environment for learning WiFi hacking via [Mininet-Wifi](https://github.com/intrig-unicamp/mininet-wifi/tree/master?tab=readme-ov-file) and [Mininet](https://github.com/mininet/mininet), which creates software defined networks within a single host machine. Wi-Fi Forge provides pre-built labs that can be setup and completed with minimal overhead all from a single laptop without any additional hardware. +Wi-Fi Forge provides a safe and legal environment for learning WiFi hacking. Based on the open source [Mininet-Wifi](https://github.com/intrig-unicamp/mininet-wifi/tree/master?tab=readme-ov-file), this project automatically sets up the networks and tools needed to run a variety of WiFi exploitation labs, removing the need for the overhead and hardware normally required to perform these attacks. -#### Disclaimer/Notes +## Disclaimer/Notes -- Mininet and Wifi Forge only runs on Ubuntu operating systems. +- The installation script will only run on Ubuntu, Debian, or Fedora systems. - It is suggested to run Wifi Forge on Ubuntu version 14.04 or greater. -- The Wifi Forge installation script may disrupt normal operating system use, it is suggested to use a fresh install or virtual machine +- The Wifi Forge installation script may disrupt normal operating system use, it is suggested to use a fresh install, virtual machine, or build using the provided dockerfile (see Set-Up Guide/Docker) ## Set-Up Guide -Clone the repository +### Docker (recommended) + +1. Install Docker +```bash +sudo snap install docker +``` + +2. Clone the repository +```bash +git clone https://github.com/her3ticAVI/MiniNet-Framework +``` + +3. Run the Dockerfile (may take up to 10 minutes) +```bash +sudo docker build -t wififorge . +``` + +4. Start a new container (command should automatically initiate a docker shell) +```bash +sudo docker run --privileged=true -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /sys/:/sys -v /lib/modules/:/lib/modules/ --name mininet-wifi --network=host --hostname mininet-wifi wififorge /bin/bash +``` + +5. Within docker, initiate the controller to simulate APs +```bash +RUN sudo /usr/share/openvswitch/scripts/ovs-ctl start ``` -git clone https://github.com/her3ticAVI/MiniNet-Framework && -cd MiniNet-Framework/Framework && + +6. Within docker, run WifiForge.py +```bash +sudo python3 Framework/WifiForge.py +``` +### Build from Source + + +NOTE: While the setup script is generally stable, running the auto installer directly on your machine may disrupt your operating system in a way that renders it unusable. + +1. Clone the repository +```bash +git clone https://github.com/her3ticAVI/MiniNet-Framework +``` + +2. Run Wi-Fi Forge to perform first time setup (may take up to 10 minutes) +```bash +cd MiniNet-Framework/Framework sudo python3 WifiForge.py ``` @@ -25,17 +65,15 @@ sudo python3 WifiForge.py Wi-Fi Forge provides pre-built labs that cover the following: -- WPA 4 Way Handshakes -- Cracking Wifi Key Encryption -- The tool eaphammer -- WPS Pixie Dust Attacks -- WEP wifi attakcs -- The ARP Spoof tool and downgrading ssl -- The aircrack-ng tool suite -- John the Ripper "JOHN" +- ARP spoofing +- Evil twin +- WEP cracking +- WPA2 cracking +- WPS exploitation ## Links and Further Reading +- https://mininet-wifi.github.io/ - [https://www.hackingarticles.in/wireless-penetration-testing-pmkid-attack/](https://www.hackingarticles.in/wireless-penetration-testing-pmkid-attack/) - [https://en.wikipedia.org/wiki/IEEE_802.11i-2004](https://en.wikipedia.org/wiki/IEEE_802.11i-2004) - [https://www.wildwesthackinfest.com](https://www.wildwesthackinfest.com) @@ -46,3 +84,5 @@ Wi-Fi Forge provides pre-built labs that cover the following: - [https://www.aircrack-ng.org/doku.php?id=airodump-ng](https://www.aircrack-ng.org/doku.php?id=airodump-ng) - [https://www.aircrack-ng.org/doku.php?id=cracking_wpa](https://www.aircrack-ng.org/doku.php?id=cracking_wpa) - [https://charlesreid1.com/wiki/Aircrack_and_John_the_Ripper](https://charlesreid1.com/wiki/Aircrack_and_John_the_Ripper) + +