Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
libc-database — Construire une base de données des offsets libc pour simplifier l'exploitation | Kitploit
Outils/GitHubGitHub/niklasb/libc-database
Analyse des VulnérabilitésExploitationCollecte d'InformationsCTFExploitation de Binaires
GitHubniklasb/libc-database

libc-database

Construire une base de données des offsets libc pour simplifier l'exploitation

Voir le dépôt
1.9k199il y a 10 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Interface Web

libc-database dispose désormais d'un service web et d'une interface frontale. Visitez https://libc.rip/ pour l'essayer ! Lisez https://github.com/niklasb/libc-database/tree/master/searchengine si l'API vous intéresse.

Construction d'une base de données de décalages libc

Si vous rencontrez des erreurs, veuillez vérifier la section « Prérequis » ci-dessous.

Récupérez les catégories de libc souhaitées et extrayez les décalages des symboles. Cela ne téléchargera rien deux fois, vous pouvez donc également l'utiliser pour mettre à jour votre base de données :

root@kitploit:~
$ ./get  # Liste des catégories
$ ./get ubuntu debian  # Télécharge les libc d'Ubuntu et Debian, ancien comportement par défaut
$ ./get all  # Télécharge toutes les catégories. Peut prendre du temps !

Vous pouvez également ajouter une libc personnalisée à votre base de données.

root@kitploit:~
$ ./add /usr/lib/libc-2.21.so

Recherche toutes les libc dans la base de données qui ont les noms donnés aux adresses données. Seuls les 12 derniers bits sont vérifiés car la randomisation fonctionne généralement au niveau de la taille des pages.

root@kitploit:~
$ ./find printf 260 puts f30
archive-glibc (libc6_2.19-10ubuntu2_i386)

Recherche une libc à partir de l'adresse de retour divulguée dans __libc_start_main.

root@kitploit:~
$ ./find __libc_start_main_ret a83
ubuntu-trusty-i386-libc6 (libc6_2.19-0ubuntu6.6_i386)
archive-eglibc (libc6_2.19-0ubuntu6_i386)
ubuntu-utopic-i386-libc6 (libc6_2.19-10ubuntu2.3_i386)
archive-glibc (libc6_2.19-10ubuntu2_i386)
archive-glibc (libc6_2.19-15ubuntu2_i386)

Affiche quelques décalages utiles, étant donné un ID de libc. Vous pouvez également fournir vos propres noms à afficher.

root@kitploit:~
$ ./dump libc6_2.19-0ubuntu6.6_i386
offset___libc_start_main_ret = 0x19a83
offset_system = 0x00040190
offset_dup2 = 0x000db590
offset_recv = 0x000ed2d0
offset_str_bin_sh = 0x160a24

Vérifie si une bibliothèque est déjà dans la base de données.

root@kitploit:~
$ ./identify /usr/lib/libc.so.6
local-f706181f06104ef6c7008c066290ea47aa4a82c5

Ou trouve une libc en utilisant un hachage (actuellement BuildID, MD5, SHA1 et SHA256 sont implémentés) :

root@kitploit:~
$ ./identify bid=ebeabf5f7039f53748e996fc976b4da2d486a626
libc6_2.17-93ubuntu4_i386
$ ./identify md5=af7c40da33c685d67cdb166bd6ab7ac0
libc6_2.17-93ubuntu4_i386
$ ./identify sha1=9054f5cb7969056b6816b1e2572f2506370940c4
libc6_2.17-93ubuntu4_i386
$ ./identify sha256=8dc102c06c50512d1e5142ce93a6faf4ec8b6f5d9e33d2e1b45311aef683d9b2
libc6_2.17-93ubuntu4_i386

Télécharge l'intégralité des bibliothèques correspondant à un ID de libc.

root@kitploit:~
$ ./download libc6_2.23-0ubuntu10_amd64
Getting libc6_2.23-0ubuntu10_amd64
    -> Location: http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.23-0ubuntu10_amd64.deb
    -> Downloading package
    -> Extracting package
    -> Package saved to libs/libc6_2.23-0ubuntu10_amd64
$ ls libs/libc6_2.23-0ubuntu10_amd64
ld-2.23.so ... libc.so.6 ... libpthread.so.0 ...

Prérequis

Généraux

Pour exécuter ces scripts, vous aurez besoin des commandes suivantes dans votre PATH :

  • readelf
  • objdump
  • strings
  • perl
  • find
  • grep
  • md5sum
  • sha1sum
  • sha256sum
  • file

Basés sur Debian (Ubuntu, Debian, Kali Linux, ParrotSec)

  • mktemp
  • perl
  • wget
  • ar
  • tar
  • grep
  • zstd

Basés sur RPM (catégorie 'rpm')

  • mktemp
  • perl
  • wget
  • rpm2cpio
  • cpio
  • grep

Basés sur CentOS

En plus des prérequis pour les systèmes basés sur RPM, vous aurez besoin de :

  • wget
  • gzip
  • grep

Basés sur Pacman

  • mktemp
  • perl
  • grep
  • sed
  • cat
  • wget
  • zstd
  • xz-utils
  • tar

Basés sur APK

  • mktemp
  • perl
  • wget
  • tar
  • gzip
  • grep

Basés sur Launchpad

En plus des prérequis pour les systèmes basés sur Debian, vous aurez besoin de :

  • jq

Tout installer

Pour tout installer sur Debian 10, exécutez ces commandes :

root@kitploit:~
apt-get update
apt-get install -y \
  binutils file \
  wget \
  rpm2cpio cpio \
  zstd jq
Télécharger l’outil