Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Lepus — 子域名查找器 | Kitploit
工具/GitHubGitHub/gfek/lepus
OSINT (开源情报)侦察网络映射端口扫描漏洞分析信息收集子域名枚举DNS 分析
GitHubgfek/lepus

Lepus

子域名查找器

查看仓库
3714863年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GitHub License GitHub Python GitHub Version

Lepus

Lepus 是一个用于枚举子域名、检测子域名接管风险并执行端口扫描的工具——而且速度飞快!

基本用法

root@kitploit:~
lepus.py yahoo.com

目录

  • 枚举模式
  • 子域名接管
  • 端口扫描
  • 安装
  • 参数说明
  • 完整命令示例

枚举模式

枚举模式是 Lepus 用于识别给定域名的子域名的不同方法。这些模式包括:

  • 收集器
  • 字典模式
  • 排列模式
  • 反向 DNS
  • 马尔可夫链

此外:

  • 对于所有方法,Lepus 会检查给定域名或任何生成的可能子域名是否为 通配符 域名。
  • 识别后,Lepus 会收集可解析到公网 IP 地址的已识别域名的 ASN 和网络信息。

收集器

收集器模式从以下服务收集子域名:

你可以在 config.ini 文件中添加你的 API 密钥。

收集器模块默认会在 Lepus 中运行。如果你不希望在某次运行中使用收集器(以免耗尽 API 密钥限额),可以使用 -nc 或 --no-collectors 参数。

字典模式

当你希望为 Lepus 提供一份子域名列表时,可以使用字典模式。你可以使用 -w 或 --wordlist 参数,后跟文件路径。Lepus 自带一个位于 lists/subdomains.txt 的自定义列表。一个示例运行:

root@kitploit:~
lepus.py -w lists/subdomains.txt yahoo.com

排列模式

排列模式会对已识别的子域名列表进行变换操作。对于每个子域名,会根据 lists/words.txt 文件执行若干排列。你也可以使用 -pw 或 --permutation-wordlist 参数提供自定义的排列字典,后跟文件名。示例运行:

root@kitploit:~
lepus.py --permutate yahoo.com

或

root@kitploit:~
lepus.py --permutate -pw customsubdomains.txt yahoo.com

反向 DNS

反向 DNS 模式会收集所有已解析的 IP 地址,并对每个 IP 执行反向 DNS 查找,以发现更多子域名。例如,如果 www.example.com 解析为 1.2.3.4,Lepus 会对 1.2.3.4 执行反向 DNS,收集属于 example.com 的其他子域名,比如 www2、internal 或 oldsite。

要运行反向 DNS 模块,请使用 --reverse 参数。此外,--ripe(或 -ripe)可以用来指示模块使用二级域名查询 RIPE 数据库以获得潜在的网络范围。另外,Lepus 支持 --ranges(或 -r)参数。你可以用它来针对属于目标域名的 CIDR 范围进行反向 DNS 解析。

默认情况下,此模块会考虑所有之前识别的 IP,然后是自定义的范围,再是通过 RIPE 数据库识别到的范围。如果你只想针对特定或 RIPE 识别到的范围运行模块,而不包括所有已识别的 IP,可以使用 --only-ranges(-or)参数。

示例运行:

root@kitploit:~
lepus.py --reverse yahoo.com

或

root@kitploit:~
lepus.py --reverse -ripe -r 172.216.0.0/16,183.177.80.0/23 yahoo.com

或只针对自定义或 RIPE 识别到的范围:

root@kitploit:~
lepus.py --reverse -or -ripe -r 172.216.0.0/16,183.177.80.0/23 yahoo.com

提示:Lepus 会在枚举过程中识别出 ASN 和 网络,因此你也可以在后续运行中使用这些范围来发现更多子域名。

马尔可夫链

使用此模块,Lepus 将利用马尔可夫链进行自我训练,然后基于已知的子域名生成新的子域名。总体表面越大,工具就能越好地自我训练,结果也就越好。

可以使用 --markovify 参数激活该模块。参数还包括马尔可夫状态大小、生成候选名称的最大长度以及生成候选名称的数量。预定义值分别为 3、5 和 5。你可以通过 -ms(--markov-state)、-ml(--markov-length)和 -mq(--markov-quantity)根据需求修改这些参数。请记住,这些值越大,Lepus 生成候选所需的时间就越长。

需要注意的是,此模块的不同次执行可能会生成不同的候选,因此可以连续运行几次。请记住,-ms、-ml 和 -mq 值越高,候选生成所需的时间就越长。

root@kitploit:~
lepus.py --markovify yahoo.com

或

root@kitploit:~
lepus.py --markovify -ms 5 -ml 10 -mq 10

子域名接管

Lepus 内置了一份特征签名列表,用于判断域名是否可能存在接管风险。你可以通过 --takeover 参数启用此模块。该模块还支持 Slack 通知,一旦发现潜在的接管,你可以在 config.ini 文件中添加 Slack token 来接收通知。检测涉及以下服务:

  • Acquia
  • Activecampaign
  • Aftership
  • Aha!
  • Airee
  • Amazon AWS/S3
  • Apigee
  • Azure
  • Bigcartel
  • Bitbucket
  • Brightcove
  • Campaign Monitor
  • Cargo Collective
  • Desk
  • Feedpress
  • Fly.io
  • Getresponse
  • Ghost.io
  • Github
  • Hatena
  • Helpjuice
  • Helpscout
  • Heroku
  • Instapage
  • Intercom
  • JetBrains
  • Kajabi
  • Kayako
  • Launchrock
  • Mashery
  • Maxcdn
  • Moosend
  • Ning
  • Pantheon
  • Pingdom
  • Readme.io
  • Simplebooklet
  • Smugmug
  • Statuspage
  • Strikingly
  • Surge.sh
  • Surveygizmo
  • Tave
  • Teamwork
  • Thinkific
  • Tictail
  • Tilda
  • Tumblr
  • Uptime Robot
  • UserVoice
  • Vend
  • Webflow
  • Wishpond
  • Wordpress
  • Zendesk

端口扫描

端口扫描模块会检查目标的开放端口并将结果记录在日志中。你可以使用 --portscan 参数,默认情况下会扫描 80、443、8000、8080、8443 端口。你也可以自定义端口,或选择预定义的端口集合。

端口集合端口号
small80, 443
medium (默认)80, 443, 8000, 8080, 8443
large

示例运行:

root@kitploit:~
lepus.py --portscan yahoo.com

或

root@kitploit:~
lepus.py --portscan -p huge yahoo.com

或

root@kitploit:~
lepus.py --portscan -p 80,443,8082,65123 yahoo.com

安装

  1. 常规安装:

    root@kitploit:~
    $ python3.7 -m pip install -r requirements.txt
    
  2. 建议在 virtualenv 中安装:

    root@kitploit:~
    $ pyenv virtualenv 3.7.4 lepus
    $ pyenv activate lepus
    $ pip install -r requirements.txt
    
  3. 在 Debian 上安装最新版 Python:

    root@kitploit:~
    $ apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget
    $ curl -O https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
    $ tar -xf Python-3.7.4.tar.xz
    $ cd Python-3.7.4
    $ ./configure --enable-optimizations --enable-loadable-sqlite-extensions
    $ make
    $ make altinstall
    

参数说明

root@kitploit:~
usage: lepus.py [-h] [-w WORDLIST] [-hw] [-t THREADS] [-nc] [-zt]
                [--permutate] [-pw PERMUTATION_WORDLIST] [--reverse]
                [-r RANGES] [--portscan] [-p PORTS] [--takeover] [--markovify]
                [-ms MARKOV_STATE] [-ml MARKOV_LENGTH] [-mq MARKOV_QUANTITY]
                [-f] [-v]
                domain

Infrastructure OSINT

positional arguments:
  domain                要搜索的域名

optional arguments:
  -h, --help            显示帮助信息并退出
  -w WORDLIST, --wordlist WORDLIST
                        子域名列表文件
  -hw, --hide-wildcards 隐藏通配符解析结果
  -t THREADS, --threads THREADS
                        线程数 [默认是 100]
  -nc, --no-collectors  跳过被动子域名枚举
  -zt, --zone-transfer  尝试针对已识别的域名服务器进行区域传输
  --permutate           对已解析的域名执行排列操作
  -pw PERMUTATION_WORDLIST, --permutation-wordlist PERMUTATION_WORDLIST
                        用于排列操作的字典 [默认是 lists/words.txt]
  --reverse             对已解析的公网 IP 地址执行反向 DNS 查询
  -ripe, --ripe         使用二级域名查询 RIPE 数据库,获取用于反向查询的网络
  -r RANGES, --ranges RANGES
                        逗号分隔的 IP 范围,用于执行反向 DNS 查询
  -or, --only-ranges    仅使用 -r 或 -ripe 提供的范围,而不是所有之前识别的 IP
  --portscan            扫描已解析的公网 IP 地址的开放端口
  -p PORTS, --ports PORTS
                        端口扫描模块使用的端口集合 [默认是 medium]
  --takeover            检查已识别的主机是否存在潜在子域名接管风险
  --markovify           使用马尔可夫链识别更多子域名
  -ms MARKOV_STATE, --markov-state MARKOV_STATE
                        马尔可夫状态大小 [默认是 3]
  -ml MARKOV_LENGTH, --markov-length MARKOV_LENGTH
                        马尔可夫替换的最大长度 [默认是 5]
  -mq MARKOV_QUANTITY, --markov-quantity MARKOV_QUANTITY
                        每个候选长度的最大马尔可夫结果数量 [默认是 5]
  -f, --flush           从数据库中清除指定域名的所有记录
  -v, --version         显示程序版本号并退出

完整命令示例

以下是一个包含所有可用的活动参数的示例运行:

root@kitploit:~
./lepus.py python.org --wordlist lists/subdomains.txt --permutate -pw ~/mypermsword.lst --reverse -ripe -r 10.11.12.0/24 --portscan -p huge --takeover --markovify -ms 3 -ml 10 -mq 10

以下命令会清空数据库中指定域名的所有条目:

root@kitploit:~
./lepus.py python.org --flush
下载工具
服务是否需要 API
Censys是
CertSpotter否
CRT否
DNSTrails是
FOFA是
Google Transparency否
HackerTarget否
PassiveTotal是
Project Discovery Chaos是
Project Crobat否
Project Sonar否
Riddler是
Shodan是
Spyse是
ThreatCrowd否
ThreatMiner否
VirusTotal是
Wayback Machine否
ZoomEye是
80, 81, 443, 591, 2082, 2087, 2095, 2096, 3000, 8000, 8001, 8008, 8080, 8083, 8443, 8834, 8888, 9000, 9090, 9443
huge80, 81, 300, 443, 591, 593, 832, 981, 1010, 1311, 2082, 2087, 2095, 2096, 2480, 3000, 3128, 3333, 4243, 4567, 4711, 4712, 4993, 5000, 5104, 5108, 5800, 6543, 7000, 7396, 7474, 8000, 8001, 8008, 8014, 8042, 8069, 8080, 8081, 8088, 8090, 8091, 8118, 8123, 8172, 8222, 8243, 8280, 8281, 8333, 8443, 8500, 8834, 8880, 8888, 8983, 9000, 9043, 9060, 9080, 9090, 9091, 9200, 9443, 9800, 9943, 9980, 9981, 12443, 16080, 18091, 18092, 20720, 28017