Network-Level Discovery und Probing - Whois- und DNS-Abfragen einsetzen

Network-Level Discovery und Probing

Whois- und DNS-Abfragen einsetzen

Eleanore Young
von Eleanore Young
Lesezeit: 9 Minuten

Im Rahmen der Analyse von Computersystemen, sind in der heutigen Zeit Webapplikationen in den meisten Fällen das Hauptziel. Allerdings sind netzwerkbasierte Tests (und damit auch Angriffe) mindestens genau so wichtig. Besonders dann, wenn mehrere Systeme einer Organisation im Internet erreichbar sind. In diesem Artikel erkunden wir die grundlegenden Schritte zum Erfassen und Erproben von Computersystemen einer Organisation.

Informationen über Domäne und Hosts

In den meisten Fällen gehen wir von einem IP-Adressblock (z.B. 192.0.2.0/24 in CIDR-Form) oder einem Domänennamen (z.B. example.com) aus. Unser Ziel ist es, eine möglichst vollständige Liste von IP-Adressen wie auch Domänennamen und Informationen über die Domäne zu erhalten. Um dieses Ziel zu erreichen, machen wir uns das Domain Name System (DNS) zu Nutze. Es wurde dafür entwickelt, lesbare Domänennamen in zugehörige IP-Adressen zu übersetzen. In einigen Fällen ist diese Übersetzung sogar in der entgegengesetzten Richtung möglich.

Whois Einträge

Unter der Annahme, dass wir nur den Domänennamen kennen, befragen wir die Whois-Datenbank zur Domäne, dessen Registrar und entsprechende DNS-Server. Ein Whois-Eintrag muss jeweils erstellt werden, wenn eine Domäne registriert wird. Leider enthält der Eintrag in vielen Fällen persönliche Informationen über IT-Personal und Angaben über Partnerorganisationen.

$ whois example.com
whois: This information is subject to an Acceptable Use Policy.
See https://www.nic.ch/terms/aup/

Domain name:
example.com

Holder of domain name:
Example Holdings Inc.
Jane Doe
101 First Street
New York, NY
United States of America
Contractual Language: English

Technical contact:
Any Hosting Inc.
Philip Johnson
525 Flower Lane
New York, NY
United States of America

Registrar:
Network Registrar Corp.

First registration date:
2001-01-01

DNSSEC:N

Name servers:
ns1.net-reg.com
ns2.net-reg.com

Dig und das Domain Name System

Entsprechend unserem Ziel würden wir jedoch gerne Informationen über die DNS- oder gar Web-Server der Domäne example.com sammeln. Dafür verwenden wir dig, ein mächtiges Werkzeug um DNS-Einträge aufzulisten. Dig selbst hat viele Optionen, um verschiedene DNS-Anfragen zu versenden. Aber als erster Versuch reicht eine simple A-Abfrage. Madboa hat eine sehr gute Einführung in den Gebrauch von Dig.

$ dig example.com A

; <<>> DiG 9.10.3-P4-Debian <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: xxxxx
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.			IN	A

;; ANSWER SECTION:
example.com.		85937	IN	A	192.0.2.1

;; AUTHORITY SECTION:
example.com.		3137	IN	NS	ns1.net-reg.com.
example.com.		3137	IN	NS	ns2.net-reg.com.

;; ADDITIONAL SECTION:
ns1.net-reg.com.	494	IN	A	192.0.3.53
ns2.net-reg.com.	494	IN	A	192.0.3.52

Basierend auf den obigen Resultaten, kennen wir nun die IP-Adresse der zwei DNS-Server und des Web-Servers. Das sind jedoch mit Sicherheit noch nicht alle am Internet angeschlossenen Computer der Organisation “Example Inc.” Der MX-Eintrag liefert uns in den meisten Fällen Informationen über die E-Mail Server der Organisation und der SOA-Eintrag teilt uns mit, welcher der DNS-Server eine authoritative Rolle einnimmt. Der TXT-Eintrag kann beliebige Informationen enthalten, wird jedoch heute hauptsächlich für das sogenannte Sender Policy Framework (SPF) verwendet. Ursprünglich wurde SPF entwickelt, E-Mail Spoofing einzudämmen, indem der TXT-Eintrag angibt, welche Hosts der Domäne überhaupt E-Mail verwenden dürfen.

Letztlich versuchen wir eine abschliessende Liste der Hosts in der Domäne mittels des AXFR-Eintrags zu erhalten. Dieser Eintrag erlaubt sogenannte Zonentransfers, die DNS Servern erlauben, Einträge zu delegieren. Aus guten Gründen sind Zonentransfers meist nicht möglich.

$ dig example.com MX +short
10 mail.example.com
$ dig example.com SOA +short
ns1.net-reg.com. net-reg.anyhosting.com. 2017042502 10800 3600 604800 600
$ dig example.com TXT +short
"v=spf1 mx a ip4:192.0.2.0/24 ip4:192.0.3.52/31 ip4:192.0.4.0/24 ~all"
$ dig example.com AXFR +short
; Transfer failed.

Trotz der Tatsache, dass wir keinen Zonentransfer durchführen konnten, lieferte uns der TXT-Eintrag alle IP-Adressen der Domäne example.com. Nun können wir die Sicherheit der einzelnen Hosts überprüfen.

Bis jetzt gingen wir davon aus, dass wir den Domänennamen der Organisation bereits kennen. Was ist, wenn wir nur wenige IP-Adressen (z.B. 192.0.2.0/24) kennen? Während die Resultate irreführend sein können, wird auch hier der Whois-Eintrag in den meisten Fällen genug Informationen über die Domäne liefern, damit wir die obigen Schritte erneut anwenden können. In unserem Fall lieferte uns der Eintrag Telefonnummern, den Internet Service Provider und Hinweise auf den Domänennamen. Damit können wir Suchmaschinen oder Dig verwenden, um den tatsächlichen Domänennamen zu finden.

$ whois 192.0.2.0
inetnum:        192.0.2.0 - 192.0.2.255
netname:        EXAMPLE-NET
descr:          Example Inc.
descr:          New York
country:        US
admin-c:        JD92-RIPE
tech-c:         JD92-RIPE
status:         ASSIGNED PA
mnt-by:         US-UNISOURCE-MNT
created:        2009-05-15T09:20:00Z
last-modified:  2009-06-19T08:42:58Z
source:         RIPE

person:         Jane Doe
address:        Example Inc.
address:        101 First Street
address:        New York
phone:          +1-(555)-800 10 30
fax-no:         +1-(555)-800 10 03
nic-hdl:        JD92-RIPE
created:        2009-05-10T00:00:00Z
last-modified:  2016-02-01T00:00:00Z
mnt-by:         RIPE-NCC-LOCKED-MNT
source:         RIPE # Filtered

route:          192.0.0.0/8
descr:          Some-ISP NET-REG aggregate
origin:         ASxxxx
mnt-by:         US-UNISOURCE-MNT
created:        2003-02-01T00:00:00Z
last-modified:  2003-02-01T00:00:00Z
source:         RIPE

Weiterführendes Scannen einzelner Hosts

Sobald wir eine einigermassen vollständige Liste von Hosts in der Domäne example.com besitzen, können wir diese einzeln scannen, um bereitgestellte Dienste und Informationen über diese Dienste zu sammeln. Im Gegensatz zum Versenden von Anfragen an DNS, wird dieser Schritt zwangsläufig Netzwerkverkehr an die Hosts der Domäne senden. Dies ist nicht immer erwünscht, da es das Risiko, entdeckt zu werden, steigert. Es gibt im Allgemeinen zwei Lösungen für dieses Problem: Einerseits können Suchmaschinen wie Shodan dazu verwendet werden, indirekte Scans durchzuführen. Das SANS Institut erklärt Shodan in dessen Blog sehr aufschlussreich. Andererseits können Scanning Tools wie z.B. Nmap, ZMap, und Masscan ein viel grösseres Mass an Kontrolle und Flexibilität im Scan ermöglichen.

Über die Autorin

Eleanore Young

Eleanore Young hat ihren Master in Elektrotechnik und Informationstechnologie im Jahr 2014 an der ETH Zürich abgeschlossen. Zu ihren Fachgebieten gehören Rechnerarchitekturen, Betriebssysteme sowie angewandte Forschung.

Links

Sie wollen mehr als einen simplen Security Test mit Nessus und Nmap?

Unsere Spezialisten kontaktieren Sie gern!

×
Security Testing

Security Testing

Tomaso Vasella

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Fremde Workloadidentitäten

Fremde Workloadidentitäten

Marius Elmiger

Active Directory-Zertifikatsdienste

Active Directory-Zertifikatsdienste

Eric Maurer

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv