7 ~ Basic Pentesting - Linux
Última actualización
Última actualización
Lo primero que realizaremos será un ping a la maquina para saber dos cosas, la primera para saber si tenemos conexión con la maquina y la segunda para saber mediante el ttl a que sistema operativo nos vamos a enfrentar.
En este caso el ttl es 63 siendo Linux el sistema operativo, aunque el ttl real seria 64, esto es debido a los saltos de nodos que hay.
Una vez sabiendo que tenemos conexión con la maquina, vamos a proceder a escanear los puertos con la herramienta nmap.
Descripción de los parámetros:
-p- : Escanea los puertos especificados, en este caso escanea los 65535 puertos.
--open : Muestra solo los puertos abiertos.
-sS : Escanea mediante TCP SYN.
--min-rate : Envía paquetes no mas lentos que el número indicado por segundo en nuestro caso 5000.
-Pn : Omite el descubrimiento de host.
-n : No realiza resolución DNS.
-vvv : Muestra la información mientras se esta realizando el escaneo.
IP : La IP que queremos escanear.
-oG : Guarda la salida del escaneo en un formato grepeable.
Una vez terminado, haremos un escaneo mucho mas exhaustivo con la misma herramienta.
Descripción de los parámetros:
-p : Escanea los puertos especificados.
-sC : Lanza varios scripts defaults de nmap.
-sV : Determina los servicios que están corriendo en los puertos además de información extra.
IP : La IP que queremos escanear.
-oN : Guarda la salida en el formato de nmap.
Después de terminar con el escaneo de puertos, toca buscar información relevante para poder prepara nuestro ataque. Lo primero que haremos será investigar la pagina web del puerto 80, para ello utilizaremos en primera medida la herramienta whatweb.
No vemos nada alarmante, ahora utilizaremos la herramienta gobuster para escanear alguna posible ruta interesante.
Descripción de los parámetros:
dir : Utiliza el modo de enumeración de directorios/archivos.
-u : Le indicamos que le vamos a pasar una url.
URL : La url objetivo.
-w : Le indicamos que vamos a usar un diccionario.
/PATH/ : Le indicamos la ruta del diccionario a usar.
-t 50 : Le indicamos el numero de peticiones hacia el servidor.
--no-error : No muestra errores por pantalla.
-z : No muestra la barra de progresos por pantalla.
-o : Guarda la salida en un archivo.
Vemos que tenemos una ruta llamada /development, nos dirigimos a dicha pagina, y vemos que tenemos dos archivos de .txt. Vamos a examinarlos.
Nos habla algo relacionado del servicio smb y de contraseñas débiles, pero no tenemos nada critico.
Seguimos buscando en otro puerto web en este caso el puerto 8080, realizaremos el mismo procedimiento que con el puerto 80. Utilizaremos whatweb para ver alguna información y vemos que tenemos un CMS Tomcat.
Ahora realizamos un escaneo de rutas con gobuster.
Encontramos un panel login en una de ellas.
Tras probar con las contraseñas defaults, no tenemos acceso al panel administrador. Dejaremos este panel login a un lado sin olvidarnos de el, por si encontramos alguna credencial para el panel.
Seguimos enumerando los puertos y pasamos al servicio smb, anteriormente mencionado en las notas .txt. Vamos a utilizar la herramienta enum4linux para enumerar la información del servicio.
Descripción de los parámetros:
-a : Realiza la enumeración simple.
Tras un rato, vemos que tenemos dos posibles usuarios del sistema.
Vamos a realizar un ataque de fuerza bruta contra el ssh, a ver si encontramos alguna coincidencia.
Descripción de los parámetros:
-L : Indicamos un archivo con usuarios.
-P : Indicamos que vamos a usar un diccionario.
/PATH/ : Ruta del diccionario a usar.
ssh : Servicio donde se va a realizar la fuerza bruta
IP:PORT : La IP de la victima y el puerto del servicio.
Tenemos credenciales y podemos conectarnos mediante ssh.
Tras enumerar el sistema, vemos que en el directorio de kay, tenemos la carpeta .ssh, en la que podemos entrar y visualizar los archivos.
Tras probar un inicio con la id_rsa, vemos que nos pide una contraseña, toca utilizar la herramienta ssh2john para averiguar el hash y ver si podemos romperla.
Parece que hemos podido obtener el hash de la id_rsa, ahora utilizamos la herramienta john y esperamos a que finalice.
Tenemos una contraseña, volvemos a probar a conectarnos como el usuario kay, y tenemos éxito, ahora podemos visualizar un archivo llamado pass.bak.
Ahora toca, volver hacer una enumeración del sistema en busca de escalar a root, y mediante el comando sudo -l tenemos un privilegio bastante interesante.
Una vez ingresado el comando sudo su, somos ROOT del sistema.