June 28, 2023

Уязвимость веб сервера GoAhead. Как она угражала и угражает владельцам камер видеонаблюдения?

Мем по этой теме)

Что такое GoAhead? И с чем его едят?

GoAhead - это легковесный веб-сервер, написанный на языке
программирования C. Он был разработан компанией Embedthis Software LLC и
впервые выпущен в 2001 году. Изначально GoAhead разрабатывался как
часть встраиваемого программного обеспечения, предназначенного для
использования во встраиваемых системах, таких как маршрутизаторы,
видеокамеры наблюдения, сетевые хранилища и другие устройства, требующие
веб-интерфейса для управления и конфигурации.

Основная цель GoAhead заключается в предоставлении простого и
эффективного веб-сервера, который потребляет минимум ресурсов и подходит
для ограниченных по мощности устройств. Он был спроектирован таким
образом, чтобы обеспечить высокую производительность и эффективность
работы даже на устройствах с ограниченными вычислительными ресурсами и
низким объемом памяти.

GoAhead основан на событийно-ориентированной архитектуре, которая
позволяет обрабатывать одновременно множество запросов без создания
отдельного потока для каждого запроса. Это существенно снижает нагрузку
на систему и позволяет серверу эффективно обрабатывать большое
количество запросов.

Поскольку GoAhead был изначально предназначен для встраиваемых систем,
он имеет небольшой размер и низкие требования к системным ресурсам. Код
GoAhead легко настраивается и интегрируется с другим программным
обеспечением, что делает его привлекательным выбором для разработчиков,
работающих в ограниченной среде.

Казалось бы, прекрасное решение для разработчиков! Но у всего есть подводные камни.

Проблемы с безопасностью:

GoAhead, как и любое программное обеспечение, имеет свои проблемы с
безопасностью, которые были выявлены и устранены со временем. Некоторые
из проблем безопасности, связанных с GoAhead, включали:

Уязвимости в версиях до 2.5.0: Ранние версии GoAhead имели несколько
уязвимостей, таких как переполнение буфера, утечка информации и
возможность удаленного выполнения кода. Эти проблемы были обнаружены и
устранены в последующих версиях.

Уязвимости GoAhead в https://www.exploit-db.com/

Недостаточная обработка пользовательского ввода: Некорректная обработка
пользовательского ввода может привести к уязвимостям в GoAhead.
Например, если сервер не проверяет или фильтрует входные данные,
возможны атаки на основе внедрения кода (например, инъекции SQL или
скриптов) или переполнения буфера.

Компрометация конфиденциальных данных: Если GoAhead неправильно настроен
или недостаточно безопасен, может возникнуть риск компрометации
конфиденциальных данных. Например, если на сервере GoAhead размещается
веб-приложение, которое не обеспечивает должного контроля доступа или
аутентификации, злоумышленник может получить доступ к конфиденциальной
информации, хранимой на сервере.

Именно о последнем и пойдёт речь дальше...

Опасность камер с GoAhead:

Существует известная уязвимость, связанная с веб-сервером GoAhead,
которая может позволить злоумышленнику получить конфигурационный файл
камеры или другую конфиденциальную информацию, изменяя URL-адрес
запроса.

Уязвимость связана с недостаточной проверкой доступа и аутентификации в
GoAhead. В некоторых версиях сервера GoAhead (обычно до версии 3.6.5),
был реализован неправильный механизм обработки URL-адресов, позволяющий
злоумышленнику получить доступ к защищенным файлам, включая
конфигурационные файлы камеры.

Как это работало на практике:

Допустим у нас есть камера с веб сервером GoAhead в локальной сети.

Доступ к просмотру картинки с камеры находится по адрессу:

http://192.168.1.57:81

Перейдя по нему у нас будет запрос авторизации:

Допустим что пароля мы не знаем.

Изменим немного наш url:

http://192.168.1.57:81/system.ini?loginuse&loginpas

И если, как и было выше сказано, сервер с недостаточной проверкой доступа, то у нас начнётся скачивание файла system.ini (файла конфигурации камеры).

В этом файле, помимо настроек камеры, содержится логин и пароль для доступа к ней.

Теперь, мы можем получить доступ к управлению и просмотру камеры.

Предупреждение! Данная информация предоставлена в качестве учебных целей и не призывает выполнять её на практике. Помните, что неправильное использование данной информации несёт за собой последствия. Автор не несёт ответственности за использование данной информации читателями.

Заключение:

Важно отметить, что разработчики GoAhead и сообщество активно работают
над устранением обнаруженных проблем безопасности и выпускают обновления
для повышения безопасности сервера. Чтобы защититься от известных
проблем безопасности, рекомендуется регулярно обновлять GoAhead до
последней версии и следовать рекомендациям по безопасной настройке
сервера.

Проверяйте свои устройства на безопасность! Особенно если они выходят в общий доступ по сети интернет. Спасибо за прочтение! Внизу есть ещё немного интересной информации)

Дополнительные материалы:

Shodan

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

Чтобы это сделать вводим запрос:

realm="GoAhead", domain=":81"

Большинство камер из результатов всё ещё будут уязвимы.

Эта информация для справки! Напоминаю, что несанкционированный доступ к информационным системам уголовно наказуемо!

Expcamera

Если у вас есть несколько камер для тестирования то чтобы автоматизировать весь этот процесс можно использовать данный инструмент.

https://github.com/vanpersiexp/expcamera

Он проверит камеры и в случае если есть уязвимые выведет логины и пароли к ним.

Также в данном инструменте есть поддержка shodan.

Эта информация для справки! Напоминаю, что несанкционированный доступ к информационным системам уголовно наказуемо!