From 2646eb01d195520b6a1528956a43a126934dacc9 Mon Sep 17 00:00:00 2001 From: Joe B <95513994+JsphByd@users.noreply.github.com> Date: Fri, 31 May 2024 13:18:37 -0600 Subject: [PATCH 1/4] Update README.md --- README.md | 72 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 56 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6a41e5a..2f5a053 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 setups 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) + + From 03dc143342a8aa58e46efafcfff1252e097de3d6 Mon Sep 17 00:00:00 2001 From: Joe B <95513994+JsphByd@users.noreply.github.com> Date: Fri, 31 May 2024 13:36:48 -0600 Subject: [PATCH 2/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f5a053..daba188 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # Wi-Fi Forge -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 setups 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. +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 From 78f43f4ba85e65c6d5090d9d87153f273af908dc Mon Sep 17 00:00:00 2001 From: jsphbyd Date: Fri, 31 May 2024 13:47:48 -0600 Subject: [PATCH 3/4] Updated Dockerfile --- .gitmodules | 3 +++ Dockerfile | 14 ++++++++------ Framework/NTLM_Hash.py | 9 --------- Framework/john | 1 + 4 files changed, 12 insertions(+), 15 deletions(-) delete mode 100755 Framework/NTLM_Hash.py create mode 160000 Framework/john 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 4eb9fd3..d83506e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,9 +13,12 @@ RUN apt install -y git RUN apt install -y sudo RUN apt install -y python3-pip 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 apt install -y curl wget @@ -23,13 +26,12 @@ RUN chmod +x ./Framework/dependencies.sh RUN ./Framework/dependencies.sh RUN apt-get install -y --no-install-recommends \ -# aircrack-ng \ -# john \ -# dsniff \ + aircrack-ng \ + john \ + dsniff \ mininet --allow-downgrades \ iputils-ping RUN ./Framework/mininet-wifi/util/install.sh -Wlnfv -RUN sudo make -C Framework/mininet-wifi install -RUN sudo /usr/share/openvswitch/scripts/ovs-ctl start -#CMD python3 Framework/WifiForge.py \ No newline at end of file +RUN make -C Framework/mininet-wifi install + 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 From ae10a2e66073c3990abbdb9967e21e9e048eee08 Mon Sep 17 00:00:00 2001 From: jsphbyd Date: Fri, 31 May 2024 14:45:01 -0600 Subject: [PATCH 4/4] Added john to dockerfile --- Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d83506e..5f7f503 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,6 +21,12 @@ RUN git config --global --add safe.directory $PWD/Framework/mininet-wifi/hostapd RUN python3 -m pip config set global.break-system-packages true +#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 + RUN apt install -y curl wget RUN chmod +x ./Framework/dependencies.sh RUN ./Framework/dependencies.sh