
Извлечение поддоменов из SSL-сертификатов на HTTPS-сайтах.
GSAN - это инструмент, который может извлекать альтернативные имена субъектов (SAN), найденные в SSL-сертификатах, непосредственно с HTTPS-серверов, что может предоставить вам DNS-имена (поддомены) или виртуальные серверы.
Он не полагается на журналы Certificate Transparency, а подключается напрямую к серверу и извлекает SAN из сертификата, что может быть особенно полезно при анализе внутренних серверов или самоподписанных сертификатов.
Используйте pip (или pipx - рекомендуется), чтобы не загрязнять вашу систему кучей зависимостей.
$ pipx install --user gsan
Вы также можете установить и запустить его с помощью Docker.
$ docker run --rm -i francc3sco/gsan <DOMAIN>
Базовое использование - просто передать домен HTTPS-сервера инструменту, и он вернет список поддоменов, найденных в сертификате.
$ gsan microsoft.com
microsoft.com [126]:
- microsoft.com
- successionplanning.microsoft.com
- explore-security.microsoft.com
...
- wwwbeta.microsoft.com
- gigjam.microsoft.com
- mspartnerira.microsoft.com
...
Альтернативно, вы можете передать текстовый файл со списком доменов для сканирования с помощью команды xargs.
$ cat domains.txt | xargs gsan
google.com [93]:
- google.fr
...
- google.com.au
amazon.com [37]:
- uedata.amazon.com
...
- origin-www.amazon.com.au
youtube.com [93]:
- google.fr
...
- google.com.au
Если вы используете Docker-версию, вы можете добиться того же, выполнив:
$ cat domains.txt | xargs docker run --rm -i francc3sco/gsan
Вы можете комбинировать gsan с другими инструментами, такими как Shodan, чтобы получить список SAN, найденных в списке доменов или IP-адресов, при условии соблюдения формата IP|ДОМЕН:ПОРТ.
$ shodan search --fields ip_str,port --separator : --limit 100 https | cut -d : -f 1,2 | xargs gsan --timeout 1
207.21.195.58 [1]:
- orielstat.com
162.159.135.42 [4]:
- temp927.kinsta.cloud
- temp312.kinsta.cloud
34.230.178.151 [2]:
- procareltc.com
- clarest.com
20.62.53.137 [1]:
- budget.lis.virginia.gov
199.60.103.228 [3]:
- hscoscdn40.net
- sites-proxy.hscoscdn40.net
...
Вы также можете выводить результат в файл, используя флаг --output, что может быть полезно для последующей передачи вывода другим инструментам, таким как Nmap.
$ gsan microsoft.com --output microsoft.txt | nmap -iL microsoft.txt
Или, если у вас большой список доменов:
$ cat domains.txt | xargs gsan --output domains.txt | nmap -iL domains.txt
Или, если вы хотите, чтобы хаос захватил мир:
$ shodan search --fields ip_str,port --separator : --limit 1000 has_ipv6:false https | \
cut -d : -f 1,2 | \
xargs gsan --timeout 1 --output sans.txt && \
sudo nmap -sS -F -vvv -iL sans.txt -oX import_to_metasploit.xml