PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zone Transfers



HurricanX
19.04.2005, 15:03
DER TEXT WURDE VON MORPHEUS[BRIGHTDARKNESS] GESCHRIEBEN
17.06.200

ZONE TRANSFERS

Inhalt:

1. Was sind Zone Transfers ?
2. Wozu kann ich als Hacker Zone Transfers gebrauchen?
3. Wie finde ich die autorisierten DNS-Server ?
4. Wie führe ich solche Zone Transfers durch?
5. "Fortgeschrittene" Methoden und Probleme


1. Was sind Zone Transfers ?

Zone Transfers gehören in den DNS-Bereich. DNS steht für Domain Name Service und
ist für die Umwandlung von Domainnamen in IP-Adressen und umgekehrt zuständig.

So haben die meisten (wenn nicht alle) Teilnetzwerke des Internets eigene DNS-Server,
die allein für die Konversion zuständig sind. Ein jeder dieser Server ist dann für
eine Zone zuständig. Unter Zone versteht man das Subnetz, also zum Beispiel ein
Firmennetzwerk.

So gibt es dann nicht nur einen DNS-Server (der primäre Server (primary server)),
der die ganze Arbeit leisten muss, sondern zumeist auch sekundäre Server (secondary
server). Der Sinn und Zweck mehrerer DNS-Server besteht darin, dass ein Server allein
meist gar nicht die Flut aller DNS-Abfragen für ein ganzes Netzwerk behandeln kann.
So errichtet man weitere DNS-Server, die den primären Server entlasten sollen, indem
sie ihm einen großen Teil seiner Arbeit abnehmen.

Um den sekundären DNS-Server upzudaten, gibt es beim DNS einen Service namens
Zone Transfer. Wenn zum Beispiel ein sekundärer DNS-Server rebootet wird, so
aktualisiert er seine DNS-Datenbank, indem er den primären DNS-Server kontaktiert
und ein Zone Transfer durchführt. Beim Zone Transfer werden also die DNS-Einträge
übertragen - d.h. es werden zum Beispiel alle IP-Adressen des Firmennetzwerks zum
sekundären DNS-Server übertragen.

2. Wozu kann ich als Hacker Zone Transfers gebrauchen?

Da beim Zone Transfer alle DNS-Einträge des Netzwerks übertragen werden besteht dort
durchaus ein Interesse für den Hacker. Gehen wir mal von einem DNS-Server aus, der
für ein Firmennetzwerk zuständig ist. Sollte der DNS-Server aus welchem Grund auch
immer einen Zone Transfer durchführen, so werden alle IP-Adressen, alle Hostnamen,
alle Mailservernamen und weitere interessante Infos (mehr dazu in 4.) des Firmennetzwerks
übertragen. Mal angenommen, wir könnten den DNS-Server dazu verleiten zu uns den
Zone Transfer durchzuführen, so hätten wir dann alle wichtigen Informationen über
die Netzwerksstruktur, über die IP-Adressen im Firmennetzwerk, über eventuelle
Funktionen der einzelnen Rechner und so weiter. Zone Transfers dienen also der
Informationsbeschaffung. Mittels dieser Information, kann der Hacker dann
gegebenenfalls ein Netzwerkdiagramm erstellen, oder potentielle Angriffsziele
auskundschaften. Im nächsten "Kapitel" geht es nun darum erst einmal den DNS-Server
ausfindig zu machen, der für das zu Hackende Netzwerk zuständig ist.





**************************************************
NOTE: Die folgenden Befehle benötigen ein Unix-Betriebssystem (wie z.B. Linux).
Es gibt Möglichkeiten, dasselbe mit Windows-Tools durchzuführen.
Ein gutes Tool ist Sam Spade (www.samspade.org), mit dem sich Whois- und
DNS-Abfragen (Zone Transfers) durchführen lassen. Ich werde in dem Tutorial
nicht auf die Windows-Tools eingehen, sondern nur die Unix-Methode erklären.
**************************************************

3. Wie finde ich die autorisierten DNS-Server ?

Um einen Zone Transfer zu forcieren, müssen wir erst mal den DNS-Server ausfindig machen,
der für das Ziel-Netzwerk zuständig ist. Hierfür empfiehlt sich die Whois-Abfrage.

Die meisten (wenn nicht gar alle) Unix-Varianten haben heute einen whois-client
per standard mitgeliefert. Sollte kein whois-client vorliegen, so kann eine
Whois-Abfrage auch übers Web geschehen. Eine URL wäre zum Beispiel www.nic.de/whois.html
Nehmen wir an, unser Ziel heißt www.target.de. So müssten wir für eine whois-Abfrage
einfach nur :


Unix-shell$ whois target.de
% Rights restricted by copyright.
See http://www.ripe.net/ripencc/pub-services/db/copyright.html

domain: target.de
descr: Wilhelm Target
descr: www-str. 31337
descr: D-93049 WWW
descr: Germany
admin-c: MH7236-RIPE
tech-c: MH7236-RIPE
zone-c: MG7236-RIPE
nserver: ns.eatserver.de [1.3.1.2]
nserver: ns2.eatserver.de
mnt-by: DE-DOM
changed: hostmaster@denic.de 20000419
source: RIPE

Wenn man mal unter "nserver" schaut, so findet man die autorisierten DNS-Server.
So einfach ist das ...

4. Wie führe ich solche Zone Transfers durch ?

Auch hier liefert uns Unix wieder einmal die besten Hackertools frei Haus.
Das Programm, dass wir jetzt brauchen heißt nslookup. Im vorherigen Punkt (nr. 3)
haben wir den DNS-Server ermittelt. Somit haben wir alles, was wir für einen Zone
Transfer benötigen.

Dann fangen wir mal an :

Unix-shell$ nslookup
Default Server: domain.name.server.de
Address: 1.2.3.4

* server 1.3.1.2
Default Server: [1.3.1.2]
Adress: 1.3.1.2
* set type=any
* ls > /datei_name

Zunächst führen wir nslookup aus, das Tool, welches uns beim Zone Transfer behilflich ist.
Nach der Angabe des Default Servers bekommen wir ein Prompt (>). Hier können wir unsere
Befehle eingeben.

Der erste Befehl den wir eingegeben haben, ist "server 1.3.1.2". Mit dem server-Befehl
teilen wir nslookup mit, dass wir von nun den DNS-Server 1.3.1.2 abfragen wollen. Der
Server 1.3.1.2, ist der DNS-Server, den wir in Punkt 3. mit der Whois-Abfrage ermittelt
haben. Tragt also hier immer die Adresse des DNS-Servers ein (anstelle von 1.3.1.2), der
für das jeweilige Netzwerk zuständig. Und den zuständigen DNS-Server bekommen wir ja
mittels Whois.

Der nächste Befehl ist "set type=any". Mittels dem set-type-Befehl können wir bestimmen,
was für Daten wir vom DNS-Server haben wollen. In unserem Fall wollen wir alle Daten,
also "any".

Der letzte Befehl lautet "ls > /datei_name". Hiermit wird der eigentliche Zone Transfer
abgewickelt. Der DNS-Server liefert uns nun alle Datensätze. Zusätzlich leiten wir die
Ausgabe in die Datei /datei_name um. Dies muss nicht gemacht werden, ist aber bei großen
Datenmengen und zur späteren Inspektion zu empfehlen. Das war auch schon der Zone Transfer.

Alle Dateneinträge befinden sich nun in der Datei /datei_name.



Unix-Shell$ cat /datei_name
www 1D IN A 1.2.3.5
1D IN CNAME sparc.test.de
1D IN HINFO "SPARC" "SunOS"
1D IN MX 0 mail-host
1D IN TXT "Nice Server"
bsp1 1D IN A 1.2.3.6
1D IN HINFO "X86" "Windows"
1D IN MX 0 mail-host
1D IN TXT "Workstation"
bsp2 1D IN A 1.2.3.7
1D IN CNAME x86.test.de
1D IN HINFO "X86" "Linux"
1D IN MX 0 pop-mail-server
1D IN MG 0 pop2-mail
1D IN TXT "Workstation2"
[blah blah blah blah ....]

Auch wenn das auf den ersten Blick verwirrend ausschauen mag, so gibt es dem Hacker
wichtige Informationen über das Netzwerk.

Die A-Records geben die IP-Adresse eines Computers an. Nachfolgend haben einige
Netzwerk-Rechner auch noch Hostnamen (oder Alias-Namen), diese werden dann im
CNAME-Record angezeigt.

Das wohl interessanteste - neben den IP-Adressen - ist wohl das HINFO-Record.
Es gibt Auskunft über die CPU und das Betriebssystem des Hosts. Beispielsweise
läuft auf bsp1 Windows und benutzt wird ein Intel(-kompatibler) Prozessor.
Die Einträge werden vom Administrator selbst eingerichtet, können also von Fall
zu Fall unterschiedlich aussehen.

Für die Bedeutung aller weiteren Records schau einfach mal in die Tabelle unter
Punkt 5) nach.

Die Einträge ermöglichen dem Hacker nun eine erste Analyse der Hosts im Netzwerk.
Hat sicher der Hacker zum Beispiel auf Windows-Systeme spezialisiert, so kann er in den
Einträgen speziell nach Windows suchen (im HINFO-Record). Diese kann er dann gezielt
angreifen.
Des weiteren kann der Hacker sich auch ein kleines Netzwerk-Diagramm erstellen, da
er bereits alle IP-Adressen durch die Einträge erhalten hat.

Es gibt viele weitere Möglichkeiten, wie man solche Informationen verwenden kann.
Seit also einfach mal kreativ !!!!

5. "Fortgeschrittene" Methoden und Probleme

5.1 Verschieden Query-Typen

Als wir weiter oben unseren ersten Zone-Transfer durchführten, haben wir
beim set-type-Befehl "any" angegeben. Wie wir rausgefunden haben liefert
uns "any" alle Record-Informationen (A, CNAME, MX, HINFO, etc.).
Wir können aber auch gezielt nur nach bestimmten Einträgen suchen.
Sollte uns zum Beispiel nur interessieren über welche Server die Mails
abgehandelt werden, so können wir den Query-Type "any" in "mx" ändern
und entsprechend den set-type-Befehl folgendermaßen ausführen:

* set type=mx

Hier folgt nun eine Liste mit den wichtigsten Query-Typen :

QueryType Informationen

A IP-Adresse des Hosts
CNAME Hostname (Alias)
HINFO Infos über OS und CPU
MD Mail-Destination (Ziel)
MG Mail-Group
MX Mail-Server
MINFO Mail-Server-Infos
NS Namensserver
ANY Alle Infos


5.2 Probleme

Es kann der Fall eintreten, dass der Zone Transfer nicht klappt, weil der DNS-Server
unsere Abfrage abweist. Das liegt nicht an dem Hacker, sondern an der Einstellung des
DNS-Servers. Das wir überhaupt den Zone Transfer durchführen können, liegt ja an einer
Fehlkonfiguration des Ziel-DNS-Servers. "Richtig" konfigurierte Server lassen
Zone-Transfers nur von bestimmten anderen (DNS-) Servern durch. Somit kann es sein,
dass man auf einen Server stößt, der solche Transfers nicht durchlässt. Dann muss
man leider aufgeben, und eine andere Methode der Informationsbeschaffung wählen.




Der Autor :

Morpheus[BrightDarkness]
URL: www.brightdarkness.de
Mail: Morpheusbd@gmx.net