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 @@
-## 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