> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/reconnaissance/subdomains.md).

# Поддомены

Техники перечисления поддоменов для обнаружения публичных DNS-записей, записей Certificate Transparency, проиндексированных хостов и открытой инфраструктуры.

Перечисление поддоменов расширяет поверхность атаки цели, обнаруживая публичные хосты, DNS-записи, виртуальные хосты, записи Certificate Transparency и проиндексированную инфраструктуру.

{% hint style="info" %}
Существуют различные методы обнаружения поддоменов, связанных с веб-сайтом. Эти методы можно выполнять с помощью онлайн-инструментов или напрямую из консоли, и они различаются в зависимости от целей и доступных ресурсов. Ниже приведены несколько инструментов, которые можно использовать для этой задачи, с подробными примерами команд.
{% endhint %}

## Gobuster:

> Gobuster — очень популярный инструмент для быстрого обнаружения поддоменов путем выполнения DNS-запросов к веб-сайту. Он использует список слов для проверки различных комбинаций поддоменов. Ниже приведен пример его использования в командной строке:

```bash
gobuster vhost -u https://website.com --append-domain -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -t 100
```

* **-u**: Указывает URL целевого веб-сайта.
* **-w**: Указывает путь к словарю, который будет использоваться для тестирования поддоменов.
* **-t**: Устанавливает количество потоков (в данном случае 100), что увеличивает скорость поиска.
* /| grep -v "403": игнорировать ответы HTTP 403.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-35ae065696aabc65359688f6e6e94e5871227cc4%2Fimage%20(1081).png?alt=media" alt=""><figcaption></figcaption></figure>

## Wfuzz:

> Wfuzz — еще один инструмент фуззинга, который позволяет тестировать разные поддомены, используя HTTP-ответы. Для поиска поддоменов используйте следующую команду:

```bash
wfuzz -c -t 100 -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.website.com" https://website.com
```

* **-c**: включает цветной режим для лучшей читаемости результатов.
* **-t 20**: задает количество одновременных потоков (здесь 20) для ускорения процесса.
* **-H "Host: FUZZ.website.com"**: заменяет "FUZZ" каждым значением из списка для проверки возможных поддоменов.
* **--hc=404**: игнорировать ответы HTTP 404.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-eebcd6339da3c4d77f53017f997f2b0fe5c2dc27%2Fimage%20(1082).png?alt=media" alt=""><figcaption></figcaption></figure>

## **Sublist3r**

> Sublist3r — это инструмент на Python, предназначенный для перечисления поддоменов веб-сайта с использованием OSINT. Он использует множество поисковых систем, таких как Google, Yahoo, Bing, Baidu и Ask, а также другие источники, такие как Netcraft, Virustotal, ThreatCrowd, DNSdumpster и ReverseDNS1.

* **Sublist3r**: Инструмент для перечисления поддоменов, например:/ `sublist3r -d website.com`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-74b9ebd3455982b3108fdf563b52aa41f2a0495a%2Fimage%20(622).png?alt=media" alt="" width="518"><figcaption></figcaption></figure>

## Google Dorks:

> Google Dorks — это специальные запросы, которые позволяют использовать Google для поиска конкретной информации. Чтобы обнаружить поддомены веб-сайта, можно использовать следующий запрос:

```makefile
site:*.website.com
```

Эта команда отобразит все проиндексированные поддомены **website.com** с помощью индекса Google. Этот метод особенно полезен для быстрого получения списка общедоступных поддоменов.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-66a3006559b5e06f03ac149bd65ce1b759901838%2F%7BAA38A940-2299-4F46-B65F-FC7056F8DA2A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

## DNSDumpster:

> [DNSDumpster ](https://dnsdumpster.com/)— это бесплатный онлайн-инструмент, используемый для сбора информации о системе доменных имен (DNS) веб-сайта. Он особенно полезен в тестировании на проникновение (pentesting) для получения информации о сетевой инфраструктуре организации. Используя DNSDumpster, вы можете получить сведения о публичных DNS-записях домена и обнаружить ключевые компоненты инфраструктуры, такие как:

* Серверы.
* Поддомены.
* Связанные IP-адреса.
* Другие сетевые службы.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b585c9b58fb1efc68c6c0ad43a8b11c0ce534d9f%2F%7BDBF2DD2D-392C-4C3E-AAD8-6F31141AFD5F%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

## Пассивное перечисление доменов

Сначала используйте пассивные источники, чтобы собрать кандидаты поддоменов, не затрагивая напрямую инфраструктуру цели. Замените `target.com` на авторизованный домен.

```bash
export TARGET="target.com"
```

### Прозрачность сертификатов

Запрос `crt.sh` и просмотрите необработанный вывод JSON:

```bash
curl -s "https://crt.sh/?q=${TARGET}&output=json" | jq .
```

Извлеките уникальные имена хостов из результатов Certificate Transparency:

```bash
curl -s "https://crt.sh/?q=${TARGET}&output=json" \
  | jq -r '.[] | .name_value, .common_name' \
  | sed 's/\*\.//g' \
  | sort -u
```

### Project Sonar

Собирайте поддомены, связанные TLD и результаты reverse DNS из общедоступных наборов данных в стиле Project Sonar:

```bash
curl -s "https://sonar.omnisint.io/subdomains/${TARGET}" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/tlds/${TARGET}" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/all/${TARGET}" | jq -r '.[]' | sort -u
```

Обратный DNS-поиск для одного IP или диапазона CIDR:

```bash
curl -s "https://sonar.omnisint.io/reverse/192.0.2.10" | jq -r '.[]' | sort -u
curl -s "https://sonar.omnisint.io/reverse/192.0.2.0/24" | jq -r '.[]' | sort -u
```

### Сбор из нескольких источников

Выполните `theHarvester` по нескольким настроенным источникам:

```bash
while read -r source; do
  theHarvester -d "${TARGET}" -b "$source" -f "${source}-${TARGET}"
done < sources.txt
```

### Разрешить поддомены в IP-адреса

Преобразуйте подтвержденные поддомены в уникальный список IP-адресов:

```bash
while read -r subdomain; do
  host "$subdomain" | awk '/has address/ {print $4}'
done < subdomains.txt | sort -u > ip-addresses.txt
```

### Обогатить IP-адреса с помощью Shodan

Используйте Shodan для просмотра раскрытых сервисов для каждого разрешенного IP-адреса:

```bash
while read -r ip; do
  shodan host "$ip"
done < ip-addresses.txt
```

## Дополнительные ресурсы OSINT

Phonebook и другие общедоступные ресурсы OSINT централизованы в [Исследовании людей и утечек](/ru/hacking-tools/osint/people-and-breach-research.md). Инфраструктура веб-сайтов, Shodan и ресурсы архивированных URL централизованы в [Веб-сайты и инфраструктура](/ru/hacking-tools/osint/websites-and-infrastructure.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/ru/reconnaissance/subdomains.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
