Comment analyser les binaires ELF avec Binsider sous Linux
Binsider est un outil en ligne de commande qui facilite l'analyse des binaires ELF (Executable and Linkable Format). Dans cet article de blog, nous explorerons les fonctionnalités de Binsider, son interface conviviale, et comment l'utiliser pour analyser efficacement les binaires ELF sous Linux.
Qu'est-ce que Binsider ?
Binsider est un outil en ligne de commande puissant qui fournit une interface terminal conviviale pour l'analyse statique et dynamique des binaires ELF. Il propose des fonctionnalités telles que l'inspection des chaînes, l'examen des bibliothèques liées et l'exécution de dumps hexadécimaux, similaires aux outils populaires comme readelf et strace.
Binsider fournit un tableau de bord complet et une vue hexdump pour analyser le contenu binaire de manière structurée. Il peut également être utilisé pour modifier les données hexadécimales et entrer de nouvelles valeurs, similaire à un éditeur, bien qu'il soit recommandé de sauvegarder le binaire avant d'apporter des modifications.
Binsider est conçu pour faciliter aux ingénieurs en rétro-ingénierie et aux chercheurs en sécurité l'exploration et la compréhension des binaires ELF.
Pourquoi Binsider ?
Binsider simplifie le monde complexe de l'analyse binaire. Voici pourquoi les chercheurs en sécurité, les développeurs et toute personne travaillant avec des binaires devraient envisager de l'utiliser :
- Interface conviviale : Binsider utilise une TUI qui présente des informations complexes de manière facile à naviguer.
- Analyse statique et dynamique : Binsider permet à la fois l’examen statique des composants binaires et l’analyse dynamique du comportement d’un binaire pendant son exécution.
- Ensemble complet de fonctionnalités : De l'inspection des chaînes et des bibliothèques liées à la réalisation de hexdumps et au suivi des appels système, Binsider offre un large éventail de fonctionnalités
Installer Binsider sous Linux
L'installation de Binsider est simple. Comme il est écrit en langage de programmation Rust, vous pouvez l'installer en utilisant le gestionnaire de paquets cargo. Assurez-vous d'avoir installé Rust :
- Comment installer le langage de programmation Rust sur Linux
Après avoir installé Rust, exécutez la commande suivante pour installer binsider en utilisant Cargo :
cargo install binsiderAnalyser les fichiers binaires ELF avec Binsider
Une fois installé, analysez un binaire ELF en lançant simplement :
binsider <binary>Vous pouvez même lancer Binsider sans aucun argument pour analyser le binaire binsider lui-même !
Appuyez sur la touche tab pour naviguer vers les autres sections. Pour quitter, appuyez sur q.
Analyse générale
Par exemple, examinons le binaire /bin/uname en utilisant la commande :
binsider /bin/uname- Lors du lancement de Binsider, vous êtes accueilli avec des informations générales sur le binaire, imitant la sortie de
stat(1)etldd(1). Cela inclut des détails sur le fichier tels que la taille, les permissions et les bibliothèques partagées liées. - Binsider vous permet de passer en toute transparence de l'analyse du binaire principal à celle de ses bibliothèques partagées liées. Cette fonctionnalité offre une vue holistique de l'écosystème binaire.
Analyse statique
- Binsider excelle dans l'analyse statique, offrant une compréhension approfondie de la structure ELF sans exécuter le binaire.
- Vous pouvez explorer divers composants ELF, y compris les sections, segments, en-têtes, symboles, relocations et notes.
- La représentation visuelle de la structure ELF par Binsider et les touches de navigation pratiques (comme
n/ppour suivant/précédent eth/j/k/lpour le défilement) rendent la navigation à travers ces composants intuitive.
Analyse dynamique
- Binsider permet une analyse dynamique en exécutant le binaire et en suivant ses appels système.
- Similaire à
strace(1), Binsider fournit des informations détaillées sur chaque appel système, y compris l'ID du processus, le nom de l'appel système, les arguments et la valeur de retour. - Binsider offre un résumé de l'exécution, incluant le temps passé, les erreurs et le nombre d'appels système effectués, vous donnant un aperçu du comportement à l'exécution du binaire.
Cordes
- Binsider peut extraire des chaînes depuis le binaire, similaire à la commande
strings(1). - Ceci est particulièrement utile pour découvrir des informations cachées dans le binaire, comme des URL, des mots de passe ou d'autres données sensibles.
- Vous pouvez même ajuster la longueur des chaînes extraites en utilisant les touches
+/-ou l'argument-n.
Déchargement hexadécimal
- Binsider fournit une vue en hexadump ainsi qu'un tableau de bord riche pour analyser le contenu brut du binaire.
- Cette fonctionnalité permet un examen granulaire des données binaires et facilite l'identification des motifs.
- Binsider va plus loin que le simple hexdump en vous permettant de modifier les données hexadécimales et d'enregistrer les changements directement dans le binaire.
Conclusion
Binsider est un outil puissant et polyvalent qui simplifie l'analyse des binaires ELF. Sa combinaison d'une interface utilisateur en mode texte conviviale, de fonctionnalités complètes et d'une navigation intuitive en fait un excellent choix pour toute personne travaillant avec des binaires.
Que vous effectuiez des recherches en sécurité, déboguiez des logiciels ou exploriez les structures internes des fichiers ELF, Binsider fournit les outils dont vous avez besoin dans un ensemble accessible et efficace.
Ressource:
- Répertoire GitHub de Binsider




