Compilateur basé sur Forth déployé sous forme de shellcode x86_64 position-independent, fournissant un agent d'exécution de code à distance avec un REPL interactif via TCP, HTTP, ICMP et SMB.
Compilateur EvilVM pour les outils de recherche en sécurité de l'information. Le projet est construit autour d'un compilateur Forth en code natif qui est déployé sous forme de shellcode indépendant de la position. Il fournit une plateforme pour l'exécution de code à distance, utile dans les contextes de sécurité de l'information.
J'ai présenté la version Alpha d'EvilVM à la NolaCon, en 2019. Vous pouvez voir l'enregistrement vidéo d'Irongeek sur YouTube, pour une bonne introduction au projet et quelques démos :
Retrouvez la documentation d'EvilVM sur le site de documentation.
Le principal cas d'usage d'EvilVM est de déployer l'agent sur un système distant, et d'interagir avec lui. L'interpréteur externe du langage est présenté sous forme de shell interactif ou de REPL, et le système offre la capacité de livrer du code à l'agent, qui est compilé et ajouté à l'environnement global hyperstatique.
Les choix technologiques sont faits en gardant à l'esprit les objectifs du projet :