Ataques de contrasinal contra servizo SSH

De MediaWiki
Revisión del 19:57 10 feb 2026 de Joselv (discusión | contribuciones) (Página creada con « = Escenario = Este escenario ten como principal obxectivo demostrar cun exemplo práctico como o sistema de autenticación por contrasinais, a pesar de ser o máis empreg…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Escenario

Este escenario ten como principal obxectivo demostrar cun exemplo práctico como o sistema de autenticación por contrasinais, a pesar de ser o máis empregado polos usuarios, non é o máis seguro.

Escenario

Ó longo deste escenario traballaremos coa ferramenta medusa para lanzar un ataque de diccionario sobre o servizo ssh correndo nun equipo Linux Ubuntu.

Pódense probar outras alternativas a medusa: no equipo pirata están dispoñibles hydra e patator.

Comprobaremos que o uso deste tipo de ferramentas permite automatizar este tipo de ataques e servirá para demostrar que o sistema de autenticación por contrasinal non é o suficientemente seguro para usarse en contornos críticos.

Creación automatizada do escenario 4D

A máquina serverssh é un contedor LXD correndo Linux Ubuntu Server co servizo ssh instalado e correndo. Ademais este máquina está configurada de xeito que:

  • Ven cunha serie de usuarios do sistema xa creados para que se poidan facer ataques contra máis dun usuario.
  • SSH está configurado para aceptar autenticación por contrasinais.
  • SSH está configurado para aceptar un número máis elevado de intentos simultáneas de autenticación para acelerar o proceso de ataque.

En primeiro lugar hai que descargar e descomprimir o arquivo script_esc_4D.zip:

$ unzip script_esc4D.zip 
Archive:  script_esc4D.zip
   creating: script_esc4D/
  inflating: script_esc4D/config_pirata.yml  
  inflating: script_esc4D/config_serverssh.yml  
  inflating: script_esc4D/contras.txt  
  inflating: script_esc4D/escenario_4D.sh  
  inflating: script_esc4D/network_PLANTILLA.yml  
  inflating: script_esc4D/profile_LAN  
$ chmod 755 escenario_4D.sh 
$ ls -lhF
total 24K
-rwxr-xr-x 1 asir asir 1,5K ene 31 12:36 config_pirata.yml*
-rwxr-xr-x 1 asir asir 2,0K ene 31 12:36 config_serverssh.yml*
-rwxr-xr-x 1 asir asir  372 abr 30  2024 contras.txt*
-rwxr-xr-x 1 asir asir 2,4K ene 31 12:37 escenario_4D.sh*
-rwxr-xr-x 1 asir asir  260 mar 27  2024 network_PLANTILLA.yml*
-rwxr-xr-x 1 asir asir  190 mar 27  2024 profile_LAN*
$ ./escenario_4D.sh
----- Escenario SSH - fail2ban -----
Seleccionar operación:
1. Crear escenario
2. Parar contenedores escenario
3. Arrancar contenedores escenario
4. Borrar escenario
------
1
Crear escenario
Error: Network "lan" already exists
Error: Error inserting "LAN" into database: The profile already exists
------------------------------
    creando servidor SSH      
------------------------------
Launching serverssh
------------------------------
       creando pirata        
------------------------------
Launching pirata
 
+------------+---------+------------------------+-------------+-----------+----------------------+
|    NAME    |  STATE  |          IPV4          |  PROFILES   | SNAPSHOTS |     LAST USED AT     |
+------------+---------+------------------------+-------------+-----------+----------------------+
| pirata     | RUNNING | 192.168.100.100 (eth0) | LAN         | 0         | 2026/01/31 13:15 CET |
+------------+---------+------------------------+-------------+-----------+----------------------+
| serverssh  | RUNNING | 192.168.100.101 (eth0) | LAN         | 0         | 2026/01/31 13:15 CET |
+------------+---------+------------------------+-------------+-----------+----------------------+

No meu caso o profile e a rede lan xa estaban creadas e por iso saen as mensaxes de erro. No caso de non estar, o script procedería á crealas.

No ficheiro contras.txt hai unha listaxe de hashes e contrasinais asociados ós usuarios asir01, asir02, asir03 e asir04 presentes na máquina serverssh.