ARP, Sniffer, Beispiele für Passwort-Angriffe im Windows Netzwerk

Hier mal ein kleines Praxisbeispiel, wie man einfache Passwortangriffe in Windowsnetzwerken durchführen kann.

Dazu baue ich ein simples Netzwerk auf, mit einem Windows Server mit ADS, einem Client und einem Angreifer PC.


Einfache Testumgebung

Server läuft unter Windows Server 2003, die Clients laufen unter Windows XP.

Der Client ist in die Domäne eingebunden (daxnet.intern). Einen DHCP Server habe ich nicht installiert, IP Konfigurationen sind statisch.

Ich teste Passwortangriffe in allen erdenkbaren Kombinationen, also ADS, SMB usw..

Angriffe mit Brutus und Hydra

Diese Tools bieten auch die Möglichkeit, Passwort Angriffe auf Windows Dienste auszuführen, was ja releativ einfach sein sollte. In diesem Fall versuche ich mein Glück auf SMB.

Es handelt es sich hier lediglich um Proof-of-Concept Angriffe, komlexe Namen- und Passwortkombinationen lassen sich mit diesen Angriffen sowieso nur schwer herauskriegen.

Ich lege ein Share test an, auf das Jeder Leserechte hat. Unter den Sicherheitseinstellungen haben Benutzer ebenfalls Leserechte. Der Benutzer otto mit dem Passwort HalloWelt-10 ist Mitglied von Benutzer.

Es ist schon relativ unwahrscheinlich, das mit so einem Passwort eine Wörterbuch- oder eine Bruteforce Attacke erfolgreich sein kann (es gibt ja die Kennwortrichtlinien, die automatisch aktiviert sind). Aber -> Proof-of-Concept, das Passwort steht natürlich in meinem Wörterbuch.

 

Brutus

Keine Probleme mit Brutus, das ganze dauert nur wenige Sekunden (819 Wörter, Benutzer vorgegeben).

Im Bruteforce Modus schafft Brutus ca. 60 Angriffe / Sekunde (unter VMWare Server 2 emulierte Umgebung), das lohnt evtl. dann also auch, das sind immerhing über 10 Mio. Angriffe an einem Tag.

Brutus ist also dazu geeignet (im Gegensatz zu manchen anderen Angriffen) und einfach zu bedienen.

 

Hydra

Mit Hydra ist es auch nicht schwer:

Und es geht auch etwas schneller als mit Brutus. Ich habe die words.txt vom vorhergehenden Versuch mit Brutus kopiert.

 

Fazit

Mit einer gescheiten Benutzerliste / Passwortliste und evtl. noch etwas Wissen über das Netzwerk kann ein Angreifer mit etwas Geduld schon etwas erreichen.

 

 

Angriffe mit Cain & Abel

Das schöne an C&A ist, das es neben einem Passwortsniffer noch eine sehr einfache Möglichkeit für APR bietet.

Das heißt, das ein Angreifer den Netzwerkverkehr unbemerkt auf seinen Rechner umleiten kann, um so eben an sensible Informationen zu kommen. Außerdem kann ein Angreifer auch gleich noch seine MAC Adresse fälschen um seine Spuren zu verschleiern (MAC-Spoofing).

Zur genaueren Funktionsweise siehe auch die Hilfe von C&A und [1], [2].

 

Hier eine ganz kurze Step-by-Step Anleitung um ARP zu konfigurieren:

  • Evtl. muß man in das Fenster in dem Bereich in der Fenstermitte klicken (weiße Fläche unter Status, blauer Punkt)
  • Dann auf das + klicken

Hier der neue Dialog

Die Adresse auswählen, die geARPt werden soll.

Dann APR und Sniffer aktivieren: Zur Aktivierung müssen die Schaltflächen bei den blauen Punkten aktiviert sein.

Und schon wird gesnifft.

 

 

Aus dem Cache von Domain Client PCs

Genauere Anleitung siehe [4].

Benötigete Tools:

john-1.6.37-mscache-.zip

-> am besten danach suchen

und cachedump.

Das Prinzip ist, das die Passwörter grundsätzlich auf den Clients gecached werden, um es zu ermöglichen, das die Anmeldung an die Clients auch funktioniert, wenn der PC den Domaincontroller nicht erreichen kann. Die kann man mit cachedump auslesen und dann mit der o.g. Version von jtr gegenprüfen. Für cachedump benötigt man lokale Admin Rechte auf den Clients.

Außerdem sollte das auch mit rcrack + ntlm zu entschlüsseln sein, was ich aber mangels passender Tabellen (noch) nicht prüfen konnte.

Aber mit jtr klappts:

Und wie man sieht ist das Tool echt schnell. Das Passwort war wieder in der PW-Liste.

Das ist ein sehr interessanter Angriff, da es ja recht einfach ist, lokale Adminrechte zu bekommen und Domain Clients ja in den Firmen natürlich immer rumstehen. Der Angriff erzeugt außerdem keine Spuren im Netzwerk, da ja kein Verkehr erzeugt wird.

Wichtig ist noch herauszufinden, wie man verhindert, das die Passwörter gecached werden.

 

SMB

Bei der Authentifizierung über SMB wird das Passwort im LM-Hash Format übertragen. Das ist für schon eher geeignet.

Da Dank Kennwortrichtlinien und mangelnder Rainbowtables das ganze unter Windows 2003 nicht tut (zumindest noch ein paar Tage 🙂 ), richte ich einen Ordner auf dem 2. PC ein, Freigabe Benutzer tester/tester.

Funktioniert aber nicht, der LM Hash wird nicht vollständig übertragen. Es gibt anscheinend die Möglichkeit, sog. Halflm Hashes Rainbowtable mit Winrtgen zu erstellen, die dann zumindest das halbe Passwort finden.

 

Sonstige Passwörter

Abfangen lassen sich natürlich alle Passwörter die im Klartext übertragen werden, wie POP, HTTP usw..

Fazit

Zum Glück werden keine LM Hashes übertragen, das wäre zu einfach zu cracken. Alledings kann man auch viel mit Brutus & Co anfangen. So ganz sicher ist das alles nicht…

Um an Windows Passwörter im Klartext zu gelangen ist es immer noch am einfachsten ein pwdump File zu haben, das kriegt man aber nicht über das Netzwerk.

Wäre aber noch interessant, ob das auch bei Windows Server 2003 funktioniert…

 

 

l0phtcrack (kommerziell)

Das Tool kann aus verschiedenen Quellen Passwörter cracken, und zwar Unix und Windows. Einfach zu bedienen, die Doku ist soweit OK. 15 Tage läuft es ohne Kohle.

Der Sniffer von l0phtcrack kann nur SMB abhören. Bei einem Test zwischen zwei XP Rechnern hat das aber nicht funktioniert.

Die weiteren Funktionen sind einfach zu bedienen, werden allerdings auch durch andere Tools abgedeckt.

Interessant ist aber noch die Anleitung unter [3], wie man Passwörter aus der SAM wiederherstellen kann (für eine ältere Version).

Das klappt soweit auch, das cracken geht halt relativ lang, v.a. wenn Bruteforce benötigt wird, ist aber machbar.

LCP

Eine Freeware Alternative für l0phtcrack, die aber seit 2005 nicht mehr weiterentwickelt wird.

http://www.lcpsoft.com/english/index.htm

Das Programm sieht aber sehr gut und brauchbar aus, wobei es aber nur noch bis Windows Server 2003 weiterhelfen sollte. Die Hilfsdatei ist ausführlich und einen Blick wert.

Es werden auch ein paar Beispiel Dumbs mitgeliefert, mit denen man das Programm testen kann. Außerdem sind auch Wörterbücher dabei.

Während eines Durchlaufs

Weiterlesen

[1] Angriffsszenarien auf Window

[2] tutorial rainbowtables and rainbowcrack

[3] SAM Password Recovery

[4] Cracking Cached Domain Passwords

[5] http://www.lcpsoft.com/english/articles/passwords.htm

 

 

 

Ein rotierendes Backup mit NTBackup erstellen

Hier eine Schnellanleitung für ein rotierendes Backup mit NTBackup. Ich verwende es, um mehrere Backups auf eine externe USB Platte zu schreiben (wird tägl. gewechselt, also braucht man 2-5, funktionieren tut es natürlich auch ohne).

So funktioniert es:

– alle Backup-Dateien die älter als X Tage sind löschen

– Vollbackup erstellen,

– Vollbackup umbennen (mit Datum im Dateinamen)

– Mail mit Ausgabe aller Dateien im Verzeichnis mailen (Logfile geht natürlich auch)

Dazu habe hier ein Beispiel erstellt, das lediglich den Systemstate sichert, Ziel des Backups ist ein Ordner auf c. Das ist in der Realität nicht wirklich zu empfehlen.

Als erstes richte ich mit NTBackup einen Job mit Zeitplan ein. Damit erspare ich mir die manuelle Konfiguration von den Tasks und dem Backupjob. Ich klaue dann einfach den Befehl aus dem Task.

Das ist die Grundlage für das Script.

Um die alten Dateien zu löschen benutze ich das kleine Tool delage32.exe, für die Mails blat.exe (s.u.). Die Dateien (delage32.exe, blat.exe und blat.dll) kopiere ich nach c:windowssystem32

Und hier das Script:

rem das Zielverzeichnis, sollte in Real das USB Laufwerk sein
cd c:backup

rem von den letzten vier Tagen das Backup behalten
delage32.exe “*.bkf” 4

C:WINDOWSsystem32ntbackup.exe backup “@C:Dokumente und EinstellungenAdministratorLokale EinstellungenAnwendungsdatenMicrosoftWindows NTNTBackupdatabkp2.bks” /n “Backup.bkf erstellt am 01.06.2011 um 17:06” /d

“Satz am 01.06.2011 um 17:06 erstellt” /v:no /r:no /rs:no /hc:off /m normal /j “bkp2” /l:s /f “c:backupBackup.bkf”

rename Backup.bkf Backup-%date%.bkf

dir > backup.log

rem Mailzugangsdaten müssen angepasst werden
blat.exe msg.txt -attach backup.log -server mailout.xyz.de -to dahin@gehtdiemail.de -f backup@xyz.de -s “Backup Log” -u backup@xyz.de -pw passwort
Die Datei msg.txt enthält den Mailbody.

Wenn das Script erstellt und abgespeichert ist, muss man noch den Job in den geplanten Aufgaben in der Systemsteuerung so ändern, damit statt dem ntbackup die Batch Datei aufgerufen wird und das war es dann auch schon.

Download delage32.exe hier.

Download blat.exe hier.

Windows Server 2008 SystemState Backup

So kann man auf die Schnelle ein Backup vom SystemState unter Windows Server 2008 machen. NTBackup ist ja weg…

Dazu muß wbadmin installiert werden (Bestandteil von Windows Server), unter dem Server-Manager, Features, Features hinzufügen gibt es die “Windows Server-Sicherungsfeatures”, alles auswählen und installieren.

Dann kann man in der Kommandozeile mit

wbadmin start systemstatebackup -backuptarget:e:

ein Backup auf e: erstellen.

Mehr gibts natürlich mit wbadmin -? oder hier.

 

Windows: Metrik der Standartroute ändern

Wenn man an mehreren LAN Schnittstellen einen Standartgateway eingerichtet hat, z.B. um Router an einem Netzwerk intern zu testen, kann es schnell passieren, das der PC (in meinem Fall mit Windows XP) die Route ins Internet nicht mehr findet. Dann wird der falsche Router benutzt. Es gibt viele Wege das zu ändern, z.B. kann man die Routen auch über die Kommandozeile editieren.

Ein anderer Weg ist, die Metrik zu ändern. Hat man z.B. folgende Routing Einträge:

wird das Routing des Standartgateway immer über 192.168.0.1 geleitet. Das ist in meinem Fall der Testrouter, der gar nicht am Internet hängt. Es wird also immer die Route mit der niedrigsten Metrik verwendet.

Damit die 192.168.2.1 wieder verwendet wird, setze ich in meinem Fall einfach die Metrik für 192.168.0.1 auf eine Metrik von 30. Das geht über die Eingenschaften der LAN Verbindung:

Auf Erweitert…

Automatische Metrik deaktivieren und den höheren Wert eintragen.

Dann sollte man noch die Route zu dem Zielnetz von Testrouter eintragen.

route add 192.168.10.0 mask 255.255.255.0 192.168.0.1

sonst kommen die Pakete nicht an :-).

Ein NAT mit Port Forwarding unter Windows Server 2003 mit RAS einrichten

Ein Windows Server 2003 (SBS, sollte aber für Standart & Co ebenso funktionieren) wird als NAT eingerichet, um eine Webseite auf einem dahintergelagerten Server errreichbar zu machen.

Wobei der Web Server in meinem Beispiel eine Windows XP Kiste mit Xampp ist.

So wird NAT grundsätzlich eingerichtet, zu finden unter Systemsteuerung -> Verwaltung -> Routing und RAS.

Anweisungen wie “Weiter” oder “Fertigstellen” lasse ich in der Beschreibung weg.

Auf “Routing und RAS konfigurieren und aktivieren” gehen.

NAT auswählen.

Die korrekte öffentliche Schnittstelle auswählen.

Auf Eigenschaften.

Alle Einstellungen bestätigen und testen.

Es klappt, die Seite vom Webserver kann jetzt über die externe Adresse des Windows Servers aufgerufen werden.