Access

.htaccess SeManageVolumePrivilege Upload file SPN kerberoast

  • Nom machine : Access

  • Difficulté : Intermédiaire

  • OS : Windows

Enumération

NMAP

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-22 06:33 EDT
Nmap scan report for 192.168.178.187
Host is up (0.034s latency).
Not shown: 65514 filtered tcp ports (no-response)
PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
80/tcp    open  http          Apache httpd 2.4.48 ((Win64) OpenSSL/1.1.1k PHP/8.0.7)
|_http-title: Access The Event
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Apache/2.4.48 (Win64) OpenSSL/1.1.1k PHP/8.0.7
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2024-08-22 10:38:32Z)
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp   open  ldap          Microsoft Windows Active Directory LDAP (Domain: access.offsec0., Site: Default-First-Site-Name)
445/tcp   open  microsoft-ds?
464/tcp   open  kpasswd5?
593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp   open  tcpwrapped
3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: access.offsec0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
9389/tcp  open  mc-nmf        .NET Message Framing
49666/tcp open  msrpc         Microsoft Windows RPC
49668/tcp open  msrpc         Microsoft Windows RPC
49673/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
49674/tcp open  msrpc         Microsoft Windows RPC
49677/tcp open  msrpc         Microsoft Windows RPC
49704/tcp open  msrpc         Microsoft Windows RPC
49802/tcp open  msrpc         Microsoft Windows RPC
Service Info: Host: SERVER; OS: Windows; CPE: cpe:/o:microsoft:windows

Nous avons un nom de domaine : access.offsec

HTTP (80)

Nous allons chercher des directoires intéressants

/uploads pourrait être utile.

Lorsqu'on veut acheter un ticket :

Nous avons essayé d'upload un gif et cela a fonctionné, nous l'avons retrouver dans /uploads

Nous allons maintenant chercher à obtenir un shell.

Accès Initial

Une simple modification dans burp suite fonctionne. En effet, nous avons modifié l'extension .php en .gif. Le fichier ne peut s'exécuter mais nous avons une piste, et nous savons que nous avons juste à jouer avec les extensions de fichier.

Une simple suppression d'extension marche, ainsi que l'encodage du point de l'extension en URL.

Cependant on n'arrive pas à exécuter de commandes.

Nous allons chercher plus loin.

Nous allons upload un fichier .htaccess permettant d'exécuter du code php avec l'extension choisi : ici "php16"

Maintenant, si on upload shell.php16, le code php s'exécutent belle et bien. Deux solutions s'offrent à nous :

  • 1: on injecte le payload powershell base64 dans le paramètre cmd (via la barre ou l'url)

  • 2: on upload directement un reverse shell (Ivan Sincek)

Elévation des privilèges

En fouillant et exécutant winpeas, nous ne trouvons rien d'intéressant.

Nous allons tenter une attaque kerberoast avec rubeus.

On recopie le fichier sur notre machine puis on va essayer de le cracker.

Nous allons le mot de passe, nous allons tenter d'exécuter des commandes avec RunasCs

Nous pouvons exécuter des commandes et nous pouvons constater que nous avons un nouveau privilège : SeManageVolumePrivilege

Nous allons exécuter un reverse shell afin de nous connecter en tant que svc_mssql. Tout d'abord nous téléchargons nc.exe sur la cible.

Nous sommes admin !

Mis à jour