Outil de décryptage du mot de passe Cisco7

Outil de décryptage du mot de passe Cisco7

1 – Définition de l’exécutable

L’utilitaire Cisco7 permet de décrypter les mots de passes des équipement Cisco stocké au format 7. En l’occurrence, les mots de passes « enable password » seront décrypté instantanément.

2 – Screen shot

cisco7 screen shot

3 – Download

3.1 – Version Win32

Nom : Cisco7.exe
Mode : Console
Version : 1.0
Librairie : 3.12
Taille : 30 Ko
Auteur : _SebF
Date de création : 11 Janvier 2007
Dernière compilation : 11 Janvier 2007

3.2 – Version Linux

Nom : Cisco7
Mode : Console
Version : 1.0
Librairie : 3.12
Taille : 30 Ko
Auteur : Jérémy AMIOT
Date d’adaptation : 18 Janvier 2007
Dernière compilation : 18 Janvier 2007

4 – Suivi du développement

4.1 – Problème restant

4.2 – RoadMap

4.3 – Suivi du projet

  • V1.0.3.12
    Adaptation et compilation sous Linux
  • V1.0.3.12
    Création du projet Cmd, Level 4, compilation en mode Release.

5 – Code source

5.1 – Cisco7.cpp – Version Win32

// ********************************************
// Nom : Cisco7.cpp
// Auteur : sebastien.fontaine@authsecu.com.pas.de.spam
// Date de création : 11 Janvier 2007
// version : 1.0.3.12
// Licence : Cette executable est libre de toute utilisation.
//           La seule condition existante est de faire référence
//           au site http://www.authsecu.com afin de respecter le travail d'autrui.
// ********************************************

// ********************************************************
// Les includes
// ********************************************************
// Il faut ajouter dans les proprités du projet => C++ => Command Line :
// /I "C:\RepPerso\Personnel\Developpement\Projets\LibrairieSocket"
#include "LibrairieSocket.h"

// ********************************************************
// Les Librairies
// ********************************************************

// ********************************************************
// Les procédures
// ********************************************************
void initiation_des_variables(void);
void gestion_des_arguments(int argc, char* argv[]);
bool decryptage(void);

// ********************************************************
// Les variables
// ********************************************************
char password_crypte[1000];
char password_clair[1000];

int main (int argc, char* argv[])
            {
            initiation_des_variables();
            gestion_des_arguments(argc,argv);

            // ********************************************************
            // Vérification si le nombre de caractère est pair
            // ********************************************************
            if(strlen(password_crypte)&1)
                        {
                        printf("\nError, your argument is not good\n");
                        exit(0);
                        }

            // ********************************************************
            // Décryptage
            // ********************************************************
            if (decryptage()==true)
                        printf("\nThe password is : %s\n",password_clair);
            else
                        printf("\nError, The crack isn't possible\n");
            }

void initiation_des_variables(void)
            {
            // ********************************************************
            // Affichage de la banniere
            // ********************************************************
            printf("\nCisco7 - Crack all Cisco Password 7 - Version 1.0.3.12");
            printf("\nCreate on January 11, 2007, Last compilation on January 11, 2007");
            printf("\nCreated by sebastien.fontaine@authsecu.com");
            printf("\n");

            // ********************************************************
            // Initialisation du Password
            // ********************************************************
            strcpy(password_crypte,"080949420516");
            strcpy(password_clair,"");
            }

void gestion_des_arguments(int argc,char* argv[])
            {
            int i;

            // ********************************************************
            // Affichage de l'aide
            // ********************************************************
            if ( (argc>1) && (strcmp(argv[1],"-?")==0) || (argc==1) )
                        {
                        printf("\n");
                        printf("\nGENERAL OPTIONS");
                        printf("\n-?                     This help");

                        printf("\n\nPASSWORD");
                        printf("\n-password             Crypted Paswword 7  Defaut: %s",password_crypte);

                        printf("\n\nSAMPLE");
                        printf("\ncisco7.exe -password 080949420516");
                        printf("\n\n");
                        exit(0);
                        }

            // ********************************************************
            // Récupération des arguments
            // ********************************************************
            for (i=1;i<argc;i=i+1)
                        {
                        // ********************************************************
                        // Options PASSWORD
                        // ********************************************************
                        if ( (stricmp(argv[i],"-password")==0) || (stricmp(argv[i],"/password")==0) )
                                   strcpy(password_crypte,argv[i+1]);
                        }
            }

bool decryptage(void)
            {
            // ********************************************************
            // Définition du Xlat
            // ********************************************************
            char xlat[]=
                                   {
                                   0x64,0x73,0x66,0x64,
                                   0x3b,0x6b,0x66,0x6f,
                                   0x41,0x2c,0x2e,0x69,
                                   0x79,0x65,0x77,0x72,
                                   0x6b,0x6c,0x64,0x4a,
                                   0x4b,0x44,0x48,0x53,
                                   0x55,0x42
                                   };
            unsigned int seed=0;
            unsigned int i=0;
            unsigned int val=0;

            seed=(password_crypte[0]-'0')*10+password_crypte[1]-'0';
            if (seed>15||!isdigit(password_crypte[0])||!isdigit(password_crypte[1]))
                        return(0);
            for (i=2;i<=strlen(password_crypte);i++)
                        { 
                        if(i!=2&&!(i&1))
                                   {
                                   password_clair[i/2-2]=val^xlat[seed++]; // ^ signifit XOR (0^0=0 1^0=1 0^1=1 1^1=0)
                                   val=0;
                                   }
                        val*=16;
                        if(isdigit(password_crypte[i]=toupper(password_crypte[i])))
                                   {
                                   val+=password_crypte[i]-'0';
                                   continue;
                                   }
                        if(password_crypte[i]>='A'&&password_crypte[i]<='F')
                                   {
                                   val+=password_crypte[i]-'A'+10;
                                   continue;
                                   }
                        if(strlen(password_crypte)!=i)
                                   return(0);
                        }
            password_clair[++i/2]=0;

            return(1);
            }

5.2 – Cisco7.cpp – Version Linux

// ********************************************
// Nom : Cisco7.cpp
// Auteur : sebastien.fontaine@authsecu.com.pas.de.spam
// Adaptation à Linux : jeremy.amiot@authsecu.com.pas.de.spam
// Date de création : 11 Janvier 2007
// Date de l'adaptation : 18 Janvier 2007
// version : 1.0.3.12
// Licence : Cette executable est libre de toute utilisation.
//           La seule condition existante est de faire référence
//           au site http://www.authsecu.com afin de respecter le travail d'autrui.
// ********************************************

// ********************************************************
// Les includes
// ********************************************************

//#include "LibrairieSocket.h"

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

// ********************************************************
// Les Librairies
// ********************************************************

// ********************************************************
// Les procédures
// ********************************************************
void initiation_des_variables(void);
void gestion_des_arguments(int argc, char* argv[]);
bool decryptage(void);

const char*  strlwr(char *string)
{
while ( (*string = tolower(*string ++)) );
}

// ********************************************************
// Les variables
// ********************************************************
char password_crypte[1000];
char password_clair[1000];

int main (int argc, char* argv[])
            {
            initiation_des_variables();
            gestion_des_arguments(argc,argv);

            // ********************************************************
            // Vérification si le nombre de caractère est pair
            // ********************************************************
            if(strlen(password_crypte)&1)
                        {
                        printf("\nError, your argument is not good\n");
                        exit(0);
                        }

            // ********************************************************
            // Décryptage
            // ********************************************************
            if (decryptage()==true)
                        printf("\nThe password is : %s\n",password_clair);
            else
                        printf("\nError, The crack isn't possible\n");
            }

void initiation_des_variables(void)
            {
            // ********************************************************
            // Affichage de la banniere
            // ********************************************************
            printf("\nCisco7 - Crack all Cisco Password 7 - Version 1.0.3.12");
            printf("\nCreate on January 11, 2007, Last compilation on January 11, 2007");
            printf("\nCreated by sebastien.fontaine@authsecu.com");
            printf("\n");

            // ********************************************************
            // Initialisation du Password
            // ********************************************************
            strcpy(password_crypte,"080949420516");
            strcpy(password_clair,"");
            }

void gestion_des_arguments(int argc,char* argv[])
            {
            int i;

            // ********************************************************
            // Affichage de l'aide
            // ********************************************************
            if ( (argc>1) && (strcmp(argv[1],"-?")==0) || (argc==1) )
                        {
                        printf("\n");
                        printf("\nGENERAL OPTIONS");
                        printf("\n-?                     This help");

                        printf("\n\nPASSWORD");
                        printf("\n-password             Crypted Paswword 7  Defaut: %s",password_crypte);

                        printf("\n\nSAMPLE");
                        printf("\ncisco7 -password 080949420516");
                        printf("\n\n");
                        exit(0);
                        }

            // ********************************************************
            // Récupération des arguments
            // ********************************************************
            for (i=1;i<argc;i=i+1)
                        {
                        // ********************************************************
                        // Options PASSWORD
                        // ********************************************************
                                               
                                   if ( (strcasecmp(argv[i],"-password")==0) || (strcasecmp(argv[i],"/password")==0) )
                                   strcpy(password_crypte,argv[i+1]);
                        }
            }

bool decryptage(void)
            {
            // ********************************************************
            // Définition du Xlat
            // ********************************************************
            char xlat[]=
                                   {
                                   0x64,0x73,0x66,0x64,
                                   0x3b,0x6b,0x66,0x6f,
                                   0x41,0x2c,0x2e,0x69,
                                   0x79,0x65,0x77,0x72,
                                   0x6b,0x6c,0x64,0x4a,
                                   0x4b,0x44,0x48,0x53,
                                   0x55,0x42
                                   };
            unsigned int seed=0;
            unsigned int i=0;
            unsigned int val=0;

            seed=(password_crypte[0]-'0')*10+password_crypte[1]-'0';
            if (seed>15||!isdigit(password_crypte[0])||!isdigit(password_crypte[1]))
                        return(0);
            for (i=2;i<=strlen(password_crypte);i++)
                        {
                        if(i!=2&&!(i&1))
                                   {
                                   password_clair[i/2-2]=val^xlat[seed++]; // ^ signifit XOR (0^0=0 1^0=1 0^1=1 1^1=0)
                                   val=0;
                                   }
                        val*=16;
                        if(isdigit(password_crypte[i]=toupper(password_crypte[i])))
                                   {
                                   val+=password_crypte[i]-'0';
                                   continue;
                                   }
                        if(password_crypte[i]>='A'&&password_crypte[i]<='F')
                                   {
                                   val+=password_crypte[i]-'A'+10;
                                   continue;
                                   }
                        if(strlen(password_crypte)!=i)
                                   return(0);
                        }
            password_clair[++i/2]=0;

            return(1);
            }

6 – Discussion autour de l’outil de décryptage du mot de passe Cisco7

Vous pouvez poser toutes vos questions, faire part de vos remarques et partager vos expériences à propos de l’outil de décryptage du mot de passe Cisco7. Pour cela, n’hésitez pas à laisser un commentaire ci-dessous :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *