Descifrar contraseñas Cisco de nivel 7 Imprimir este artículo

Como todo el mundo debe saber las contraseñas de Cisco IOS de nivel 7 (password 7) son fácilmente descifrables y hay varias formas de hacerlo, aquí voy a explicar 2, una para Unix y otra para Windows.

Consejo: a ser posible NO usar password de nivel 7 (a menos que sea un entorno controlado y/o local), usar siempre las de nivel 5.

Para Unix (o cualquier sistema operativo que permita ejecutar Perl) pongo a continuación un script en Perl:

#!/usr/bin/perl
#  cpwcrk.pl  -- a small script to crack Cisco's Type 7 password  encryption
#
#
$k='dsfd;kfoA,.iyewrkldJKDHSUB';
for($i=0; $i<length($k); $i++) { $ks[$i] = ord(substr($k, $i, 1)); } 

while (<STDIN>) {
   if(/ord 7 [01]/) {
      chop; $w=$_; s/.* //g; $C = $_;
      printf "$w (decrypted: "; 

      $o=substr($C, 0, 2);
      for ($i=0; $i < (length($C)-1)/2; $i++) { $cs[$i]=hex(substr($C,2*$i,2)); } 

      for ($j=1; $j < $i; $j++) { printf("%c", $ks[$o+$j-1] ^ $cs[$j]); }
      printf ")\n";
   } else {
     printf $_;
   }
}

NOTA: el script no está realizado por mí y desconozco el autor.

Para descifrar una contraseña de nivel 7 podemos hacer 2 cosas:

  1. ejecutar el script e ir tecleando las passwords
    $ ./cpwcrk.pl
    password 7 094F41070A0A1B1318
    password 7 094F41070A0A1B1318 (decrypted: consolas)
    ^C
  2. enviar un echo a la entrada del script.
    $ echo "password 7 094F41070A0A1B1318" | ./cpwcrk.pl
    password 7 094F41070A0A1B1318 (decrypted: consolas)

Para los usuarios Windows (que no dispongan de Perl) la empresa Boson ha realizado una aplicación gratuita que podéis descargar de aquí llamada Get Pass. Una vez instalada y ejecutada la aplicación Get Pass introducimos solo las contraseña y nos devuelve la misma descifrada.
Get Pass en acción