HackTheBox. Walkthrough-Kaskade. Remote-LDAP- und Active Directory-Objekte



Ich veröffentliche weiterhin Lösungen, die zur Finalisierung von Maschinen von der HackTheBox- Plattform gesendet wurden .



In diesem Artikel werden wir uns mit LDAP befassen, das VNC-Kennwort dekodieren, dotNet-Anwendungen dekompilieren, AES einfach entschlüsseln und gelöschte Active Directory-Objekte wiederherstellen.



Die Verbindung zum Labor erfolgt über VPN. Es wird empfohlen, keine Verbindung von einem Arbeitscomputer oder einem Host herzustellen, auf dem wichtige Daten für Sie vorhanden sind, da Sie sich in einem privaten Netzwerk mit Personen befinden, die etwas über Informationssicherheit wissen.



Organisationsinformationen
, , Telegram . , , .



. , - , .



Aufklärung



Dieser Computer hat eine IP-Adresse vom 10.10.10.182, die ich zu / etc / hosts hinzufüge.



10.10.10.182	cascade.htb


Der erste Schritt ist das Scannen offener Ports. Da das Scannen aller Ports mit nmap sehr lange dauert, werde ich dies zunächst mit masscan tun. Wir scannen alle TCP- und UDP-Ports von der tun0-Schnittstelle mit 500 Paketen pro Sekunde.



masscan -e tun0 -p1-65535,U:1-65535 10.10.10.182      --rate=500






Auf dem Host sind viele Ports geöffnet. Scannen wir sie jetzt mit nmap, um die benötigten zu filtern und auszuwählen.



nmap cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






Führen Sie jetzt einen Scan mit der Option -A aus, um detailliertere Informationen zu den Diensten zu erhalten, die an den Ports ausgeführt werden.



nmap -A cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88






Wie üblich müssen Sie zunächst das SMB - enum4linux auflisten.



enum4linux -a cascade.htb










Wir speichern uns eine Liste der Benutzer und ihrer Gruppenmitgliedschaft. Mal sehen, was LDAP zu bieten hat.



Einstiegspunkt



Wir verwenden JXplorer, um mit LDAP zu arbeiten. Lassen Sie uns verbinden und alle Objekte sehen.







Und vom Benutzer Ryan Thompson finden wir das Attribut cascadeLegacyPwd.







Wir dekodieren base64 und erhalten das Passwort.







NUTZER



Sobald wir die Anmeldeinformationen gefunden haben, sehen wir uns die SMB-Ressourcen an, die uns mit CrackMapExec zur Verfügung stehen.



cme smb cascade.htb -u "r.thompson" -p "rY4n5eva" --shares






Stellen Sie eine Verbindung zur Datenressource her.



smbclient -U r.thompson //10.10.10.182/Data






Lassen Sie uns alles rekursiv durchgehen.







Lassen Sie uns nun diese Dateien herunterladen und anzeigen.



get "IT\Email Archives\Meeting_Notes_June_2018.html"
get "IT\Logs\Ark AD Recycle Bin\ArkAdRecycleBin.log"
get IT\Logs\DCs\dcdiag.log
get "IT\Temp\s.smith\VNC Install.reg"


In der ersten Datei wird über die Netzwerkübertragung gesprochen und dass das TempAdmin-Kennwort mit dem regulären Administratorkennwort identisch ist.







Beachten Sie ab der zweiten Datei die Rechte des Benutzers ArkSvc.







In der dritten Datei ist nichts Interessantes. Aber im vierten finden wir das VNC-Passwort für den s.smith-Benutzer.







Wir dekodieren es mit vncpasswd . Wir geben an, dass wir das Passwort (-d) dekodieren und in Hex-Form übergeben möchten.



vncpasswd.py -d -H 6bcf2a4b6e5aca0f






Wenn wir uns die Ausgabe von enum4linux ansehen, können wir sehen, dass dieser Benutzer Mitglied der Benutzergruppen der Remoteverwaltung ist. Versuchen wir, uns mit diesem Passwort über den winrm-Dienst anzumelden.



evil-winrm -i cascade.htb -u s.smith -p sT333ve2






BENUTZER 2



Sehen wir uns die SMB-Ressourcen dieses Benutzers an:



cme smb cascade.htb  -u s.smith -p sT333ve2 --shares






Audit $ Ressource verfügbar.



smbclient -U s.smith //10.10.10.182/Audit$






Laden wir alles herunter, was es gibt.







Unter den heruntergeladenen Dateien befindet sich eine Datenbank. Durch Öffnen können Sie die Anmeldeinformationen in die LDAP-Tabelle eingeben.







Aber sie passen nirgendwo hin, anscheinend ist das Passwort verschlüsselt, aber mit dem Programm entschlüsselt. In diesem Fall gibt es CascCrypto.dll. Darüber hinaus sind sowohl das Programm als auch die Bibliothek in C # geschrieben.







Lassen Sie uns das Programm mit dnSpy dekompilieren. Wir finden den Ort, an dem das Passwort aus der Datenbank gelesen und an die Entschlüsselungsfunktion übertragen wird. Dort wird auch der Schlüssel übertragen.







Nachdem wir die Bibliothek dekompiliert haben, ermitteln wir den Verschlüsselungsmodus und den Initialisierungsvektor.







Wir haben also folgende Parameter:







Jetzt müssen wir entschlüsseln. Machen wir es auf der CyberChef- Website .







Und wir bekommen das Passwort. Wie aus enum4linux hervorgeht, gehört dieser Benutzer zu den Gruppen Remoteverwaltungsbenutzer und AD-Papierkorb. Wie Sie sich erinnern können, wurde dieser Benutzer zum Übertragen von Objekten benötigt. Der TempAdmin-Benutzer hat dasselbe Kennwort wie der Administrator. Aber es wurde entfernt.



Werfen wir einen Blick auf entfernte Objekte.



Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $True}






Und wir finden das Objekt, das wir gesucht haben. Lassen Sie uns seine Attribute erhalten.



Get-ADObject -Filter {SamAccountName -eq 'TempAdmin'} -IncludeDeletedObjects -Properties *






Und wir entschlüsseln das Passwort.







Stellen wir eine Verbindung zu WinRM her und nehmen die Flagge.



evil-winrm -i cascade.htb -u Administrator -p baCT3r1aN00dles






Sie können sich uns per Telegramm anschließen . Dort finden Sie interessante Materialien, durchgesickerte Kurse und Software. Lassen Sie uns eine Community zusammenstellen, in der es Menschen geben wird, die sich in vielen Bereichen der IT auskennen. Dann können wir uns in Fragen der IT und der Informationssicherheit immer gegenseitig helfen.



All Articles