# Crocodile

### 1. 📝 **Introducción**

* **Nivel de Dificultad**: Muy fácil.
* **Tags:**&#x20;
  * **Custom Applications**: Evaluación de seguridad en aplicaciones personalizadas.
  * **Protocols**: Análisis de protocolos de comunicación utilizados por aplicaciones.
  * **Apache**: Revisión de configuración y seguridad en servidores Apache.
  * **FTP**: Verificación de la seguridad en servidores FTP.
  * **Reconnaissance**: Recopilación de información sobre los activos de la red.
  * **Web Site Structure Discovery**: Mapeo y análisis de la estructura del sitio web.
  * **Clear Text Credentials**: Detección de credenciales enviadas en texto claro.
  * **Anonymous/Guest Access**: Comprobación de accesos sin autenticación en servicios expuestos.

### 2. 🛠️ **Entorno**

Nos descargamos nuestra VPN y nos conectamos.

```
sudo openvpn nombre_del_archivo.vpn
```

Iniciamos la máquina y verificamos la conexión.

```bash
ping -c 1 10.129.49.118
```

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

Observamos que tenemos conexión y que es una máquina **Linux** ya que su **ttl=63**.

### 3. 🔍 **Reconocimiento**

A continuación, se realiza el comando:

```bash
nmap -p- --min-rate 5000 -sV 10.129.49.118 
```

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

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

### 4. 🚪 **Acceso Inicial**

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

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

Así de primeras no se nos muestra nada relevante ni en el código fuente por lo que usamos la herramienta **Whatweb** para saber más información.

<figure><img src="/files/16u0dCRgdriJtSvlTJgj" alt=""><figcaption></figcaption></figure>

Se nos muestra dos correos por lo que miraremos si son relevantes o no. A continuación me conecto a través del servicio **FTP**.

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

Descubrimos unas credenciales.

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

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

```bash
gobuster dir -u http://10.129.49.118/ -w /opt/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt -t 
```

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

### 5. 🔑 **Captura de la Flag**

Miramos el `login.php`. Probamos las credenciales descubiertas en el servicio **FTP**. Tenemos suerte con la última credencial.

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

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

### 6. ❓Preguntas

#### **Tarea 1: ¿Qué opción de escaneo de Nmap utiliza scripts predeterminados durante un escaneo?**

**-sC**

La opción `-sC` en Nmap emplea el uso de scripts predeterminados durante el escaneo. Estos scripts están incluidos en el Nmap Scripting Engine (NSE) y ayudan a realizar tareas comunes como la detección de versiones y la comprobación de vulnerabilidades.

**Tarea 2: ¿Qué versión del servicio se encuentra ejecutándose en el puerto 21?**

**vsftpd 3.0.3**

El puerto 21 se utiliza para el servicio FTP, y en este caso, la versión del servicio es `vsftpd 3.0.3`.

#### **Tarea 3: ¿Qué código FTP se devuelve para el mensaje "Anonymous FTP login allowed"?**

**230**

El código `230` en FTP indica que el inicio de sesión anónimo está permitido y ha sido exitoso.

#### **Tarea 4: Después de conectar al servidor FTP usando el cliente FTP, ¿ qué nombre de usuario proporcionamos cuando se nos solicita iniciar sesión de forma anónima?**

**anonymous**

Para iniciar sesión de forma anónima en un servidor FTP, se usa el nombre de usuario `anonymous`.

#### **Tarea 5: Después de conectar al servidor FTP de forma anónima, ¿qué comando podemos usar para descargar los archivos que encontramos en el servidor FTP?**

**get**

El comando `get` se utiliza en FTP para descargar archivos del servidor al cliente.

**Tarea 6: ¿Cuál es uno de los nombres de usuario con privilegios más altos en 'allowed.userlist' que descargamos del servidor FTP?**

**admin**

En la lista `allowed.userlist`, el nombre de usuario `admin` sugiere un nivel de privilegios alto.

#### **Tarea 7: ¿Qué versión del servidor Apache HTTP está ejecutándose en el host objetivo?**

**Apache httpd 2.4.41**

La versión del servidor Apache HTTP en el host objetivo es `Apache httpd 2.4.41`.

#### **Tarea 8: ¿Qué opción podemos usar con Gobuster para especificar que estamos buscando tipos de archivos específicos?**

**-x**

La opción `-x` en Gobuster permite especificar tipos de archivos a buscar durante el escaneo de directorios.

**Tarea 9: ¿Qué archivo PHP podemos identificar con el escaneo de directorios que nos proporcionará la oportunidad de autenticar en el servicio web?**

**login.php**

El archivo `login.php` es comúnmente utilizado para proporcionar una interfaz de inicio de sesión en aplicaciones web.

#### Tarea 10: Enviar Flag

c7110277ac44d78b6a9fff2232434d16

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


---

# 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/hackthebox/starting-point/crocodile.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.
