Infrastructure as a Problem: AXFR-Requests verraten Subdomains

In heutigen Zeiten vernetzter Infrastruktur und ECommerce müssen Betreiber von Internetsystemen darauf achten, die eigene Angriffsoberfläche gegen Hacker und Botnetze so gering wie möglich zu halten.

Neben dem regelmäßigen Patchen und Testen von Systemen (Pentests, Stresstest) ist vor allem darauf zu achten, keine internen Systeme im Internet bloßzustellen und potentiellen Angreifern so wenig wie möglich Informationen über die Serverstruktur zu geben (Rechenzentrumshygiene).

Ein fataler Fehler in der Konfiguration der DNS-Server einer Domain kann nun dazu führen, dass ein Angreifer mittels einer AXFR-Anfrage alle Informationen des zugehörigen Zonefiles auslesen und somit sehr leicht an Informationen über interne Systeme gelangen kann. Einem Hacker ermöglichen diese Infos, angreifbare Punkte zu finden, wie der Artikel How I Hacked Facebook, and Found Someone's Backdoor Script verdeutlicht.

Das Problem ist nicht neu, wie ein Advisory des US.CERT aus dem Jahre 2015 zeigt. Als Prior Art sei hier auf einen Scan der Alexa Top 1 Mio verwiesen, den das Team der Internetwache 2015 durchgeführt hat.

Anm: AXFR ist ein benötigtes Protokoll, vor allem zum Abgleich von DNS-Server untereinander, sollte aber strikt begrenzt und von externem Zugriff ausgeschlossen werden.

To Be continued

Referenzen

Appendix

  • Beispiel Antwort auf eine AXFR-Anfrage
; <<>> DiG 9.10.3-P4-Ubuntu <<>> axfr @ns1.victim.com victim.dom
; (1 server found)
;; global options: +cmd
victim.dom.     300 IN  SOA ns1.victim.com. postmaster.nsdomain.com. 2010080104 86400 10800 3600000 86400
victim.dom.     300 IN  MX  10 mail.victim.dom.
victim.dom.     300 IN  NS  ns23.victim.dom.
victim.dom.     300 IN  A   45.11.22.33
access        300   IN  A   45.11.22.33
admin             300   IN  A   45.11.22.33
api           300   IN  A   45.11.22.33
autodiscover  300   IN  A   45.11.22.33
backup          300 IN  A   45.11.22.33
conf              300   IN  A   45.11.22.33
confluen        300 IN  A   45.11.22.33
cpanel        300   IN  A   45.11.22.33
database        300 IN  A   45.11.22.33
db              300 IN  A   45.11.22.33
dbase             300   IN  A   45.11.22.33
dev             300 IN  A   45.11.22.33
elk             300 IN  A   45.11.22.33
files             300   IN  A   45.11.22.33
git             300 IN  A   45.11.22.33
gw              300 IN  A   45.11.22.33
hipchat       300   IN  A   45.11.22.33
icinga        300   IN  A   45.11.22.33
inmarsat        300 IN  A   45.11.22.33
intra             300   IN  A   45.11.22.33
jira              300   IN  A   45.11.22.33
log             300 IN  A   45.11.22.33
login             300   IN  A   45.11.22.33
mail              300   IN  A   45.11.22.33
maintain        300 IN  A   45.11.22.33
mainten       300   IN  A   45.11.22.33
mirror        300   IN  A   45.11.22.33
mongo             300   IN  A   45.11.22.33
monit             300   IN  A   45.11.22.33
nagios        300   IN  A   45.11.22.33
owa             300 IN  A   45.11.22.33
pix             300 IN  A   45.11.22.33
plesk             300   IN  A   45.11.22.33
redis             300   IN  A   45.11.22.33
sap             300 IN  A   45.11.22.33
share             300   IN  A   45.11.22.33
sicherung       300 IN  A   45.11.22.33
stage             300   IN  A   45.11.22.33
store             300   IN  A   45.11.22.33
support       300   IN  A   45.11.22.33
svn             300 IN  A   45.11.22.33
test              300   IN  A   45.11.22.33
ticket        300   IN  A   45.11.22.33
vpn             300 IN  A   45.11.22.33
webmail       300   IN  A   45.11.22.33
www             300 IN  A   45.11.22.33
zabbix        300   IN  A   45.11.22.33
victim.dom.     300 IN  SOA ns23.victim.dom. postmaster.nsdomain.com. 2017080104 86400 10800 3600000 86400
;; Query time: 94 msec
;; WHEN: Tue Aug 08 12:02:16 UTC 2017
;; XFR size: 52 records (messages 1, bytes 1224)