> For the complete documentation index, see [llms.txt](https://ciberap.gitbook.io/ciberaprt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ciberap.gitbook.io/ciberaprt/dockerlbas/facil/allien.md).

# Allien

## Identificación

Para empezar hay que hacer un escaneo `nmap` para ver los puertos que están abiertos:

```bash
sudo nmap -p- -sS -sCV -Pn --open --min-rate=5000 172.17.0.2 -v
```

Con el comando `nmap` es el comando de escaneo de redes.\
El parámetro `-sS` hace que sea un escaneo más sigiloso para no ser detectado.\
El parámetro `-sCV` hace que nmap ejecute scripts para la recolección de información y la versión del servicio.\
El parámetro `-Pn` hace que no compruebe que el host esté activo.\
El parámetro `-n` indica que no realice la resolución de nombres DNS.\
El parámetro `--open` muestra todos los puertos que estén abiertos.\
El parámetro `-v` para que muestre lo que va encontrando en tiempo real.

Al terminar el escaneo muestra el siguiente resultado:

```
PORT    STATE SERVICE     VERSION
22/tcp  open  ssh         OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 43:a1:09:2d:be:05:58:1b:01:20:d7:d0:d8:0d:7b:a6 (ECDSA)
|_  256 cd:98:0b:8a:0b:f9:f5:43:e4:44:5d:33:2f:08:2e:ce (ED25519)
80/tcp  open  http        Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Login
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
139/tcp open  netbios-ssn Samba smbd 4.6.2
445/tcp open  netbios-ssn Samba smbd 4.6.2
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

Como podemos observar hay diferentes puertos abiertos.

* Puerto **22**: se asemeja a **SSH** de **OpenSSH 9.6p1** de **Ubuntu**.
* Puerto **80**: se asemeja a **HTTP** de **Apache 2.4.58**, parece ser un inicio de sesión.
* Puertos **139 y 445** que parecen ser de **Samba**.

## Inspeccionando la web

Empezamos abriendo el **navegador web** y entrando en la web, y como dije antes, parece ser un **inicio de seseión**.

<figure><img src="/files/Ma5D4NVbOQugR4XrBAQS" alt=""><figcaption></figcaption></figure>

También podemos usar el comando **whatweb** para identificar de que tecnologías está echo el servidor web.

<figure><img src="/files/LcwLUMCKGqO0D3riLdEL" alt=""><figcaption></figcaption></figure>

Viendo el codigo fuente de la página nos damos cuenta que hace una solicitud **POST** pero no hay indicada ninguna **url**, por lo que no hace nada.

```html
<form method="POST" action="">
```

### Foozing de directorios

Vamos a provar haciendo **Foozing de directorios** y achivos por si encontramos algo, para ello usamos la herramienta de **gobuster**.

```bash
sudo gobuster dir -w directory_list_lowercase_2.3_small.txt -u "http://172.17.0.2/" -x .php,sh,.html,.txt,.py,.xml
```

En ese comando usamos el **modo directorios** con `dir`, después seleccionamos la **wordlist** con el parámetro `-w` , y con parámetro `-u`establezco la **url**, yo también añadí que me escaneara las **extensiones de archivos** con el parámetro `-x`.

<figure><img src="/files/b4XpPwr4GZJMAW8Lv5O3" alt=""><figcaption></figcaption></figure>

Como podemos ver encontramos varios documentos **.php**, por lo que vemos primero el **info.php** que contiene la información que se ponde de ejemplo de php.

<figure><img src="/files/wT7BDDw6kpivtP5aPGSH" alt=""><figcaption></figcaption></figure>

Y donde ya **encontramos cosas** es en el archivo **productos.php** que muestra lo siguiente:

<figure><img src="/files/bvZjfHNoSpc1eIztmUeF" alt=""><figcaption></figcaption></figure>

Lo que podemos ver es que abajo hay un **formulario de contacto** en el que podemos intentar ver cosas.

<figure><img src="/files/llsqEl8p0rOLhHWFSfPw" alt=""><figcaption></figcaption></figure>

Para ello podemos ver el código fuente para ver lo que muestra, pero tampoco vemos que haya algo interesante.

## enum4linux

Como vemos servicios de **samba** podemos intentar buscar con la herramienta **enum4linux**, y así si se ejecuta el comando `enum4linux 172.17.0.2`, obtenemos estos usuarios:

<figure><img src="/files/5vhhlGdWm8zptbskc3Cs" alt=""><figcaption></figcaption></figure>

### SMB

Provamos con el comando **smbclient**.

```bash
smbclient -L //172.17.0.2/ -N
```

<figure><img src="/files/88oChgvZvecYO3asn7h4" alt=""><figcaption></figcaption></figure>

Como podemos observar salen algunas unidades, por lo que **podemos entrar sin restricciones** a la carpeta de **myshare**, para ello usamos el comando `smbclient //`172.17.0.2`/myshare -N`.

Y al conectarmos y hacer `ls` hay un archivo llamado `access.txt`que lo obtenemos con el comando `get`.

<figure><img src="/files/vPUq79HVvuYOK7TtGnbc" alt=""><figcaption></figcaption></figure>

Después al ver el archivo nos damos cuenta que hay como una clave extraña:

<figure><img src="/files/eSruhgTu0AZNLTHO9t9b" alt=""><figcaption></figcaption></figure>

```
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InNhdHJpYW5pN0Blc2VlbWViLmRsIiwicm9sZSI6InVzZXIiLCJpYXQiOjE3MjgxNjAzNzMsImV4cCI6MTcyODE2Mzk3MywiandrIjp7Imt0eSI6IlJTQSIsIm4iOiI2MzU4NTI5OTgwNzk4MDM4NzI2MjQyMzYxMjc2NTg2NjE3MzU1MzUyMTMxNjU0ODI2NDI1ODg4NDkzNTU1NDYxNTIyNTc1NTAwNjY0ODY2MDM4OTY4ODMwNTk4OTY0NjUxOTQ2NDEzMzU4OTI1MzU2OTM4MDQwMTE1MjQzMDg4MTg0NTg1MzQxMzY5NTQyNTgxNTQwOTc3MjMzMjU0MTQxNzQ5NzczNDQyODkwNjc3ODY2MjI3NzUyMzEzMzg2OTk1NzA1ODAxNzM0NjA2NDE1NjkyNTM5MjAyNzc5OTczMjczODgyNTc1NTUwMTIwMDc4NjUzNDc0MTU1MjMyMjkwMDAxNjM4NTIwMTExNTUyNjE1NDkwMjQyOTYyMDA4MjYxNDI4NzA0MjAxNjcwOTg0NDUyMjY1NzcwNyIsImUiOjY1NTM3fX0.bQhS5qLCv5bf3sy-oHS7ZGcqqjk3LqyJ5bv-Jw6DIIoSIkmBtiocq07F7joOeKRxS3roWdHEuZUMeHQfWTHwRH7pHqCIBVJObdvHI8WR_Gac_MPYvwd6aSAoNExSlZft1-hXJUWbUIZ683JqEg06VYIap0Durih2rUio4Bdzv68JIo_3M8JFMV6kQTHnM3CElKy-UdorMbTxMQdUGKLk_4C7_FLwrGQse1f_iGO2MTzxvGtebQhERv-bluUYGU3Dq7aJCNU_hBL68EHDUs0mNSPF-f_FRtdENILwF4U14PSJiZBS3e5634i9HTmzRhvCGAqY00isCJoEXC1smrEZpg
```

Parece ser que es base64, por lo que lo podemos decodificar.

Si investigamos hay dos partes separadas por un punto, la primera que es:

```
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
```

Y la segunda que es:

```
eyJlbWFpbCI6InNhdHJpYW5pN0Blc2VlbWViLmRsIiwicm9sZSI6InVzZXIiLCJpYXQiOjE3MjgxNjAzNzMsImV4cCI6MTcyODE2Mzk3MywiandrIjp7Imt0eSI6IlJTQSIsIm4iOiI2MzU4NTI5OTgwNzk4MDM4NzI2MjQyMzYxMjc2NTg2NjE3MzU1MzUyMTMxNjU0ODI2NDI1ODg4NDkzNTU1NDYxNTIyNTc1NTAwNjY0ODY2MDM4OTY4ODMwNTk4OTY0NjUxOTQ2NDEzMzU4OTI1MzU2OTM4MDQwMTE1MjQzMDg4MTg0NTg1MzQxMzY5NTQyNTgxNTQwOTc3MjMzMjU0MTQxNzQ5NzczNDQyODkwNjc3ODY2MjI3NzUyMzEzMzg2OTk1NzA1ODAxNzM0NjA2NDE1NjkyNTM5MjAyNzc5OTczMjczODgyNTc1NTUwMTIwMDc4NjUzNDc0MTU1MjMyMjkwMDAxNjM4NTIwMTExNTUyNjE1NDkwMjQyOTYyMDA4MjYxNDI4NzA0MjAxNjcwOTg0NDUyMjY1NzcwNyIsImUiOjY1NTM3fX0.bQhS5qLCv5bf3sy-oHS7ZGcqqjk3LqyJ5bv-Jw6DIIoSIkmBtiocq07F7joOeKRxS3roWdHEuZUMeHQfWTHwRH7pHqCIBVJObdvHI8WR_Gac_MPYvwd6aSAoNExSlZft1-hXJUWbUIZ683JqEg06VYIap0Durih2rUio4Bdzv68JIo_3M8JFMV6kQTHnM3CElKy-UdorMbTxMQdUGKLk_4C7_FLwrGQse1f_iGO2MTzxvGtebQhERv-bluUYGU3Dq7aJCNU_hBL68EHDUs0mNSPF-f_FRtdENILwF4U14PSJiZBS3e5634i9HTmzRhvCGAqY00isCJoEXC1smrEZpg
```

Por lo que ahora cada una de las dos cosas las podemos descodificar con el comando `base64 -d`.

```json
{
  "alg": "RS256",
  "typ": "JWT"
}
```

```json
{
  "email": "satriani7@eseemeb.dl",
  "role": "user",
  "iat": 1728160373,
  "exp": 1728163973,
  "jwk": {
    "kty": "RSA",
    "n": "63585299807980387262423612765866173553521316548264258884935554615225755006648660389688305989646519464133589253569380401152430881845853413695425815409772332541417497734428906778662277523133869957058017346064156925392027799732738825755501200786534741552322900016385201115526154902429620082614287042016709844522657707",
    "e": 65537
  }
}
```

Tambien una web util para hacer eso es <https://jwt.io>.

## Fuerza bruta

Vamos a empezar a hacer **fuerza bruta** a el usuario **satriani7**.

Para eso utilizaré la herramienta **crackmapexec**.

```bash
crackmapexec smb 172.17.0.2 -u satriani7 -p rockyou_clean.txt
```

Y así dió el siguiente resultado:

```
SMB         172.17.0.2      445    SAMBASERVER      [+] SAMBASERVER\satriani7:50cent
```

Por lo que la **contraseña** del usuario **satriani7** es **50cent**.

Entonces podemos conectarnos al **SMB**, para ello ejecutamos el comando:

```bash
smbclient //172.17.0.2/backup24 -U satriani7
```

Y así **logramos conectarnos**, al ejecutar el comando **ls** encontramos lo siguietne:

<figure><img src="/files/8Xqz2nnZvzDBbKZYltOQ" alt=""><figcaption></figcaption></figure>

Y así investigamos hasta ver que en la carpeta de Documentos encontramos algo:

<figure><img src="/files/V9l0OBrFAc9sNoR9MAQK" alt=""><figcaption></figcaption></figure>

Y así si salimos y vemos los archivos nos encontramos con lo siguiente:

<figure><img src="/files/EfMIwDK5DPQpXruBMdgp" alt=""><figcaption></figcaption></figure>

Y así nos encontramos con las **credenciales de los usuarios**.

Ahí encontramos alguno que me llama la atención como **administrador**, por lo que **accedemos por ssh con ese usuario**.

## Accediendo por SSH

Accedemos con esas credenciales al ssh:<br>

<figure><img src="/files/EmeWfMXQKaI5BUcqF4fH" alt=""><figcaption></figcaption></figure>

Pero no podemos escalar los privilegios por lo que crearé un **Reverse Shell** con **PHP** para ponerla en la web y así acceder como **www-data**.

### Accediendo por Payload

Descargo el **ReverseShell** de aquí: <https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php>, lo pongo en el servidor para ejecutarlo.

Y al guardarlo, en mi máquina **me pongo como escucha** en el puerto que asigné, que en este caso es el **3131**.

Y así si accedo a la web a <http://172.17.0.2/payload.php> me llega la **Reverse Shell**.

## Escalada de privilegios

<figure><img src="/files/SCJh2oCRt3rwZ3vxCk69" alt=""><figcaption></figcaption></figure>

Para la escalada de privilegios lo hize por **sudo**, al tener **service** como **sudo** ejecuté el comando `sudo service ../../bin/sh`, y así al ejecutarlo tengo acceso como **root**.

## Final

En esta máquina hemos **practicado** un poco de **fuerza bruta**, una **ReverseShell** con **PHP**, un poco de **foozing web** y sobretodo nos hemos estado **navegando por SMB**, y una escalada sencilla de privilegios por un permiso **sudo** de **service**.
