mubashir1837/OSINT-1600-Pakistani-Government-Domains-Enumeration

GitHub: mubashir1837/OSINT-1600-Pakistani-Government-Domains-Enumeration

一个以巴基斯坦政府域名为实践对象的 OSINT 学习仓库,系统记录了子域名枚举的工具链、命令和方法论。

Stars: 1 | Forks: 0

# OSINT 侦察学习仓库 欢迎来到这个开源情报(OSINT)仓库!本项目作为一个学习资源和子域名枚举技术的实践记录,记录了用于发现特定目标子域名的工具、命令和方法论。 ## 目标 本仓库的主要目标是演示如何对域名执行被动和主动侦察,利用公开可用的工具和数据源来映射出组织的外部攻击面。 ## 工具设置 在本次实践中,准备了几种行业标准工具: - **[Amass](https://github.com/owasp-amass/amass):** 深入的 DNS 枚举和网络映射。 - **[httpx](https://github.com/projectdiscovery/httpx):** 快速且多功能的 HTTP 工具包。 - **[Sublist3r](https://github.com/aboul3la/Sublist3r):** 快速的子域名枚举工具。 - **[crt.sh](https://crt.sh/):** 证书透明度日志搜索界面。 - **实用工具:** `curl`, `jq`, `sed`, `git`, `go`。 ## 我做了什么以及如何做的 ### 1. 环境配置 首先,在 Kali Linux 上安装了必要的基础包和依赖项: ``` # 更新 repositories 并安装基础 utilities sudo apt update && sudo apt install -y golang-go git python3-pip jq curl wget ``` ### 2. 安装侦察工具 **通过 Go 安装 Amass 和 httpx:** ``` # 安装 OWASP Amass 用于 DNS enumeration go install -v github.com/owasp-amass/amass/v4/...@master # 安装 ProjectDiscovery 的 httpx 用于 web server 探测 go install github.com/projectdiscovery/httpx/cmd/httpx@latest ``` **设置 Sublist3r:** *注意:现代的 Kali Linux 使用外部管理的 Python 环境(PEP 668),因此直接运行 `pip3 install -r requirements.txt` 会导致错误。请改用 `apt` 或 `pipx`。* ``` # Clone repository git clone https://github.com/aboul3la/Sublist3r.git cd Sublist3r # 在现代 Kali 上安装 Sublist3r dependencies 的推荐方式: sudo apt install python3-dnspython python3-requests python3-argparse ``` ### 3. 通过证书透明度枚举子域名(CT Logs) 最有效的**被动 OSINT** 技术之一是查询证书透明度(CT)日志。每当为某个域名签发 SSL/TLS 证书时,它都会被公开记录。我们可以查询 `crt.sh` 来提取这些域名,而无需直接触碰目标的服务器。 本仓库包含了一份针对 `.gov.pk` 范围的 `crt.sh` 原始结果文件: - `OSINT: Enumerating 1,600+ .gov.pk Domains/sublist3r/crtsh_govpk_raw.txt` 以下是用于获取、清理和排序特定目标域名(例如 `example.com`)子域名的命令: ``` # 1. 查询所有包含目标 domain 的 certificates(JSON 输出) # 2. 使用 'jq' 解析 name_value 字段 # 3. 使用 'sed' 移除 wildcard 字符(*.) # 4. 排序并提取唯一条目到文本文件 curl -s "https://crt.sh/?q=%25.example.com&output=json" | \ jq -r '.[].name_value' | \ sed 's/\*\.//g' | \ sort -u > crtsh_example_raw.txt # 统计发现的 subdomains 数量 wc -l crtsh_example_raw.txt ``` ## 如何使用本仓库学习 OSINT 1. **理解命令行:** 仔细阅读上面的 `crt.sh` 命令。注意标准的 Linux 实用程序(`curl`, `jq`, `sed`, `sort`)是如何通过管道符(`|`)串联在一起,从而轻松检索和格式化网络数据的。 2. **实践被动侦察:** 针对你拥有或被授权测试的域名运行 `crt.sh` 命令。看看你能被动发现多少个子域名。 3. **扩展工作流:** 一旦你获得了原始的子域名列表,就可以将该输出作为 `httpx` 的输入,以查看哪些子域名正在积极托管 Web 服务器: cat crtsh_example_raw.txt | httpx -title -tech -status-code 4. **主动侦察:** 使用 Amass 和 Sublist3r 查找可能尚未在 CT 日志中注册的域名。 *免责声明:在对目标执行主动侦察或扫描之前,请务必确保你已获得明确的许可。本指南侧重于出于教育目的的被动侦察。*
标签:ESC4, GitHub, OSINT, 子域名枚举, 实时处理, 应用安全, 日志审计, 系统安全, 逆向工具