perl version of that tin opener (IOS decrypt.c)

From: Riku Meskanen (mesrikat_private)
Date: Sun Jan 11 1998 - 14:36:09 PST

  • Next message: Riku Meskanen: "Again: perl version of that tin opener (IOS decrypt.c)"

    Howdy,
    
    Squeezed the decrypt.c[1] with perl a bit, just for seeing
    better how simple that IOS type 7 encryption really is.
    
    [1] http://www.rootshell.com/archive-Rbf4ahcmxzw5qn2S/199711/ciscocrack.c
    
    :-) riku
    
    #!/usr/bin/perl -w
    # $Id: ios7decrypt.pl,v 1.1 1998/01/11 21:31:12 mesrik Exp $
    #
    # Credits for orginal code and description hobbitat_private,
    # SPHiXe, .mudge et al. and for John Bashinski <jbashat_private>
    # for Cisco IOS password encryption facts.
    #
    # Use for any malice or illegal purposes strictly prohibited!
    #
    
    @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 );
    
    while (<>) {
            if (/(password|md5)\s+7\s+([\da-f]+)/io) {
                if (!(length($2) & 1)) {
                    $ep = $2; $dp = "";
                    ($s, $e) = ($2 =~ /^(..)(.+)/o);
                    for ($i = 0; $i < length($e); $i+=2) {
                        $dp .= sprintf "%c",hex(substr($e,$i,2))^$xlat[$s++];
                    }
                    s/$ep/$dp/;
                }
            }
            print;
    }
    # eof
    --
        [ This .signature intentionally left blank ]
    



    This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 13:38:38 PDT