This uses the @sensepost MANA Toolkit found at Github/sensepost/mana
The docker container will allow you to run MANA attacks without having to install the toolkit on your local machine or firing up a Kali/Ubuntu VM. This is obviously not the ideal way of running the toolkit if you are going to be cracking passphrases on the fly.
$ docker build -t mana .
Ensure that the NetworkManager does not try and "manage" our Physical device (Alpha card ect.) On Fedora:
$ sudo vim /etc/NetworkManager/NetworkManager.conf
Your config should look something like this:
[main]
plugins=ifcfg-rh,keyfile
[keyfile]
unmanaged-devices=mac:00:11:22:33:44:00;mac:00:c0:ca:81:f3:8d;
The file should contain both the initial mac address (real address) and the one that will be assigned by MANA/macchanger
Then restart the NetworkManager service:
$ sudo service NetworkManager restart
To start:
$ sudo docker run -i -t -p 53:53 --privileged --net=host mana /bin/bash
Now you can edit the /usr/share/mana-toolkit/run-mana/* scripts as usual. If you don't want the NetworkManager to interfere and control the upstream connection, simply stop the NetworkManager service OUTSIDE of the docker container.
privileged is required to interact with the wlan driver
use -p to pass through any ports required. From what I've seen it isn't required
This is also a nice way to run Metasploit, isolates it from your environment and you don't have to fight with ruby breaking other apps on your system. To build a Metasploit container, reuse the above Dockerfile, simply remove everything from RUN echo "[+] Installing Mana toolkit"
The following does the trick nicely:
$ docker run -i -t -p 4545:4545 -p 4546:4546 -p 4547:4547 -p 4548:4548 metasploit /bin/bash