mschwager/fierce
GitHub: mschwager/fierce
Fierce 是一个用于 DNS 侦察的工具,通过枚举子域名和扫描 IP 范围来定位非连续 IP 空间。
Stars: 1765 | Forks: 214
# 凶猛
[](https://github.com/mschwager/fierce/actions/workflows/ci.yml)
[](https://img.shields.io/pypi/pyversions/fierce.svg)
[](https://img.shields.io/pypi/v/fierce.svg)
Fierce 是一个用于定位非连续 IP 空间的 `DNS` 侦察工具。
有用链接:
* [域名系统 (DNS)](https://en.wikipedia.org/wiki/Domain_Name_System)
* [域名 - 概念和设施](https://tools.ietf.org/html/rfc1034)
* [域名 - 实现和规范](https://tools.ietf.org/html/rfc1035)
* [域名系统 (DNS) 的威胁分析](https://tools.ietf.org/html/rfc3833)
* [名称服务器 (NS)](https://en.wikipedia.org/wiki/Domain_Name_System#Name_servers)
* [授权记录状态 (SOA)](https://en.wikipedia.org/wiki/List_of_DNS_record_types#SOA)
* [区域传输](https://en.wikipedia.org/wiki/DNS_zone_transfer)
* [DNS 区域传输协议 (AXFR)](https://tools.ietf.org/html/rfc5936)
* [DNS 中的增量区域传输 (IXFR)](https://tools.ietf.org/html/rfc1995)
* [通配符 DNS 记录](https://en.wikipedia.org/wiki/Wildcard_DNS_record)
# 概述
首先,功劳归属,`fierce` 最初由
[RSnake 及其他人在 http://ha.ckers.org/ 编写](https://github.com/mschwager/fierce/blob/master/scripts/fierce.pl)。
这仅仅是一个转换到 Python 3 以简化和现代化代码库的版本。
原始描述非常贴切,所以我将其包含在此处:
# 安装
```
$ python -m pip install fierce
$ fierce -h
```
或
```
$ git clone https://github.com/mschwager/fierce.git
$ cd fierce
$ python -m pip install dnspython==1.16.0
$ python fierce/fierce.py -h
```
# 使用
让我们从基础开始:
```
$ fierce --domain google.com --subdomains accounts admin ads
```
使用 `--traverse` 标志遍历已发现域名附近的 IP 以搜索连续块:
```
$ fierce --domain facebook.com --subdomains admin --traverse 10
```
使用 `--search` 标志将附近 IP 遍历限制到特定域名:
```
$ fierce --domain facebook.com --subdomains admin --search fb.com fb.net
```
使用 `--connect` 标志对已发现的域名尝试 `HTTP` 连接:
```
$ fierce --domain stackoverflow.com --subdomains mail --connect
```
使用 `--wide` 标志以速度换取广度,该标志会在已发现域名的所有 [/24](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#IPv4_CIDR_blocks) IP 上搜索附近域名:
```
$ fierce --domain facebook.com --wide
```
如今区域传输很少见,但它们给了我们 DNS 城堡的钥匙。
[区域传输.me](https://digi.ninja/projects/zonetransferme.php)) 是一个非常有用的服务,用于测试和学习区域传输:
```
$ fierce --domain zonetransfer.me
```
要将结果保存到文件以供以后使用,我们可以简单地重定向输出:
```
$ fierce --domain zonetransfer.me > output.txt
```
内部网络通常会被分配大块的连续 IP 空间。
我们也可以扫描这些:
```
$ fierce --dns-servers 10.0.0.1 --range 10.0.0.0/24
```
查看 `--help` 获取更多信息:
```
$ fierce --help
```
# 开发
首先,安装 [`诗歌`](https://python-poetry.org/docs/#installation) 和开发包:
```
$ poetry install --with dev
```
## 测试
```
$ poetry run pytest
```
## 代码检查
```
$ poetry run flake8
```
## 测试覆盖率
```
$ poetry run pytest --cov
```
标签:dnspython, DNS侦察, IP空间发现, 云存储安全, 信息搜集, 区域传输, 域名系统, 子域名枚举, 安全运营中心, 插件系统, 系统安全, 网络安全, 网络扫描, 网络映射, 逆向工具, 通配符DNS, 隐私保护