"FUERZA BRUTA A WORDPRESS"
"EL HUMANO Y SUS CONTRASEÑAS, LA VIA MAS FACIL PARA ROMPER"
los gestores de contenido o como se le suelen abreviar CMS para ser mas sencillos, suelen ser el blanco de ataques, porque? pues porque hay cientos de plugins y tantas plantillas o extensiones que si bien nos hacen la vida mas facil, tambien nos suele abrir la ventana con todo y puertas a los atacantes, puesto que me he encontrado con plantillas con algunos bugs y facilmente explotables.
la fuerza bruta es un ataque ya muy antiguo en el que anteriormente los atacantes podrian facilmente quebrar nuestra seguridad , tampoco por aquellos tiempos en los que los logins de seguridad o sistemas de autentificacion no contaban con seguridad en lo mas minimo, por ejemplo los logins de seguridad de ahora cuentan con mecanismos inteligentes o mas bien los desarolladores integran en las funciones por ejemplo para acceder via redes sociales con protocolo de autentificacion abierto conocido como OAuthSecure o con dobles factores de autentificacion ya sea por mensajes de texto plano SMS o por medio de aplicaciones de terceros como por ejemplo el enlace por Google Authenticator.
Estas medidas aunque minimas disminuyen un poco las brechas de seguridad cibernetica, aunque una tecnica muy vieja si no nos ponemos dentro de la defensa de seguridad o no implementamos seguridad dentro de nuestros proyectos o implementaciones digitales entonces estariamos abriendo una gran brecha de seguridad.
ahora, por el lado de los atacantes informaticos, una de las herramientas que nos pueden ayudar es crunch para generar nuestras listas de diccionarios para poder auditar si una password es segura o por el contrario es insegura y cualquier atacante puede encontrarla facilmente y acceder a nuestros sistemas sin autorizacion.
veamos como podriamos generar nuestros diccionarios personalizados en esta herramienta que ya esta por defecto instalada en la mayoria de las distribuciones de seguridad informatica especializadas y en algunas para analisis forenses.
vemos que hemos generado una gran cantidad de palabras con numeros , sin numeros, con caracteres, con caracteres especiales, con puntuaciones, etcetera.
para configurar y personalizar correctamente las palabras de nuestros diccionarios y posteriormente utilizarlos ya sea en conjunto con otras herramientas como burp suite o zed proxy, entonces deberemos comprender correctamente claro esta a las expresiones regulares para dar con el punto exacto de las palabras que necesitamos por ejemplo si creemos o tenemos sospechas de que nuestro target u objetivo esta en un idioma o localizacion determinada entonces tendremos que configurar correctamente dentro de las expresiones regulares la sintaxis correcta.
Dicho esto, vamos a proceder con la proxima herramienta que es burp-suite los diccionarios generados anteriormente con crunch la podremos utilizar con esta herramienta en conjunto para hacer un ataque mas efectivo.
podriamos teclear manualmente en la herramienta o podriamos cargar el diccionario previamente creado con crunch, la decision es nuestra ya con gusto de cada quien personalmente.
vemos en la imagen el ataque de fuerza bruta corriend y ejecutandose con las palabras antes mencionadas.
vemos que la longitud cambia posteriormente, y el codigo HTTP o del encabezado ha cambiado rotundamente contrario a las anteriores peticiones, vemos que la longitud es igual a las demas peticiones que han fallado posteriormente y la peticion correcta que dio en el clavo por asi decirlo es la numero 10 que tiene por credencial a Admin123 y una longitud de 724 bytes asi como un codigo de 302 HTTP.
Ahora veamos el mismo ataque de fuerza bruta pero con la herramienta de la organizacion sin animos de lucro mejor conocida como OWASP, la utilidad de codigo abierto escrita en java llamada zed attack proxy project.
veamos como seria el ataque de manera similar solo que con esta herramienta.
Dentro de la herramienta tenemos a disposicion una utilidad o detalle llamado fuzzer que es el encargado de fuzzear por asi decirlo las entradas en este caso de un login vulnerable o con nulas medidas de seguridad cibernetica.
vemos que las peticiones estan siendo enviadas y todas tienen el mismo codigo http 200 lo que significa que estan entrando correctamente vemos mas detalles que la anterior herramienta uno de los detalles que podemos apreciar y que es notable a simple vista es la de la respuesta del encabezado de envio y de las respestas del cuerpo del mensaje, en este caso podemos identificar la peticion correcta que tiene las credenciales correctas vemos que la respuesta la longitud es muy diferente a las demas tiene unos cientos de bytes demas lo que enhorabuena hemos encontrado las credenciales correctas admin y password respectivamente.
Ahora si lo que queremos es cerciorarnos o realizar un footprinting para asegurarnos de que realmente estamos ante un sistema CMS wordpress y no otro distinto, aunque realmente la investigacion de este articulo puede abarcar cualquier CMS aunque este mismo esta resaltado para wordpress.
empecemos con footprinting con la herramienta wpscan , mantenida por la misma comunidad de wordpress ampliamente utilizada en el mundo.
con wpscan podremos ver ademas de la version si es que nuestro CMS es un wordpress de las vulnerabilidades que existen en dicha version asi como el numero de servidor apache en el que esta corriendo el CMS.
podremos ver que ha encontrado 33 vulnerabilidades criticas dentro de la version wordpress CMS, ademas de la version PHP , de los modulos cargados de apache, entre otros detalles.
Lo mismo lo podremos hacer con nmap con un plugin o script NSE predeterminado, veamos en la siguiente imagen que con las peticiones que mandamos y las respuestas que recibimos podriamos enumerar igualmente los temas y demas versiones de wordpress.
vemos que con la enumeracion del anterior script NSE podremos enumerar todo tipo de informacion del wordpress, pero lo que mas nos interesa es solo la version, pues de esta misma sera nuestro punto de partida para analizar las vulnerabilidades disponibles si queremos efectuar un ataque mucho mas profundo, se mostrara la imagen siguiente de las vulenerabilidades a dia de hoy a la fecha 26 octubre 2021 por lo que es solo de referencia ya que la explotacion de dichas vulnerabilidades queda fuera del alcance de este articulo en particular.
le podemos pasar diccionarios igualmente o podriamos manualmente insertar los directorios que creemos que estan ocultos o con falta de seguridad e indexacion.
vemos que encontro varios directorios que presumiblemente no estan seguros a la par de que tienen poca seguridad dentro del contexto.DEFENSAS
una de las defensas que hay que realizar contra ataques de enumeracion o fuerzas bruta como los vimos aqui en este articulo de investigacion es tratar de crear tiempos entre peticiones malintencionadas por ejemplo vimos que las herramientas automatizadas son capaces de crear miles de peticiones incluso por segundo para frenar esto podremos o bien instalar un plugin que realice un barrido de tiempo por ejemplo si el atacante intenta miles o cienteso de peticiones malicosas para intentar dar con las credenciales correctas, entonces por cada 2 peticiones o una configuraciones personalizada de peticiones bloquear la entrada de peticiones como lo hacen muchos plugins ya existentes, si pudiesemos crear nuestro propio plugin pues mas que mejor para crear una configuracion mas personalizada y factible.
en la siguiente imagen vemos un ejemplo de que por cada 2 peticiones o 3 peticiones se bloquea al usuario y posteriormente se bloquea la direccion IP desde donde se estan efectuando las multiples peticiones, existen muchos plugins que hacen estos unos con mas configuraciones que otros.
vemos que el plugin tambien cambia los mensajes que envia por default wordpress por ejemplo en una configuracion estandar cuando colocamos las credenciales incorrectas, wordpress nos tira errores como este usuario esta mal o esta password esta mal o estaas credenciales son antiguas lo que en teoria le podria estar dando una gran pista al atacante cibernetico de perfilar un vector de ataque.
Vemos que en esta otra imagen podremos analizar que lo que mencionabamos anteriormente que frena el ataque tambien mediante un margen de tiempo y bloquea al usuario por una variable de x tiempo asi como una direccion IP la bloquea osteriormente.
otra defensa, es el doble factor de autenticacion si un atacante aun con las medidas de seguridad cibernetica logra evadir este mecanismo de seguridad y el atacante logra ingresar o tener acceso no autorizado, entonces aun asi no tendria acceso se toparia con otro muro y para conseguir el codigo otp de un solo uso se tendria que robar el dispostivo desde donde tenemos dicho codigo, recordad que esto es parte del ciclo de seguridad fundamental conocido como los tres puntos importantes:
- algo que se sabe (un password)
- algo que se tiene (un celular, llave usb, key nfc, etc)
- algo que se es (huella dactilar, biometria)
ahora bien, supongamos que tenemos todo lo anterior, aun asi seguimos dentro del ojo de los atacantes posibles ya que una enumeracion revelaria mediante las huellas digitales de las peticiones que version de wordpress estamos utilizando y si nos olvidamos de los parches de seguridad y actualizar nuestro wordpress entonces un ataante podria investigar que fallo de seguridad esta disponible para nuestra version correspondiente.
para eso existe un plugin legendario que es el wp hide lo que nos hace es ocultar las versiones, los temas , los plugins y todo lo demas de wordpress , convirtiendonos asi en fantasmas frente a los atacantes y evadiendo en cierta forma le enumeracion.
REFERENCIAS Y BIBLIOGRAFIA:
0 comments:
Publicar un comentario