Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
libc-database — Создайте базу данных смещений libc для упрощения эксплуатации. | Kitploit
Инструменты/GitHubGitHub/niklasb/libc-database
Анализ уязвимостейЭксплуатацияСбор информацииCTFЭксплуатация Бинарных Файлов
GitHubniklasb/libc-database

libc-database

Создайте базу данных смещений libc для упрощения эксплуатации.

Репозиторий
1.9k19910 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Веб-интерфейс

libc-database теперь имеет веб-сервис и фронтенд. Посетите https://libc.rip/, чтобы попробовать! Читайте https://github.com/niklasb/libc-database/tree/master/searchengine, если вас интересует API.

Создание базы данных смещений libc

Если вы получаете ошибки, пожалуйста, проверьте раздел "Требования" ниже.

Загрузите нужные категории libc и извлеките смещения символов. Он не будет загружать ничего дважды, так что вы также можете использовать это для обновления базы данных:

root@kitploit:~
$ ./get  # Список категорий
$ ./get ubuntu debian  # Загрузить libc Ubuntu и Debian, старое поведение по умолчанию
$ ./get all  # Загрузить все категории. Может занять некоторое время!

Вы также можете добавить пользовательскую libc в свою базу данных.

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

Найдите все libc в базе данных, которые имеют указанные имена по указанным адресам. Проверяются только последние 12 бит, так как рандомизация обычно работает на уровне размера страницы.

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

Найдите libc по утекшему адресу возврата в __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)

Выгрузите некоторые полезные смещения по идентификатору libc. Вы также можете указать свои собственные имена для выгрузки.

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

Проверьте, есть ли библиотека уже в базе данных.

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

Или найдите libc по хешу (в настоящее время реализованы BuildID, MD5, SHA1 и SHA256):

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

Загрузите все библиотеки, соответствующие идентификатору 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 ...

Требования

Общие

Для запуска этих скриптов вам понадобятся следующие команды в PATH:

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

На основе Debian (Ubuntu, Debian, Kali Linux, ParrotSec)

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

На основе RPM (категория 'rpm')

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

На основе CentOS

В дополнение к требованиям на основе RPM, вам понадобятся:

  • wget
  • gzip
  • grep

На основе Pacman

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

На основе APK

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

На основе Launchpad

В дополнение к требованиям на основе Debian, вам понадобятся:

  • jq

Установить всё

Чтобы установить всё на Debian 10, выполните следующие команды:

root@kitploit:~
apt-get update
apt-get install -y \
  binutils file \
  wget \
  rpm2cpio cpio \
  zstd jq
Скачать инструмент