
Extrahiere Subdomains aus SSL-Zertifikaten von HTTPS-Websites.
GSAN ist ein Werkzeug, das Alternative Antragstellernamen (SAN) aus SSL-Zertifikaten direkt von HTTPS-Servern extrahieren kann, was Ihnen DNS-Namen (Subdomains) oder virtuelle Server liefern kann.
Es verlässt sich nicht auf Certificate-Transparency-Logs, sondern stellt eine direkte Verbindung zum Server her und extrahiert die SANs aus dem Zertifikat, was besonders nützlich sein kann, wenn Sie interne Server oder selbstsignierte Zertifikate analysieren.
Verwenden Sie pip (oder pipx - empfohlen), um zu vermeiden, dass Sie Ihr System mit vielen Abhängigkeiten verseuchen.
$ pipx install --user gsan
Sie können es auch mit Docker installieren und ausführen.
$ docker run --rm -i francc3sco/gsan <DOMAIN>
Die grundlegende Verwendung besteht darin, die Domain eines HTTPS-Servers an das Tool zu übergeben, und es gibt eine Liste der im Zertifikat gefundenen Subdomains zurück.
$ gsan microsoft.com
microsoft.com [126]:
- microsoft.com
- successionplanning.microsoft.com
- explore-security.microsoft.com
...
- wwwbeta.microsoft.com
- gigjam.microsoft.com
- mspartnerira.microsoft.com
...
Alternativ können Sie eine Textdatei mit einer Liste von zu scannenden Domains mithilfe des xargs-Befehls übergeben.
$ 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
Wenn Sie die dockerisierte Version verwenden, können Sie dasselbe erreichen, indem Sie Folgendes tun:
$ cat domains.txt | xargs docker run --rm -i francc3sco/gsan
Sie können gsan mit anderen Tools wie shodan kombinieren, um eine Liste von SANs aus einer Liste von Domains oder IP-Adressen zu erhalten, solange Sie das Format IP|DOMAIN:PORT einhalten.
$ 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
...
Sie können die Ausgabe auch mit dem --output-Flag in eine Datei umleiten, was nützlich sein kann, um die Ausgabe anschließend an andere Tools wie Nmap zu übergeben.
$ gsan microsoft.com --output microsoft.txt | nmap -iL microsoft.txt
Oder, wenn Sie eine große Liste von Domains haben:
$ cat domains.txt | xargs gsan --output domains.txt | nmap -iL domains.txt
Oder, wenn Sie das Chaos die Welt übernehmen lassen wollen:
$ 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