Уязвимость позволяет осуществить подстановку SQL-кода в GitHub

Уязвимость позволяет осуществить подстановку SQL-кода в GitHub

Уязвимость позволяет осуществить подстановку SQL-кода в GitHub

В GitHub Enterprise, варианте GitHub для предприятий, позволяющем развернуть окружение для совместной разработки внутри корпоративной сети на подконтрольном оборудовании, выявлена уязвимость, позволяющая через отправку специально оформленного запроса выполнить произвольный SQL-код на сервере.

В описании уязвимости приводится заслуживающий внимания рассказ об организации работы кода GitHub Enterprise, который во многом пересекается с кодом публичного сервиса GitHub. Пакет поставляется в виде образа виртуальной машины, доступной для бесплатного ознакомительного использования в течение 45 дней. Исходные тексты скрыты и поставляются в упакованном виде, напоминающем зашифрованный набор данных. Прозрачная распаковка в момент выполнения осуществляется при помощи библиотеки ruby_concealer.so, анализ которой показал, что метод упаковки сводится к сжатию кода при помощи Zlib::Inflate::inflate и применению операции XOR с предопределённым ключом, пишет opennet.ru.

После распаковки было выяснено, что большая часть кода написана на языке Ruby с использованием фреймворков Ruby on Rails и Sinatra, но также применяются компоненты на Python, Bourne Shell, C++ и Java. По мнению исследователя безопасности, код, отвечающий за работу web-сервисов, основан на реальной кодовой базе github.com, gist.github.com, render.githubusercontent.com и api.github.com. Получив доступ к коду исследователь, до этого не имевший дело c языком Ruby, потратил всего четыре дня на поиск возможных уязвимостей и выявил проблему в обработчике PreReceiveHookTarget, позволяющую осуществить подстановку SQL-кода через передачу специально оформленных данных через параметр "sort", отправив запрос к общедоступному Web API.

$ curl -k -H 'Accept:application/vnd.github.eye-scream-preview' \
'https ://192.168.187.145/api/v3/organizations/1/pre-receive-hooks?access_token=????????&sort=id,(select+1+from+information_schema.tables+limit+1,1)'
$ curl -k -H 'Accept:application/vnd.github.eye-scream-preview' \
'https ://192.168.187.145/api/v3/organizations/1/pre-receive-hooks?access_token=????????&sort=id,if(user()="github @localhost",sleep(5),user())'

GitHub был уведомлен о проблеме в конце декабря и устранил уязвимость в выпуске GitHub Enterprise 2.8.5. Выявившему уязвимость исследователю выплачено вознаграждение в размере 5 тысяч долларов США.

Новая атака в Telegram использует официальную аутентификацию мессенджера

Эксперты зафиксировали новую и довольно изощрённую фишинговую кампанию в Telegram, которая уже активно используется против пользователей по всему миру. Главная особенность атаки в том, что злоумышленники не взламывают мессенджер и не подделывают его интерфейс, а аккуратно используют официальные механизмы аутентификации Telegram.

Как выяснили аналитики компании CYFIRMA, атакующие регистрируют собственные API-ключи Telegram (api_id и api_hash) и с их помощью инициируют реальные попытки входа через инфраструктуру самого мессенджера. Дальше всё зависит от того, как именно жертву заманят на фишинговую страницу.

Всего специалисты наткнулись на два подобных сценария. В первом случае пользователю показывают QR-код в стиле Telegram, якобы для входа в аккаунт. После сканирования кода в мобильном приложении запускается легитимная сессия, но уже на стороне злоумышленника.

Во втором варианте жертву просят вручную ввести номер телефона, одноразовый код или пароль двухфакторной защиты. Все эти данные тут же передаются в официальные API Telegram.

 

Ключевой момент атаки наступает позже. Telegram, как и положено, отправляет пользователю системное уведомление в приложении с просьбой подтвердить вход с нового устройства. И вот тут в дело вступает социальная инженерия. Фишинговый сайт заранее подсказывает, что это якобы «проверка безопасности» или «обязательная верификация», и убеждает нажать кнопку подтверждения.

В итоге пользователь сам нажимает «Это я» и официально разрешает доступ к своему аккаунту. Никакого взлома, обхода шифрования или эксплуатации уязвимостей не требуется: сессия выглядит полностью легитимной, потому что её одобрил владелец аккаунта.

По данным CYFIRMA, кампания хорошо организована и построена по модульному принципу. Бэкенд централизованный, а домены можно быстро менять, не затрагивая логику атаки. Такой подход усложняет обнаружение и блокировку инфраструктуры.

После захвата аккаунта злоумышленники, как правило, используют его для рассылки фишинговых ссылок контактам жертвы, что позволяет атаке быстро распространяться дальше — уже от лица доверенного пользователя.

RSS: Новости на портале Anti-Malware.ru