Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

FLARE-VM – Le toolkit des passionnés de reverse engineering !

Par : Korben
5 juillet 2024 à 07:00

Si vous vous intéressez au reverse engineering comme moi, permettez-moi de vous présenter FLARE-VM de Mandiant ! C’est un outil très pratique pour vous monter rapidement un petit labo d’analyse de malwares sans vous prendre la tête.

Concrètement, FLARE-VM est une jolie brochette de scripts d’installation pour Windows, basés sur deux technos bien badass : Chocolatey (un gestionnaire de paquets) et Boxstarter (un outil pour scripter des installs et configurer des environnements reproductibles). Bref, ça mâche le boulot et ça permet d’installer tout un tas d’outils et les configurer proprement en quelques minutes.

Bon, avant de se lancer, faut quand même checker deux-trois prérequis. Déjà, n’oubliez pas que FLARE-VM est prévu pour tourner sur une VM, donc préparez-en une bien propre (Windows 10+ de préférence) sur VMWare ou Virtualbox par exemple. Ensuite, vérifiez que vous avez bien au moins 60 Go d’espace disque et 2 Go de RAM. Et pensez à désactiver les mises à jour Windows et l’antivirus, sinon ça risque de faire des misères.

Ouvrez ensuite une invite PowerShell en tant qu’administrateur et téléchargez le script d’installation installer.ps1 sur votre bureau à l’aide de la commande suivante :

(New-Object net.webclient).DownloadFile('https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1',"$([Environment]::GetFolderPath("Desktop"))\install.ps1")

Débloquez le script d’installation :

Unblock-File .\install.ps1

Puis activez son exécution :

Set-ExecutionPolicy Unrestricted -Force

Si vous recevez un message d’erreur indiquant que la stratégie d’exécution est remplacée par une stratégie définie à une portée plus spécifique, vous devrez peut-être passer une portée via Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force. Pour afficher les stratégies d’exécution pour toutes les portées, exécutez Get-ExecutionPolicy -List.

Enfin, exécutez le script d’installation comme ceci :

.\install.ps1

Pour passer votre mot de passe en argument :

.\install.ps1 -password <mot_de_passe>

Pour utiliser le mode CLI uniquement avec un minimum d’interaction utilisateur :

.\install.ps1 -password <mot_de_passe> -noWait -noGui

Pour utiliser le mode CLI uniquement avec un minimum d’interaction utilisateur et un fichier de configuration personnalisé :

.\install.ps1 -customConfig <config.xml> -password <mot_de_passe> -noWait -noGui

Une fois lancée, l’installation va télécharger et installer tous les outils sélectionnés, configurer les variables d’environnement, épingler des raccourcis sur la barre des tâches, etc. Bref, en quelques clics, vous obtiendrez un environnement de reverse engineering aux petits oignons, prêt à l’emploi pour désosser du malware !

Après l’installation, il est recommandé de passer en mode de réseau host-only et de prendre un instantané de la machine virtuelle. Vous pouvez ensuite personnaliser votre environnement FLARE VM en fonction de vos besoins spécifiques :

  • Mettez à jour les outils et les logiciels installés pour vous assurer que vous disposez des dernières versions.
  • Configurez les paramètres réseau selon vos préférences, par exemple en passant en mode NAT ou en mode pont si nécessaire.
  • Installez des outils ou des utilitaires supplémentaires qui pourraient être utiles pour votre flux de travail d’analyse.
  • Personnalisez les paramètres de l’interface utilisateur et les préférences selon vos goûts.

Et c’est parti mon kiki !

Après, si vous voulez aller plus loin et contribuer à l’amélioration de FLARE-VM, jetez un œil aux repos GitHub du projet :

Happy reverse à tous ! 🚀

ReverserAI – Du Reverse Engineering à base d’IA

Par : Korben
30 mai 2024 à 07:00

ReverserAI est un projet de recherche assez avant-gardiste qui vise à automatiser et améliorer les tâches de reverse engineering grâce à l’utilisation de modèles de langage locaux (LLM).

Fonctionnant entièrement hors ligne, cette première version se distingue par sa capacité à suggérer automatiquement des noms de fonctions de haut niveau et sémantiquement significatifs à partir de la sortie du décompilateur. ReverserAI se présente également comme un plugin pour Binary Ninja, mais son architecture modulaire est conçue pour être étendue à d’autres plateformes comme IDA ou encore Ghidra.

Et bien que les LLM locaux n’égalent pas encore les performances de leurs concurrents basés sur le cloud comme ChatGPT4 ou Claude3, ils représentent une avancée majeure avec un bon équilibre entre les performances et la confidentialité.

Parmi les fonctionnalités clés de cet outil, on retrouve :

  • Un fonctionnement totalement hors ligne, ce qui garantit la confidentialité et la sécurité des données
  • La suggestion automatique de noms de fonctions sémantiquement significatifs à partir de la sortie du décompilateur
  • Une intégration transparente avec Binary Ninja via un plugin dédié
  • Une architecture modulaire permettant une extension facile vers d’autres outils d’ingénierie inverse
  • Une compatibilité avec le matériel grand public, y compris les architectures Apple Silicon

Cependant, une configuration matérielle avec plusieurs cœurs CPU ou un GPU puissant est recommandée, car sur un système avec au moins 16 Go de RAM et de 12 cœurs CPU, les requêtes prennent environ 20 à 30 secondes. Grâce aux optimisations GPU, en particulier sur les appareils Apple Silicon, ce temps peut être réduit à 2 à 5 secondes par requête.

Ça s’installe à l’aide du gestionnaire de plugins de Binary Ninja et une fois lancé, l’outil téléchargera automatiquement le modèle de langage nécessaire (~5 Go). Les paramètres de configuration permettent également d’optimiser les performances en fonction de votre configuration matérielle, en répartissant la charge entre le CPU et le GPU.

Cet outil encore un peu jeune, est un excellent proof of concept qui illustre bien le potentiel des LLM locaux pour tout ce qui est reverse engineering. On verra évidemment ce que ça deviendra d’ici quelques années.

Le code source est disponible sur GitHub à l’adresse suivante alors n’hésitez pas à suggérer des améliorations.

Happy hacking à tous !

❌
❌