6 ~ MrRobot - Linux
Última actualización
Última actualización
Lo primero que realizaremos será un ping a la maquina para saber varias cosas, una de ellas asegurarnos que tenemos conexión con la maquina y la otra es para conocer mediante el ttl a que sistema operativo nos vamos a enfrentar.
En este caso el ttl es 63 es una maquina Linux, pero realmente el ttl de Linux es 64, esto es debido a que pasa por varios nodos intermediarios.
Vamos a realizar un escaneo de 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 finalizado el escaneo podemos ver los puertos abiertos y proceder a realizar un escaneo mas exhaustivo.
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.
Una vez terminado el reconocimiento de puertos y saber que servicios corren en ellos, vamos a buscar información relevante.
Ingresamos en la pagina y vemos unas animaciones en ella, tras terminar vemos que podemos elegir diferentes opciones pero ninguna de gran utilidad, miramos el código fuente y no vemos nada de interés, toca utilizar la herramienta gobuster para ver si encontramos alguna ruta oculta.
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 70 : Le indicamos el numero de peticiones hacia el servidor.
--no-error : No muestra errores por pantalla.
-o : Guarda la salida en un archivo.
Miramos en la ruta de robots y vemos un archivo y la 1º flag
El archivo parece un diccionario, vamos a descargarlo por si a caso. Vamos a ver si podemos hacerlo mas pequeño, porque tiene 858160 líneas. Mediante sort y uniq podemos reducirlo bastante a unas 11451 líneas.
Buscando por las rutas, vemos que tenemos un panel login de wordpress.
Decidí usar varios nombres de los personajes de la seria y funciono con elliot.
Ahora vamos a realizar una fuerza bruta con la herramienta wpscan.
Descripción de los parámetros:
--url : Le indicamos que vamos a ingresar una url.
URL : URL.
--wp-content : Le indicamos si la ruta es customizada o no detectada.
/PATH/ : La ruta customizada o no detectada.
-username : Le indicamos que vamos a ingresar un usuario.
USER : Usuario.
-password : Le indicamos que vamos a ingresar una contraseña
Tenemos credenciales, vamos a probar a usarlas en el panel login encontrado.
BINGO!
OTRA MANERA DE REALIZAR FUERZA BRUTA
Es realizar un script en bash.
Ahora conseguir una reverse shell es sencillo, nos iremos a Appearence > Editor > 404 Templates y modificaremos el código.
Ahora solo tenemos que ponernos en escucha con la herramienta nc.
Descripción de los parámetros:
-n : Solo direcciones de IP numéricas.
-I : Modo de escucha, para conexiones entrantes.
-v : Muestra información por pantalla.
-p : Numero del puerto.
PUERTO : El puerto que se pondrá en escucha.
Y generar un error en la pagina para que nos entable la conexión.
Ahora tenemos que hacer un tratamiento de la TTy pero, somos el usuario daemon, con lo cual nos dará un problema, vamos a lanzarnos una shell con python.
Ahora buscamos la flag del usuario y vemos que tenemos dos archivos, uno es la flag y el otro parece una contraseña.
BINGO! Nos convertimos en el usuario robot.
Ahora podemos realizar un tratamiento de la tty para mayor comodidad.
Toca hacer un reconocimiento del sistema
Vemos que a la hora de buscar permisos setuid, tenemos algo.
Descripción de los parámetros:
-perm : Le indicamos que vamos a buscar permisos.
-u=s : le indicamos que vamos a buscar permisos de usuario setuid.
2>/dev/null : Mandamos los errores al /dev/null.
Nmap en versiones anteriores tenia un modo interactivo.
Ahora tenemos que ejecutar una bash como root.
SOMOS ROOT!
Buscamos si el usuario robot esta en el sistema y parece ser que si, vamos a crackear la contraseña en la pagina de o con alguna herramienta del sistema.