The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
использование библиотеки libssh, !*! Alex, 16-Фев-15, 13:39  [смотреть все]
libssh.org

хочу подключиться на cisco роутер выполнить команду и отключиться.

к библиотеки прилагаются некоторые примеры, на их основании пытаюсь написать своё.
почему libssh - по тому, что штатно в линуксе ничего не нашел.

коротко: устанавливаем подключение ssh на роутер, по имени пользователя и паролю.
открываем канал. отправляем команду "en" для перехода в административный режим:
rc = ssh_channel_request_exec(channel, "en");
читаем, что шлет нам роутер. "password:" отлично.

а какой функцией вводить пароль?

rc = ssh_channel_request_exec(channel, "********");
вылетает в ошибку djpdhfn -1:
[1] Error : Channel request exec failed
пробовал еще:
printf("******\n")
тоже ни как..

язык Си. догадываюсь, что врядли кто использовал. но может быть...

  • использование библиотеки libssh, !*! erera22, 19:41 , 16-Фев-15 (1)
    • использование библиотеки libssh, !*! Alex, 09:33 , 17-Фев-15 (2)
      > http://api.libssh.org/master/libssh_tutor_guided_tour.html

      да все верно!

      rc = ssh_channel_request_exec(channel, "enable");
      if (rc != SSH_OK)
      {
      ssh_channel_close(channel);
      ssh_channel_free(channel);
      return rc;
      }
      nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0);
      while (nbytes > 0)
      {
      if (write(1, buffer, nbytes) != nbytes)
      {
      ssh_channel_close(channel);
      ssh_channel_free(channel);
      return SSH_ERROR;
      }
      nbytes = ssh_channel_read(channel, buffer, sizeof(buffer), 0);
      }
      if (nbytes < 0)
      {
      ssh_channel_close(channel);
      ssh_channel_free(channel);
      return SSH_ERROR;
      }

      приезжает "password:"

      вопрос как теперь ввисти этот enable пароль?

      я пробовал так:
      rc = ssh_channel_request_exec(channel, "********");
      if (rc != SSH_OK)
      {
      ssh_channel_close(channel);
      ssh_channel_free(channel);


      получал ошибку:
      [1] Error : Channel request exec failed
      error : Channel request exec failed

      вот в этом месте у меня и возникла проблема, которая в мауале не описана. точнее описание ее я не нашел. (возможно плохо искал... но пока не попалась.)

      • использование библиотеки libssh, !*! Alex, 16:41 , 13-Ноя-15 (3)
        в продолжение.. так как тема еще актуальна.

        тот пример что выше, это для одной команды. но есть для нескольких комманд.

        channel_request_shell(channel);
           channel_write(channel,"help\n");
           channel_read(...)
           channel_write(channel,"help\n");
           channel_read(...)
           ......

        да, действительно получаю хелп роутера два раза.

        хочу зайти в привелигированный режим.
        отправляю enable
        читаю password:
        отправляю сам пароль
        читаю password:    то есть не принял.

        возникает вопрос, почему??

  • использование библиотеки libssh, !*! pavlinux, 04:19 , 16-Ноя-15 (5)
    >  потому, что штатно в линуксе ничего не нашел.


    #!/usr/bin/expect -f

    spawn ssh siska
    expect "login:";
    send "odmin\n"
    expect "password: "
    send "PASSWORD\n"
    expect "$ "
    ...

    http://sourceforge.net/projects/sshpass/

    Ещё куча вариантов на Perl, Ruby, Tcl, sh/chat через ssh-туннель

    > язык Си. догадываюсь, что врядли кто использовал. но может быть...

    Всё украдено уже до вас.

  • использование библиотеки libssh, !*! pavlinux, 19:07 , 16-Ноя-15 (8)
    • использование библиотеки libssh, !*! Alex, 11:05 , 17-Ноя-15 (9)
      про sshpass вчера весь вечер читал и искал примеры. с cisco-ой что то ни кто не использует.
      примеры тоже, как я понял, позволяют пройти первую проверку пользователя и пароля. а дальше, пароль enable ни кто не пробовал проходить. наверно надо просто попробовать.

      tcl почитал. есть некое непонимание. в статье IOS, я так понимаю это относится к роутерам. у меня ASA-5500.

      SNMP да, сила. родной веб интерфейс для управления железкой, я так понимаю, активно использует SNMP. Но как там применить к моей задаче, я не придумал. (по SNMP отправить новое правило)

      моя задача:
      меня брутят по ssh. поэтому я хочу написать скриптик которой смотрит, если 5 попыток  подключиться по ssh неудачны (я это смотрю по логам), надо добавить на железку правило блокировки это ip адрес. что я и пытаюсь сделать на си через ssh. почему си? скорость, и хочу все в одной программе сделать. разносить по скриптам, в какой то момент становится неудобно. если получиться, будут довешиваться дополнительные полезности автоматизации.


      • использование библиотеки libssh, !*! pavlinux, 17:00 , 17-Ноя-15 (10)
        >  я так понимаю это относится к роутерам. у меня ASA-5500.

        Скорее надо на версию IOS смотреть,  много фич общих.


        >  я хочу написать скриптик которой смотрит, если 5 попыток  подключиться по ssh неудачны
        > (я это смотрю по логам), надо добавить на железку правило блокировки это ip адрес.

        router(config)# login block-for <sec> attempts <attempts> within <sec>
        router(config)# login block-for 300 attempts 5 within 30

        Хост будет заблокирован на 300 сек., если в течение 30 секунд будет 5 неудачных попыток логина


        Исключение своего апишнега

        router(config)# access-list 10 permit 192.168.1.2
        router(config)# login quiet-mode access-class 10


        • использование библиотеки libssh, !*! Alex, 18:03 , 17-Ноя-15 (11)
          да, это справедливо для роутеров.
          ASA это немного другое оборудование.
          данный функционал я пока не нашел для ASA.

          вот что есть на железке:
          asa(config)# ?
          .....
            isakmp                 Configure ISAKMP key, peer, policy and other options
            l2tp                   Configure Global L2TP Parameters
            ldap                   Configure LDAP Mapping
            logging                Configure logging levels, recipients and other options
            logout                 Logoff from config mode
            mac-list
          .....

          login - нету..

          гуголь на запрос: cisco +asa login block-for
          тоже ничего не дает пока.

          • использование библиотеки libssh, !*! pavlinux, 18:13 , 21-Ноя-15 (12)
            > ASA это немного другое оборудование.

            У меня этих ASA/PIX было, туева хуча.  

            >гуголь на запрос: cisco +asa login block-for
            >тоже ничего не дает пока.

            http://www.security-solutions.co.za/cisco-asa-firewall-harde...


            ----

            Feature Information for Cisco IOS Login Enhancements (Login Block)

            Cisco IOS Login Enhancements (Login Block)

            Releases

            12.3(4)T
            12.2(25)S
            12.2(33)SRA
            12.2(33)SRB 12.2(33)SXH
            12.4(15)T1

            Feature Information

            The Cisco IOS Login Enhancements (Login Block) feature allows users to enhance the security of a router by configuring options to automatically block further login attempts when a possible DoS attack is detected.

            This feature was introduced in Cisco IOS Release 12.3(4)T.
            This feature was integrated into Cisco IOS Release 12.2(25)S.
            This feature was integrated into Cisco IOS Release 12.2(33)SRA.
            Support for HTTP login blocking was integrated into Cisco IOS Release 12.2(33)SRB, 12.2(33)SXH, 12.4(15)T1.

            • использование библиотеки libssh, !*! Alex, 09:04 , 23-Ноя-15 (13)
              я так понимаю что ключевое:
              aaa-server TACACS+ protocol tacacs+
              reactivation-mode depletion deadtime 1
              aaa-server TACACS+ (inside) host 192.168.1.1
              max-failed attempts 2

              ?

              у меня:
              aaa authentication ssh console LOCAL

              несколько проще..
              сейчас попробую разобраться с этими хитросплетениями..

              • использование библиотеки libssh, !*! Alex, 11:06 , 23-Ноя-15 (14)
                почитал...
                нужен сервер, можно поднять на FreeBSD
                целесобразен при большом количетве железяк, и большем количестве обслуживающего персонала, с разганичением по командам и с персональным логированием действий.

                для 1-3 железяк, не целесобразно.
                - припадении сервера теряем доступ.
                - две штуки держать или более (опять расходы растут)
                - энерго снабжение им надо хорошее.
                не ну можно конечно PasPI на батарейках запустить. Но... пока неверное нет.

                раньше вообще был проет MARS не знаю жив ли он. там вообще огого. правда дорог.

                мне бы все таки как бы домучить библиотечку на Си. Очень уж интересная опция...





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру