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 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Web 界面

libc-database 现已提供 Web 服务和前端。请访问 https://libc.rip/ 体验! 如果您对 API 感兴趣,请阅读 https://github.com/niklasb/libc-database/tree/master/searchengine。

构建 libc 偏移数据库

如果遇到错误,请查看下面的“需求”部分。

下载所需的 libc 类别并提取符号偏移。不会重复下载任何内容,因此您也可以使用它来更新数据库:

root@kitploit:~
$ ./get  # 列出类别
$ ./get ubuntu debian  # 下载 Ubuntu 和 Debian 的 libc,旧版默认行为
$ ./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_start_main 返回地址查找 libc。

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 ID 转储一些有用的偏移量。您也可以提供自定义名称进行转储。

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 ID 对应的整个 libs 目录。

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
    -> 下载包
    -> 解压包
    -> 包已保存到 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
下载工具