
Pyrescom Termod — код подтверждения концепции для CVE-2020-23160, CVE-2020-23161 и CVE-2020-23162
Это код эксплойта Proof-of-concept для трех уязвимостей, обнаруженных Йонасом Маттссоном и Хьюго ван ден Торном из Outpost24 Ghost Labs. Эти уязвимости найдены в компоненте веб-сервера устройства управления временем Pyrescom Termod4. Их можно объединить, что позволяет удаленному злоумышленнику обойти аутентификацию, читать файлы из локальной файловой системы и выполнять произвольные команды. Для ссылки на эти уязвимости можно использовать следующие идентификаторы CVE: CVE-2020-23160, CVE-2020-23161 и CVE-2020-23162.

Эти уязвимости идентифицируются тремя идентификаторами CVE, описанными ниже.
Удаленное выполнение кода в устройствах управления временем Pyrescom Termod4 до версии 10.04k позволяет аутентифицированным удаленным злоумышленникам выполнять произвольные команды с правами root на устройствах. См. MITRE CVE
Включение локальных файлов в устройствах управления временем Pyrescom Termod4 до версии 10.04k позволяет аутентифицированным удаленным злоумышленникам перемещаться по каталогам и читать конфиденциальные файлы через меню Maintenance > Logs и манипулируя путем к файлу в URL. См. MITRE CVE
Раскрытие конфиденциальной информации и слабое шифрование в устройствах управления временем Pyrescom Termod4 до версии 10.04k позволяет удаленным злоумышленникам читать файл сессии и получать учетные данные пользователей в виде открытого текста. См. MITRE CVE
Цепочка атак на устройства Termod4, позволяющая неавторизованному злоумышленнику:
Клонируйте этот репозиторий, (необязательно) настройте виртуальное окружение Python и установите зависимости. Предполагается, что у вас установлены Python3 и python3-venv (apt-get install python3-venv).
(Необязательно) Настройте virtualenv с именем 'Pyrescom-CVE': python3 -m venv Pyrescom-CVE, перейдите в каталог cd Pyrescom-CVE и активируйте его . bin/activate.
Клонируйте репозиторий в текущий каталог:
git clone https://github.com/Outpost24/Pyrescom-Termod-PoC.git .
python -m pip install -r requirements.txt
python Pyrescom-poc.py
Базовое использование этого PoC выглядит следующим образом:
python Pyrescom-poc.py http://<target-URI or IP>python Pyrescom-poc.py http://<target-URI or IP> -spython Pyrescom-poc.py http://<target-URI or IP> <command>python Pyrescom-poc.py -hРаспространяется под лицензией GPL3. См. LICENSE для получения дополнительной информации.
Подробности об этих уязвимостях и о том, как они были обнаружены, можно найти в нашем блоге - Tales from the frontline: Outsmarted by smart devices.
Уязвимости исправлены, точные сведения о версиях патчей неизвестны и не подтверждены производителем. Мы обнаружили уязвимости в версии 10.02r и проверили, что в версии 10.04k они устранены. Как затронуты промежуточные выпуски, неизвестно, поэтому мы рекомендуем обновиться до последней стабильной версии прошивки, доступной для вашего устройства.
Информацию о нашей политике ответственного раскрытия можно найти на нашем веб-сайте.
Jonas Mattsson - LinkedIn
Hugo van den Toorn - @HugovdToorn - LinkedIn
Большое спасибо Йонасу, у которого есть замечательная привычка находить самые потрясающие находки в самых странных местах. К сожалению для нас, сегодня твой последний день в Outpost24. Поэтому мы хотели бы отпраздновать твой уход этими тремя CVE и желаем тебе всего наилучшего в твоих будущих начинаниях.
"That might have been a bit out of scope..."
С любовью от Ghostlabs <3
| Day # | Date | Activity |
|---|
| 0-day | 18-12-2019 | Первоначальный контакт с производителем. |
| 2 days | 20-12-2019 | Вторая попытка связаться с производителем. |
| 21 days | 08-01-2020 | Третья попытка связаться с производителем. |
| 29 days | 16-01-2020 | Встреча с производителем организована через нашего заказчика. |
| 40 days | 27-01-2020 | Встреча с производителем и нашим заказчиком, производитель подтвердил проблемы и получил полное описание. |
| 82 days | 09-03-2020 | Обновление выпущено и развернуто, проведено краткое повторное тестирование для нашего заказчика. Уязвимости устранены. |
| 83 days | 10-03-2020 | Подтверждена эффективность патча с производителем. Предложены сроки раскрытия, ответа от производителя не получено. |
| 124 days | 20-04-2020 | Предложены сроки раскрытия, ответа от производителя не получено. |
| 141 days | 07-05-2020 | Запрошено резервирование CVE. Прошло более 100 дней с момента подтверждения производителем. |
| 401 days | 22-01-2021 | Множество запросов в Mitre об обновлении/CVE за последние 204 дня. После повторной отправки идентификаторы CVE были выпущены 22 января. |
| 408 days | 29-01-2021 | Публикация этого блога, идентификаторов CVE и PoC. |