Ответ на пост «Попытка взлома пароля ПЛК»
Столкнулся по работе с такой же проблемой - оборудование, смонтировано подрядчиками больше 10 лет назад, документация не была передана или не дошла до настоящего времени.
И так, имеем плк Direct Logic DL06, который при подключении запрашивает пароль.
Поиск информации по этой теме выдает исчерпывающую статью, в которой описаны уязвимости, закрытые в последней версии ПО.
https://www.dragos.com/blog/the-trojan-horse-malware-passwor...
Если кратко - есть два способа снятия пароля - прямой перебор брутфорсом (https://forum.powerbasic.com/forum/user-to-user-discussions/... и https://www.rapid7.com/db/modules/auxiliary/scanner/scada/ko...) и использование уязвимости, заключающейся в том, что на специально подготовленный пакет отправленный на com или ethernet порт, плк отвечает паролем в открытом виде (наглядная демонстрация в статье выше и на видеоролике https://www.youtube.com/watch?v=1NryZdShLJo).
Брутфорс работает, в моем случае скорость перебора 30 паролей\сек, что требует для полного перебора порядка 38 дней.
Коллеги с форума подсказали последовательность, которую отправляет китайская прога - "4B2105015001FA04040017AB", опытным путем было установлено, что для корректного ответа команду надо разбить на две с паузой 500мсек.
Вот итоговая инструкция
1. устанавливаем RealTerm, запускаем от имени администратора,
2. на вкладке display выбираем HEX[space], на вкладке port выбираем 9600,odd,8,1,none, открываем порт
3. на вкладке send в первом окне ввода команды вводим "0x4B 0x21 0x05", во втором "0x01 0x50 0x01 0xFA 0x04 0x04 0x00 0x17 0xAB",
4. кликаем на кнопки send 1 и 2 с задержкой 0,5 сек.
5. в окне терминала видим свой пароль
В версии firmware 2.72 эту уязвимость пофиксили, без знания пароля нельзя даже сбросить ПЛК до заводского состояния. Для того, чтобы привести ПЛК в чувство (ценой потери рабочей программы) можно залить во флэш (с помощью программатора) дамп предыдущей версии ПО.