• ENTRAR
  • No hay productos en el carrito.

Ataque por Fuerza Bruta

Ataque de fuerza bruta sobre servicios.

Este artículo está hecho con fines educativos e informativos, con lo que ni Comunix ni un servidor nos hacemos responsables sobre el mal uso que puedan darle.

Tengo que decir, que este artículo, quizás, para algunos sea un poco pesado, pero es lo que se hace siempre de una manera legal y ética, cuando se necesita de su uso.

¡¡¡¡¡ Vamos a ello !!!!!……

Una Ataque de fuerza bruta, se basa en conseguir ‘un pack’ de usuarios y/o contraseñas probando con una serie de combinaciones hasta llegar al correcto.

¿Donde vamos a encontrar un ataque de fuerza fruta? en sistemas de autenticación; comprobando con combinaciones automáticas de tipo por ejemplo, si no sabemos la contraseña pero si el usuario, crearemos el archivo correspondiente a esta y comprobaremos el usuario que sabemos por cada palabra creada en el correspondiente archivo de contraseña; y si no sabemos ninguna de las dos cosas, entonces crearemos dos archivos uno de usuarios; de tal forma que lo primero que hará es escoger el primer usuario y lo probará con todas las palabras o letras, si fuera el caso, hasta llegar la correcta y así, sucesivamente con cada uno de los usuarios. Para hacer este proceso con mayor rapidez utilizaremos en el día de hoy unas herramientas que nos facilitará el proceso en cuestión como el cranch (para crear archivos de usuarios y password) e hydra (para realizar el ataque).

Vamos a explicar que son estas dos Herramientas cranch e hydra:

  • Crunch: es un programa que basándose en criterios establecidos por el usuario (input) es capaz de generar diccionarios para ser usados en fuerza bruta (output), el resultado de crunch puede ser visto en pantalla, puede ser guardado en un archivo .txt ó puede enviarse a otro programa en tiempo real para su uso.

La web oficial de crunch es:

https://sourceforge.net/projects/crunch-wordlist/files/crunch-wordlist/

Y para instalarla en Linux:  sudo apt install crunch.

  • Hydra: es un programa informático basado en la línea de comandos con un  ataque de diccionario  contraseñas de muchos protocolos y aplicaciones que pueden descifrar. El fabricante es la comunidad “The Hackers’s Choice” (THC). Y es una de las TOP 10 herramientas de seguridad.
    Soporta más de cuarenta protocolos:

    • Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET,HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP,MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere,PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
    • Incluye una versión gráfica (GUI Hydra-GTK) y es 100% libre y gratis (licencia GPL v3)

Hay dos clases de fuerza bruta

  • La fuerza bruta propiamente dicha es más costosa y puede ser efectiva como largo en el proceso, en el que dependerá del tipo de contraseña a buscar.

aaaaaa

aaaaab

aaaaac

……

zzzzzzx

zzzzzzy

zzzzzzz

 

  • Ataque por diccionario que dependerá de la complejidad de la contraseña que se vaya a adquirir.

pass

fechas de cumpleaños

futbol

Antonio1978

Por eso se apostará por la primera opción, aunque se lleve más tiempo, será más efectiva y rápida.

Puntos a tener en cuenta:

  • Uno, sería, el tipo de servicio que vayamos a atacar, en este caso es un SSH, pero depende del tipo, se escogerá un método u otro.
  • Otro caso dependerá como hemos dicho antes, si sabemos el usuario y no la contraseña o que no sepamos ninguna de las dos que nos llevará más tiempo y dinero.
  • Es importante escoger bien los diccionarios, por ejemplo, si el servicio se aloja en un servidor distinto a nuestro idioma, tendríamos que escoger esos diccionarios dependiendo del idioma, también contraseñas populares, etc.

 

Los diccionarios pueden bajarse de internet o crearlos nosotros mismos, estos estarán basados principalmente en números, letras (mayúsculas, minúsculas), con caracteres o no especiales o una mezcla de ambos. Estos diccionarios pueden crearse como ya hemos dicho con ‘crunch ’.

Los ataques por diccionarios pueden hacerse a todo lo que queramos siempre que sean del tipo usuario-contraseña, por ejemplo, ftp, irc, mysql, pop3, etc.

Hay que saber los puertos y servicios disponible de lo que queramos hacer con fuerza bruta por ejemplo con Nmap.

También se comparará el hash, por explicarlo de una manera sencilla y llana no se compara letras o palabras se le aplica el hash en el que se convierte esas contraseñas, con el hash guardado por ejemplo en una base de datos de mysql.

Hay varias herramientas, antes nos hemos referido a cranch e hydra, pero también hay otras, por nombrar algunas, pondremos:

  • Medusa ( http://foofus.net/goons/jmk/medusa/medusa.html ) Que es un software en el que se basa en diccionarios de palabras, estable, sencillo, rápido, y con servicios varios para ejercerlo.
  • Ncrack ( https://nmap.org/ncrack/man.html ) donde su sintaxis es parecida a Nmap y permite hacer auditorías, por ejemplo, sobre varios hosts. Permite que el usuario obtenga el control sobre las operaciones de red.

Las herramientas que vamos a utilizar, como he mencionado antes son:

  • Crunch: en el que podemos construir palabras de longitud mínima y máxima, por ejemplo, para crear una de 6 como longitud mínima y máxima con (abcd123):
    • Crunch 6 6 abcd123
      • Para ampliar un poco más este concepto, seria, si supiéramos parte de la clave, entonces, si sabemos que esa parte es “ gran_ “; el formato sería:
        • Crunch 6 6 gran_@@@
      • Como ven aquí me creo una lista respetando los primeros caracteres que definí y generando el resto con el símbolo “@”, este símbolo determina el tipo de carácter generado que pueden ver en la siguiente lista.

@insertara minúsculas
,   insertara mayúsculas
% insertara números
^ insertara símbolos

Por ejemplo: También podemos combinar letras, números o símbolos o mayúsculas y minúsculas:

crunch 6 6 -t ve,@%^

Aquí definimos como el primer carácter a generar fuera una mayúscula, después una minúscula el siguiente un número y por ultimo un símbolo.

Y un ataque por fuerza bruta con Hydra, en el que sabemos en este caso usuario, que seria, ‘admin‘ y no sabemos la contraseña y haremos un archivo de nombre ‘ pass.txt ‘ donde estará la contraseña y luego la IP del servicio objetivo y seria de esta forma:

Hydra -l admin -P pass.txt 193.168.1.1 rdp

También se comparará el hash, por explicarlo de una manera sencilla y llana no se compara letras o palabras se le aplica el hash en el que se convierte esas contraseñas, con el hash guardado por ejemplo en una base de datos de mysql.

Ahora una vez expuesto la teoría pasamos a la práctica.

Vamos a hacer un ataque a un localhost, SSH, con dos puntos distintos; uno sabiendo el usuario, pero no la contraseña y otro el usuario y contraseña desconocido.

Para el primer caso, iniciamos con start el servicio SSH como vemos en la imagen:

Fuerza Bruta | Comunix

Luego intentamos acceder con ssh localhost, por si acaso nos dejan entrar y vemos en la última línea que nos piden la contraseña: ¿?

Fuerza Bruta | Comunix

Como es lógico, no sabemos la clave para acceder al servicio y procederemos al ataque.

Lo primero es mirar los puertos abiertos que tiene el servcio donde la IP la conocemos del LocalHost, es 127.0.0.1 y haremos un Nmap.

  • Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos escrito originalmente por Gordon Lyon y cuyo desarrollo se encuentra hoy a cargo de una comunidad.

Nmap, esta programado en C++, Python, C, Lua y Java; tiene licencia pública GNU, de código abierto.

Su página oficial es: https://nmap.org/man/es/index.html

Realizado éste paréntesis, vemos los puertos abiertos para acceder como presentamos en la imagen siguiente:

Fuerza Bruta | Comunix

Tenemos dos puertos levantados y como no puede ser de otra forma el que nos interesa es el puerto 22 ssh.

Dicho esto, vamos a hacer dos pruebas; la primera vamos a romper la contraseña de root.

El comando para cambiar es passwd root: pondremos la nueva y la repetiremos:

Fuerza Bruta | Comunix

Para abreviar y resumir os diré que la contraseña puesta constará de 3 dígitos que serán números.

Utilizaremos la herramienta crunch y como son 3 número serán 3 mínimo y 3 máximo; como arriba indiqué en el ejemplo y puse 6 de mínimo 6 de máximo; y como también sabemos que son números solamente, pondremos lo siguiente:

Crunch 3 3 0123456789

Tened en cuenta que crunch es hecha para crear un archivo y como es lógico debemos de crear o mas bien “transportarlo” a un archivo, que dependiendo de lo que creemos le daremos el nombre que queramos, pero para diferenciarlo mejor, en este caso le daremos el nombre de pass; y será de esta forma:

Crunch 3 3 0123456789 > pass.txt

Fuerza Bruta | Comunix

Veremos hacienda un ls un documento de nombre pass y de extensión txt.

Fuerza Bruta | Comunix

Y para visualizar el documento, lo podemos hacer con el comando “more + nombre del documento”:

Fuerza Bruta | Comunix

Fuerza Bruta | Comunix

En ésta imágen veremos lo que nos ha generado el comando crunch de tres dígitos mínimos y tres dígitos como máximo; es decir, desde el 000 al 999; aunque ahí se vea hasta el “028”…

Teniendo ahora todo lo necesario, lanzamos el comando hydra.

hydra 127.0.0.1 ssh -s 22 -l root -P pass.txt -f -vV

Fuerza Bruta | Comunix

Vamos a explicar la orden:

  • El ataque se realizara con hydra a la maquina designada con la IP 127.0.0.1, el servicio al que vamos a atacar ssh en el puerto   -s 22 al usuario que en éste caso al conocerlo, será de esta forma -l root y ahora debemos localizar el archivo, de donde va a sacar esas contraseñas que es -P pass.txt; añadimos -f para que cuando llegue a la correcta finalice, por ultimo para visualizar lo que está haciendo pondremos -vV.

A continuación, veremos que cogerá el objetivo como “target” que es la IP, para el mismo usuario que es root y comprobará desde el 000 hasta el 999, hasta llegar a la contraseña correcta.

Fuerza Bruta | Comunix

Fuerza Bruta | Comunix

Y efectivamente ahora veremos que la contraseña correcta es “050”.

Fuerza Bruta | Comunix

Ahora, el segundo de los casos, como he expuesto más arriba no sabemos ni el usuario ni la contraseña y lo haremos utilizando otro tipo de diccionario.

Para adelantar también he creado un archivo de nombre users con una serie de palabras que supuestamente podemos intuir que están dentro al pedir el usuario para acceder al mismo.

Fuerza Bruta | Comunix

Y también hemos creado una lista de contraseñas de nombre worstpasswords.

Fuerza Bruta | Comunix

Ahora el ataque será distinto ya que no sabemos ni el usuario ni la contraseña lanzamos la función hydra, de esta forma:

hydra 127.0.0.1 ssh -s22 – L users -P worstpasswords.txt -f -vV

De igual manera vamos a explicar esta función:

  • La fuerza bruta la realizamos por hydra a la IP arriba expuesta al servicio ssh por el puerto -s22; y aquí como a diferencia del ejemplo anterior que sabíamos el usuario, aquí al no saberlo pondremos la letra “ele” en vez de miniscula la ponemos, como veis en mayúsculas -L users, y luego debemos decirle dónde están las palabras o en este caso el diccionario, – P worstpasswords.txt ; y de igual manera que el anterior ejemplo pondremos que al encontrar lo que estamos buscando pare con -f y si lo queremos ver pondremos -vV.

Fuerza Bruta | ComunixFuerza Bruta | Comunix

Como veis hemos entrado por el puerto 22 en la IP correspondiente y aquí, como hemos mencionado antes que no sabemos el usuario, entonces, cogerá la primera palabra del archivo “users” y probará con todas y cada una las supuestas contraseñas que están en el archivo worstpasswords.txt y si no lo encuentra con el primer usuario pasará al segundo usuario y probará con todas las supuestas contraseñas y cuando los localice finalizará con -f y veremos lo que hace con -vV.

Para hacer una comprobación veremos que la contraseña para el usuario root es qwerty.

Fuerza Bruta | Comunix

Pues como habéis visto es correcta la contraseña sobre un usuario supuestamente desconocido, que bien lo pudiera ser; y sobre si solo ¿es válido este ataque para un ssh? La respuesta es, si retornáis al principio, no, también se puede hacer sobre todos los sistemas de autenticación.

Por eso se debe de poner contraseñas robustas que contengan de todo, letras mayúsculas, minúsculas, signos especiales, números y cambiarla frecuentemente y absteniéndose de palabras lógicas como fechas de nacimientos delante o detrás de nombres y otras simples, que pueden poner en riesgo nuestro sistema con las consecuencias que pueda alcanzar y si es posible, si no se acuerda uno de cambiarlas poner una fecha límite de caducidad y que el sistema te lo recuerde.

Recordad que hay muchas listas de diccionarios en internet, que se pueden bajar, pero el bueno, el mejor es el que vosotros “fabriquéis”, y ¿por qué? pues, porque estáis en el “punto caliente” y sabéis lo que necesitáis. No obstante, os lo pondré, no sin embargo, recuerden la regla de oro para un ataque de fuerza bruta con diccionario: la efectividad de un ataque con diccionario es directamente proporcional al tamaño del diccionario, es decir, cuanto más grande sea el diccionario mayor será la probabilidad de encontrar la contraseña y tiempo en ejecución; por eso no subestimen a los Ciberdelincuentes en vuestras empresas o negocios:

https://es.osdn.net/projects/sfnet_crunch-wordlist/releases/

https://sourceforge.net/projects/crunch-wordlist/files/crunch-wordlist/

También podéis tener crunch en Windows:

https://mega.nz/#F!UMMQBaoA!7pzPY0VM5Yr4U6E-vfGRUA

También tenéis hydra para Windows:

https://sourceforge.net/projects/hydra75win32port/

Este método, es uno de los muchos que se pueden utilizar, por eso lo más fácil para todos Vds es tener algo más de seguridad y no confundirla con privacidad, ya que en internet ni en informática la hay; por lo que intente preservar y securizar vuestras contraseñas cambiándolas cada poco tiempo y si veis que no podéis por “el tiempo que se pierde”… siempre está la opción de cambiarla con la opción que os da vuestro Sistema Operativo cada cierto tiempo.

Espero que, con esta explicación de los conceptos expuestos hayan sido los suficientemente claros.

Hasta aquí todo, os saluda atentamente,

Dark| @Rewolucion

0 respuestas sobre "Ataque por Fuerza Bruta"

Deja un mensaje


Tú escuela de Hacking Ético.

Suscríbete a nuestro Boletin

  Suscribirse ahora
Copyright © 2018 - Todos los derechos reservados.
X