Недавно мне подарили медиаконвертер/NID (Canoga-Perkins 9145E-104).
Друг, который мне его дал, работает в местном CLEC и дает мне всевозможное рабочее бесплатное снаряжение в виде улучшений и т. д.
Я предполагал, что кнопка сброса на устройстве сбросит административный пароль, но этого не произошло. Когда я позвонил в службу поддержки Canoga-Perkins, они по сути сказали, что устройство похоже на навесной замок. Его нужно отправить им для сброса пароля. Конечно, я не послушал и открыл верхнюю часть устройства, чтобы посмотреть, есть ли там батарейка CMOS или перемычка для очистки NV-RAM. Мои усилия были напрасны.
Однако у меня есть доступ к консоли через COM-порт (имя пользователя/пароль заблокированы), и, похоже, нет никаких ограничений на попытки ввода пароля.
Я поговорил с другом, который дал мне его, чтобы спросить, знает ли он, какой может быть пароль. Он сказал, что это было до того, как они перешли на серверы AAA, и, скорее всего, это был простой пароль из 4-6 цифр, букв и цифр.
Итак, моя мысль была такой:
Используйте crunch или другой скрипт создания словаря, чтобы попробовать создать словарь. Однако я не уверен, как передать это в COM-порт в Windows или Linux. Я открыт для любого решения с любым дистрибутивом.
Есть ли у кого-нибудь идеи, как мне выполнить эту задачу?
Редактировать:
Я нашел очень похожую статью об отправке команд через последовательные соединения.
Вывод команды Echo/Pipe на последовательную линию
Пользователь AFH дал несколько предложений в комментариях. Мне придется немного почитать, так как я понятия не имею, как разобраться в том, что он описывает.
Edit-2: У меня было немного времени, чтобы повозиться с этим вчера вечером, вы можете перенаправить прямо на ttyUSB0 с помощью minicom. Я тестировал это на Ubuntu и Kali Linux. Используя "crunch 4 4 abcd | sudo minicom", потому что устройство запрашивает имя пользователя и пароль. Мне придется записать словарь в файл, проанализировать файл, добавляя "admin" между каждой попыткой ввода пароля. И, скорее всего, придумать, как немного замедлить вывод. У меня есть друг, который является профессиональным программистом, он сказал, что может написать мне программу для анализа файла, добавляя строки admin. Единственное, что осталось после этого, это выяснить, как прочитать измененный файл и отправить его через minicom в NID.
решение1
Если вы пытаетесь сделать это на Ubuntu,
"sudo apt-get install minicom". Используйте ваш любимый поисковик и следуйте онлайн-руководству, чтобы получить crunch для вашей конкретной версии Ubuntu.
Я установил Kali rolling на старый нетбук, чтобы посвятить его этой задаче. Его характеристики: 2 ядра hyper-theading по 1,8 ГГц и 2 ГБ оперативной памяти. Вам не потребуется много. Если вы не любите устанавливать пакеты вручную, я бы рекомендовал вам выбрать путь Kali Linux. В Kali уже предустановлено все необходимое для этого. Мне потребовалось около 20 минут после создания загрузочного USB, чтобы завершить свежую установку.
Узнать имя com-порта - ttyUSBx
Вам необходимо подключить адаптер USB-Serial и выяснить, к какому последовательному порту он логически подключен.
Введите в терминале «dmesg | grep USB».
вы должны увидеть что-то похожее на это:
Вам может понадобиться "chmod 777 /dev/ttyUSB0" в зависимости от разрешений, дистрибутива и т. д. В Kali мне этого делать не пришлось. Вы узнаете, нужно ли это делать, если не сможете сохранить настройки в minicom.
Настройте minicom с помощью "minicom -s"
Это зависит от серийного устройства, у меня был классический
- 9600 бит/с
- 8 бит данных
- Нет паритета
- 1 стоповый бит.
Проверьте руководство по устройству на предмет его последовательных настроек для подключения через консоль. Обязательно сохраните конфигурацию в minicom как default после выхода и убедитесь, что она работает.
Если ваше устройство запрашивает только пароль, вам повезло. Вам просто нужно:
"crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 | minicom" Используйте любые параметры, которые соответствуют требованиям вашего пароля. Если вашему устройству требуются имя пользователя и пароль, или вы считаете, что вывод нужно немного замедлить. читайте дальше...
Создать список паролей:
В зависимости от того, на чем установлен crunch и как изначально настроен ваш дистрибутив Linux. Возможно, вам придется выполнить его с помощью "sudo ./crunch", "./crunch" или в Kali просто "crunch" из терминала. Создайте список паролей и запишите его в файл. например "crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 -o input.txt". Введите man crunch в терминале Kali для получения расширенных инструкций.
Если вы помните какую-либо часть пароля, вы можете значительно сократить время, которое потребуется для разблокировки вашего устройства. Для этого в crunch есть специальные опции. Поиск в сетиучебникио расширенных функциях Crunch, если вам интересно.
Итак, после того, как вы запустите crunch с любыми параметрами, которые вам подходят, у вас должен быть файл словаря с именем input.text в корневом каталоге.
Добавление имени пользователя:
Скопируйте скрипт python в новый файл. Для простоты назовите его "add-user.py" и поместите в корневой каталог. Откройте окно терминала и "chmod 777 add-user.py". Это даст ему доступ на чтение/запись и позволит вам выполнить скрипт. выполните "ls -la", скрипт должен стать зеленым в списке. (в kali и ubuntu).
Теперь вы можете выполнить скрипт с помощью "sudo ./add-user.py" или "./add-user.py". Просто убедитесь, что файл input.txt находится в том же каталоге, и все будет хорошо. Запуск скрипта на моем бедном старом нетбуке занял около 35 минут со всеми строчными буквами и цифрами, всего 5 цифр.
Передача данных из нового словаря в minicom с использованием ttyUSB0
Эта часть довольно проста, "cat w-user-output.txt | minicom"
вот в принципе и все. но следует отметить пару вещей: если вы работаете с большим словарем, вам, возможно, захочется повозиться с тем, как скрипт выводит свои выходные данные. запуск подсчета в цикле «for» и вывод обновления строки каждые 50 циклов немного ускорит работу скрипта. также обратите внимание, что в моем случае пустая строка была интерпретирована minicom как нажатие пользователем клавиши Enter, это позволило мне изменить скрипт так, чтобы он создавал три пустые строки после каждой попытки. это немного замедлило вывод и обеспечило его синхронизацию с первой попыткой ввода администратора, а второй — с попыткой ввода пароля.
EDIT: Три пустые строки не сработали. Пока я писал это и возвращался, чтобы проверить ход взлома, я обнаружил, что пользователь/пароли conoga perkins box отправлялись несинхронно. Вот правильный способ замедлить его, если вам это нужно:
Создайте новый файл в корневом каталоге, назовите его "slowdown". Отредактируйте файл и введите следующее.
Выполните команду «chmod +x slowdown» из терминала.
Теперь вы можете запустить "cat w-user-output.txt | ./slowdown | minicom". Настройте команду sleep в скрипте bash на самую быструю, с которой, по вашему мнению, справится ваше устройство.
Я хотел бы поблагодарить Стива за то, что он терпел мои вопросы по программированию, пока он пил много пива до поздней ночи, а также за то, что он продолжал программировать на Python, даже ворча о том, как легко это было бы на C#. А также особая благодарность пользователям "Pimp Juice IT" и "AFH", которые оба дали мне достойные предложения, когда я оказался в затруднительном положении.