🕵️‍♂️
Alv-fh
  • Whoami
    • Curriculum
  • WriteUps
    • DockerLabs
      • Amor
      • NodeClimb
      • HiddenCat
      • Escolares
      • FirstHacking
      • Hidden
      • Move
      • SecretJenkins
      • Trust
      • Upload
      • Vacaciones
    • Vulnyx
      • Basic
      • Fire
      • Infected
      • Load
      • Plex
    • Vulnhub
      • Fristileaks
      • Symfonos1
Con tecnología de GitBook
En esta página
  • Conocer la red
  • Conectividad con la máquina objetivo
  • Escaneo de puertos
  1. WriteUps
  2. Vulnyx

Load

AnteriorInfectedSiguientePlex

Última actualización hace 11 meses

Conocer la red

Lo primero de todos es encontrar equipos dentro de mi red.

sudo arp-scan -I eth0 --localnet

captura-arp

Ahora podemos saber cuál es la máquina atacante ya que estamos en VMware y la MAC siempre empieza por 00:0c Por lo tanto sería la 192.168.95.101

Conectividad con la máquina objetivo

Comprobamos que tenemos conectividad.

Podemos ver que el ttl es 64 por lo tanto se trata de una máquina Linux, esto no es 100% fiable. Vemos que sí tenemos conectividad.

Escaneo de puertos

Ahora que sabemos que tenemos conectividad, podemos escanear los puertos que estan abiertos para poder hacer la intrusión. Utilizamos la herramienta nmap.

sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -vvv -Pn 192.168.95.101 -oN allPorts

Este comando lo que hace es buscar todos los puertos abiertos (1-65535) (-p-, lo hace de manera sigilosa (-sS), busca la versión de los servicios ( -sV), de manera rápida(--min-rate=5000), desactiva la resolución DNS para evitar problemas(-n), utiliza triple verbose para que tengamos más detalle del escaneo (-vvv)y omite la detección de host(-Pn). Lo guarda en el fichero allPorts (-oN allPorts).

Como podemos ver, están abiertos tanto el puerto 22 (SSH) como el puerto 80 (HTTP). Por lo tanto podemos empezar a probar.

También vemos que utiliza Apache 2.4.57 También podemos ver que utiliza para el servivio OpenSSH 9.2 para el servicio SSH.

Vemos que al buscar en el navegador web por la IP del atacante, nos devuelve la página por defecto de apache que viene al instalarse.

En este punto lo que se me ocurre es hacer un fuzzing, para conocer los directorios que hay. Para ello podemos utilizar la herramienta gobuster, o wfuzz. En mi caso voy a utilizar gobuster.

Ahora buscamos en el navegador el fichero robots.txt para conocer los directorios que están denegados o rechazados.

Entramos en el directorio ritedev.

Y se nos abre la esta página que a simple vista parece un estilo de tienda.

En este punto lo que se me ocurre es volver a hacer un ataque de diccionario (Fuzzing) para ver los directorios o archivos que hay.

Vemos que hay un admin.php. Vamos a buscar, haber que sale.

Se nos abre esta especie de login, vamos a probar credenciales, típicas, como admin admin

Parece que ha funcionado, ahora vamos a irnos al Files Manager que es el más útil creo yo, ya que vamos a ver todo lo que hay.

Podemos subir archivos, que quiere decir eso. Que podemos subir por ejemplo una reverse shell en php por ejemplo. Para ello vamos a descargarnos una herramienta de GitHub.

Ahora editamos el script, y en donde pone CHANGE THIS es donde tenemos que cambiar las cosas. En este caso lo que tenemos que cambiar es la IP, en este caso es la IP nuestra, con la que estamos atacando, y luego el puerto en el que vamos a utilizar para la reverse shell.

Antes de ejecutar la reverse shell, nos tenemos que poner en escucha por el puerto que hayamos especificado, en mi caso el 443.

nc -nlvp 443

Ahora tenemos que encontrar la ruta en donde se ejecuta la reverse shell. En este caso es IP/ritedev/media/php-reverse-shell.php.Si vemos que se queda cargando, es buena señal. Luego nos vamos al terminal y nos debe de salir algo así.

Ahora vamos a hacer la reverse sell manegable, ya que ahora mismo no podemos hacer muchas cosas con ella. Para ello ejecutamos los siguientes comandos.

script /dev/null -c bash

CTRL + Z

stty raw -echo; fg

reset xterm

export SHELL=bash

export TERM=xterm

Y ya tenemos una shell normal y corriente. Ahora buscamos la flag.

Como podemos ver, no podemos entrar a la carpeta de travis, porque no tenemos permisos, entonces tenemos que hacer escalada de privilegios.

Hacemos sudo -l para ver los comandos que podemos ejecutar con sudo.

Vemos que podemos usar crash

Ejecutamos sudo -u travis /usr/bin/bash/crash -h

Ponemos ! para poder ejecutar comandos y nos ponemos una shell en bash, se nos pondrá como travis ya que ejecutamos el comando como travis.

Ya tenemos la flag, vamos ahora a por la de root.

Volvemos a hacer sudo -l para ver los comando que podemos usar como root.

Vemos que podemos usar el comando xauth.

Si hacemos un -h vemos que este comando puede leer comandos de un archivo.

Después de probar he encontrado esto, y es que si hacemos un sudo -u root /usr/bin/xauth source /root/.ssh/id_rsa.

Podemos ver la id_rsa de root, por lo tanto, ya es fácil, todo lo demás, antes de nada tenemos que ponerla bien y completarla ya que sale recortada. Por tanto en la máquina local nos creamos un fichero y pegamos la id_rsa y hacemos lo siguiente:

Ahora tenemos que completar la clave.

Para ello nos lo pasamos a un fichero llamado id_rsa y lo dejamos de esta manera.

Antes de probar a entrar por SSH tenemos que darle permisos 600

sudo chmod 600 id_rsa

Ahora vamos a probar a entrar por SSH pero con la id_rsa, ya que no nos pide clave.

En este caso la flag estaba oculta.

captura-ping
captura-nmap
captura-apache
captura-gobuster

Como podemos ver, encuentra el fichero , que ya hemos hablado en otras máquinas de él.

captura-robots
captura-ritedev
captura-admin
captura-admin2
captura-admin3
captura-filemanager
captura-github
captura-reverse
capura-escucha
captura-escucha2
captura-usuario
captura-travis
captura-flag
captura-xauth
captura-id_rsa
image
captura-id_rsa2
captura-permisos
captura-flagroot
robots.txt