
استخراج النطاقات الفرعية من شهادات SSL في المواقع HTTPS.
GSAN هي أداة يمكنها استخراج أسماء البديل للموضوع (SAN) الموجودة في شهادات SSL مباشرة من خوادم https، مما يوفر لك أسماء DNS (نطاقات فرعية) أو خوادم افتراضية.
لا تعتمد على سجلات شفافية الشهادة، بل تتصل مباشرة بالخادم وتستخرج أسماء 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|DOMAIN:PORT.
$ 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