ssh

Fuerza bruta contra servicios SSH y FTP

Fuerza bruta contra servicios SSH y FTP
Bruteforce se encuentra entre las técnicas de piratería más antiguas, también es uno de los ataques automatizados más simples que requieren un conocimiento e intervención mínimos por parte del atacante. El ataque consiste en múltiples intentos de inicio de sesión utilizando una base de datos de posibles nombres de usuario y contraseñas hasta que coincidan. Este ataque se puede prevenir prohibiendo a los usuarios más de X intentos por minuto.  Por lo general, al realizar este ataque el atacante ya conoce el nombre de usuario, en este tutorial asumiremos que conocemos el nombre de usuario, descifraremos una contraseña de root usando diferentes herramientas.El proceso de instalación de este tutorial es útil para las distribuciones de Linux basadas en Debian / Ubuntu, el resto del artículo es útil para la mayoría de las distribuciones.

Conseguir el diccionario adecuado

Hay diferentes listas de palabras o diccionarios, optimizados según el tipo de destino. Si desea descifrar la contraseña de un enrutador para acceder a wifi, utilizará diccionarios que contengan un mínimo de 8 caracteres, si desea descifrar un servicio ssh, utilizará una base de datos de nombre de usuario que contenga al usuario "raíz".

Aquí tienes algunos sitios web desde los que puedes descargar listas de palabras.

Lo mejor es utilizar la forma de búsqueda más versátil, como se muestra en la siguiente animación.

Instalación y uso de Hydra para descifrar las credenciales ssh y ftp

Hydra es una de las herramientas de fuerza bruta más populares. Viene de forma predeterminada con Kali y es compatible con los repositorios predeterminados de Debian / Ubuntu. Para instalar Hydra run:

apto instalar hydra -y

Ahora ataquemos el servicio SSH de un objetivo para acceder como root ejecutando el siguiente comando:

hydra -l root -P Ruta / a / diccionario / lista de palabras.txt X.X.X.X ssh

Dónde: Hydra llama al software.

-l: especifica el nombre de usuario de inicio de sesión

-PAG: especifica la ubicación del diccionario o de la lista de palabras.

X.X.X.X: representa la dirección IP, reemplácela por la IP de su objetivo.

ssh: especifica el servicio a atacar.

Nota: Opcionalmente puede utilizar el -U parámetro para definir una lista de nombres de usuario también.

Como puede ver en la captura de pantalla, hydra encontró la contraseña dentro de la lista de palabras.

Si queremos crackear un servicio ftp podemos hacer lo mismo reemplazando el último parámetro ssh por ftp:

hydra -l root -P Ruta / a / diccionario / lista de palabras.txt X.X.X.X ssh

Instalar y descifrar credenciales con Medusa

Para instalar el tipo de Medusa:

apto instalar medusa -y

Ahora hackeamos un servicio SSH usando Medusa, ejecute el siguiente comando:

medusa -u NOMBRE DE USUARIO -P '/ RUTA / A / LISTA DE PALABRAS.TXT '-h X.X.X.X -M ssh

Dónde:
medusa: llama al software

-u: especifica el nombre de usuario

-P: especifica la ruta a la lista de palabras o al diccionario.

-h: especifica el nombre de host o IP

-M especifica el servicio.

Como puede ver en la captura de pantalla, Medusa logró encontrar la contraseña dentro del diccionario, al reemplazar la especificación ssh por otro puerto, podemos apuntar a diferentes servicios.

Protección contra ataques de fuerza bruta

De forma predeterminada, las instalaciones predeterminadas de Linux son totalmente accesibles para otorgarnos el primer acceso, entre las mejores prácticas para evitar ataques de fuerza bruta se encuentran deshabilitar el acceso remoto de root, limitar el número de intentos de inicio de sesión por X segundos, instalar software adicional como fail2ban.

1. Deshabilitar el acceso remoto como root.

Escriba el siguiente comando para editar el archivo de configuración sshd para deshabilitar el acceso raíz remoto.

nano / etc / ssh / sshd_config

Encuentra la línea que contiene PermitRootLogin sí y editarlo a PermitRootLogin no

prensa ctrl + w y busque "raíz"

prensa ctrl + x para guardar y salir de nano.

Ahora intente ssh usted mismo y vea el resultado:

ssh root @ localhost o ssh @ 127.0.0.1

Pruébelo como usuario habitual y podrá iniciar sesión.

2. Reemplazo de la autenticación de contraseña por claves.

nano / etc / ssh / sshd_config

Presione ctrl + w y busque Autenticación de contraseña sí y editar reemplazando la línea para  Autenticación de contraseña no.

Presione ctrl + x para guardar y salir.

3. Instalación de Fail2ban

Para instalar Fail2ban, ejecute:

apt install fail2ban -y

4. Limitar los intentos de inicio de sesión usando iptables

Agregue las siguientes reglas de iptables:

Iptables -A ENTRADA -i lo -j ACEPTAR
Iptables -A ENTRADA -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR

Luego escribe

Iptables -A INPUT -p tcp -m multipuerto --dports 21,22,110,143 -m reciente --update
--segundos 3600 --name BANNED --rsource -j DROP

prensa iptables-save> / etc / iptables / rules.v4 para guardar y reiniciar el servicio.

reinicio de iptables de servicio


NOTA:
para obtener más información sobre iptables, visite https: // linuxhint.com / iptables_for_beginners /

Conclusión:

Llevar a cabo ataques de fuerza bruta no requiere conocimientos avanzados sobre seguridad, con pocos comandos y un hardware sólido podemos romper las contraseñas rápidamente al permitir que se ejecute software que intente iniciar sesión masivamente en poco tiempo. Defendernos contra tales ataques es muy fácil, no requiere conocimientos de nivel de administrador de sistemas y hay varias opciones disponibles, hacerlo es una necesidad básica para mantener su dispositivo seguro.

Espero que hayas encontrado útil este tutorial básico sobre fuerza bruta ofensiva y defensiva. Continúe visitando LinuxHint para obtener más consejos sobre seguridad y administración de Linux.

Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...