nslookup: anzeigen einer Liste mit allen IP’s und Aliasse einer Domain

Um eine Liste mit allen IP’s und Aliasse einer Domain zu erhalten, kann mit Hilfe des Tools nslookup ein Zonen-Transfer simuliert werden. Dies setzt voraus, dass der zuständige DNS-Server die Option “Zone-Transfere” eingeschaltet hat.

Aus dem Gesichtspunkt der Sicherheit, sollte diese Option bei einem DNS-Server nicht aktiviert sein. Mehr zu diesem Thema “Why is securing DNS zone transfer necessary?”

Um die Liste zu erstellen, braucht es folgende Schritte:

  1. nslookup im interaktiven Modus starten
  2. den Typ der Abfrage auf Nameserver setzen (ns)
  3. ermitteln des Domain-Servers
  4. Simulieren eines Zonen-Transfers

In den interaktiven Modus wechseln und den zuständige DNS-Server bestimmen:


>nslookup
>set type=ns
>2022.ch
>
Nicht autorisierende Antwort:
2022.ch nameserver = ns15.zoneedit.com
2022.ch nameserver = ns13.zoneedit.com

ns13.zoneedit.com       internet address = 66.223.97.114
ns15.zoneedit.com       internet address = 216.227.210.9

Auf den obigen Zeilen 6 und 7 sind die zuständigen DNS-Server abgebildet. Nun wird einer dieser DNS-Server unter nslookup definiert, als Server für die Anfragen, danach wird die Simulation des Zonen-Transfers gestartet:


>server ns15.zoneedit.com
>ls -d 2022.ch
>
[ns15.zoneedit.com]
 2022.ch.                       SOA    ns13.zoneedit.com soacontact.zoneedit.com
. (2011330253 300 300 300 300)
 2022.ch.                       NS     ns15.zoneedit.com
 2022.ch.                       NS     ns13.zoneedit.com
 2022.ch.                       A      80.238.129.157
 demo                           A      194.88.197.97
 www                            A      80.238.129.157
 2022.ch.                       SOA    ns13.zoneedit.com soacontact.zoneedit.com
. (2011330253 300 300 300 300)

Will man das Resultat direkt in eine Textdatei speichern, kann der Befehl auch folgendermassen eingegeben werden:


>ls -d 2022.ch > DateiZumSpeichern.txt

Der Output kann jetzt in der Datei “DateiZumSpeichern.txt” angeschaut werden.

Disk Image mit dd unter Windows erstellen

Der ursprüngliche Unix-Befehl dd dient zum Kopieren von Datenströmen auf niedrigster Stufe. Mit der Hilfe von dd können Datenträger Images von CDs, Harddisks, USB-Sticks usw. erstellt werden. In den meisten Linux-Distributionen ist dd bereits vorhanden. Für Windows (32bit) gibt es auch ein Binary, das unter chrysocome.net heruntergeladen werden kann. Anders als die Unix-Version, bei der auch Datenströme konvertiert werden können, unterstützt die Windows-Version nur das Kopieren von Datenströmen.

Um eine Auflistung der vorhandenen Datenträger zu erhalten, wird folgender Befehl verwendet:


dd --list

Als Output erhalten wir eine Auflistung der vorhanden Datenträger:
dd --list

Um nun ein Image des Laufwerks f:\ zu erstellen:


dd if=\\.\Volume{bae40a24-91cd-11e0-804b-080027ffca15} of=c:\tmp\forensic.img --progress

Mit diesem Befehl wird nun dd das gesamte Laufwerk f:\ als Imagedatei im Verzeichnis c:\tmp speichern.

  • if= definiert das Inputfile / den Datenträger der kopiert werden soll
  • of= definiert das Outputtfile / den Datenträger der beschrieben werden soll
  • bs= definiert die Blockgrösse, welche standardmässig auf 512 gesetzt ist
  • – -progress zeigt die Anzahl der bereits kopierten Blocks an (nur unter Windows vorhanden)

Um unter Windows auf die erstellte Imagedatei zuzugreifen, braucht es ein Tool das dieses Image wieder als Laufwerk einbinden kann.

Dazu eignen sich die Tools:
FileDisk
p2-explorer

ARP-Übersetzungstabelle anzeigen und verändern

Mit Hilfe des Tools “arp” kann unter Windows und Linux die Übersetzungstabelle für IP-Adressen zur MAC-Adresse (physikalische Adresse) angezeigt und verändert werden. Diese Übersetzungstabelle wird von ARP (Address Resolution Protocol) verwendet. Das Tool wird im Normalfall nur für Test- und Debugzwecke verwendet.


>arp -a

Zeigt die aktuellen ARP-Einträge in der Übersetzungstabelle an.

ARP-Einträge

Um einen Eintrag aus der Tabelle zu löschen:


>arp -d 192.168.0.22

Um einen eigenen statischen Eintrag hinzuzufügen:


>arp -s 192.168.0.22 00-aa-00-62-c6-09

DNS-Abfragen mit nslookup

Braucht man Informationen zu einer Domain kann unter Windows und Linux nslookup verwendet werden. Das Tool nslookup bietet die Möglichkeit einen interaktiven Modus oder den nicht interaktiven Modus zu verwenden. Diese Modi unterscheiden sich beim Eingeben der Werte. Im interaktiven Modus wird in einer eigenen Konsole gearbeitet und jeder Befehl einzeln angegeben. Beim nicht interaktiven Modus hingegen, wird alles in einem Befehl definiert.

Was hat www.monsterli.ch für eine IP-Adresse?

Im interaktiven Modus:


>nslookup
>www.monsterli.ch
Server:                192.168.0.1
Address:               192.168.0.1#53

Name:      www.monsterli.ch
Address:   80.238.129.157

Durch die Eingabe von nslookup, in der Konsole, wird in den interaktiven Modus gewechselt. Nach dem wechseln des Modus, kann durch die Eingabe des Hostnamens die Abfrage gestartet werden.

Im nicht interaktiven Modus:


>nslookup www.monsterli.ch
Server:                192.168.0.1
Address:               192.168.0.1#53

Name:      www.monsterli.ch
Address:   80.238.129.157

Was ist der Mailserver der Domain monsterli.ch ?

Im interaktiven Modus:


>nslookup
>set type=mx
>monsterli.ch
Server:                192.168.0.1
Address:               192.168.0.1#53

Nicht autorisierende Antwort:
monsterli.ch    MX preference = 0, mail exchanger = mail.monsterli.ch
monsterli.ch    MX preference = 5, mail exchanger = monsterli.ch
monsterli.ch    MX preference = 10, mail exchanger = mail2.monsterli.ch

Im nicht interaktiven Modus:


>nslookup -type=mx monsterli.ch
Server:                192.168.0.1
Address:               192.168.0.1#53

Nicht autorisierende Antwort:
monsterli.ch    MX preference = 0, mail exchanger = mail.monsterli.ch
monsterli.ch    MX preference = 5, mail exchanger = monsterli.ch
monsterli.ch    MX preference = 10, mail exchanger = mail2.monsterli.ch

Einen alternativen DNS-Server für die Abfragen verwenden

Soll bei der DNS-Abfrage nicht der standart DNS-Server verwendet werden, kann dieser angegeben werden. Hier im Beispiel wird ein öffentlicher DNS-Server von Google verwendet.

Im interaktiven Modus:


>nslookup
>server 8.8.4.4
Standardserver: google-public-dns-b.google.com
Address:  8.8.4.4

>www.monsterli.ch
Server:                8.8.4.4
Address:               8.8.4.4#53

Name:      www.monsterli.ch
Address:   80.238.129.157

Im nicht interaktiven Modus:


>nslookup www.monsterli.ch 8.8.4.4
Server:                8.8.4.4
Address:               8.8.4.4#53

Name:      www.monsterli.ch
Address:   80.238.129.157

Mit VBScript OS Version bestimmen

Dieses Skript kann verwendet werden um die Server OS Version zu bestimmen. Das Skript liefert das Resultat für Windows 2000, Windows 2003, Windows 2008. Es kann jedoch auf einfache Weise erweitert werden, damit auch Client Versionen zurückgeliefert werden.


'/*
'	check windows version
'	return: 
'			win2k for windows 2000
'			win2k3 for windows 2003
'			win2k8 for windows 2008
'			unknown if the os is older / newer
'*/
function getOSVersion()
	strWinVersion = ""
	set objWMIService = GetObject("winmgmts:" _
		& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
	Set colOperatingSystems = objWMIService.ExecQuery _
		("Select * from Win32_OperatingSystem")
	For Each objOperatingSystem in colOperatingSystems
			strWinVersion = objOperatingSystem.Version
	Next

	'/**/	
	strMajor = left(strWinVersion,3)
	strOS = ""
	SELECT CASE strMajor
	case "5.0"
		'WScript.Echo "Windows 2000"
		strOS = "win2k"
	case "5.2"
		'WScript.Echo "Windows 2003"
		strOS = "win2k3"
	case "6.0"
		'WScript.Echo "Windows 2008"	
		strOS = "win2k8"
	case else
		'WScript.Echo "Windows x?" & "(" & strWinVersion & ")"
		strOS = "unknown"
	end select
	getOSVersion = strOS
End Function