Эксперты Лейденского института передовых компьютерных наук обнаружили на GitHub тысячи репозиториев с фейковыми PoC-эксплоитамит для различных уязвимостей. Многие из них содержат вредоносное ПО. Оказалось, что вероятность заражения малварью при скачивании PoC может достигать 10,3%, даже если исключить выборки откровенные подделки.
Эксперты пишут, что GitHub — одна из крупнейших платформ для размещения кода, и исследователи со всего мира используют ее для публикации PoC-эксплоитов, чтобы другие участники ИБ-сообщества могли протестировать патчи, определить влияние и масштаб багов.
Для своего исследования специалисты проанализировали более 47 300 репозиториев, предлагающих эксплоиты для различных уязвимости, обнаруженных в период с 2017 по 2021 год. Для анализа использовались следующие методы.
- Анализ IP-адресов. Сравнение IP-адреса автора PoC с общедоступными черными списками, а также Virus Total и AbuseIPDB.
- Бинарный анализ. Проверка предоставленных исполняемых файлов и их хэшей через VirusTotal.
- Шестнадцатеричный анализ и анализ Base64. Преобразование обфусцированных файлов перед выполнением бинарной и IP-проверок.
В результате из 150 734 уникальных IP-адресов 2864 совпали с черными списками (1522 определялись как вредоносные Virus Total, и еще 1069 присутствовали в базе AbuseIPDB).
В ходе бинарного анализа был изучен набор из 6160 исполняемых файлов, и среди них обнаружились 2164 вредоносных образца, размещенных в 1398 репозиториях.
В общей сложности по итогам этой проверки вредоносными были признаны 4893 репозитория из 47 313 протестированных, причем большинство опасных PoC оказались связаны с уязвимостями 2020 года.
Изучив некоторые из этих фальшивых эксплоитов, исследователи обнаружили множество различной малвари и вредоносных скриптов, начиная от троянов удаленного доступа и заканчивая Cobalt Strike.
Так, в одном примере фальшивый PoC для уязвимости CVE-2019-0708, широко известной под названием BlueKeep, содержал обфусцированный base64 Python-скрипт, который извлекал VBScript из Pastebin. Этот скрипт представлял собой Houdini RAT, старый JavaScript-троян, который поддерживает удаленное выполнение команд через командную строку Windows.
В другом случае исследователи обнаружили фальшивый эксплоит, который представлял собой инфостилера, собирающего системную информацию, IP-адрес и user agent из зараженной системы. Так как ранее этот PoC был создан в качестве эксперимента другим исследователем, специалисты сочли, что его обнаружение является подтверждением того, что их подход работает.
Эксперты подытожили, что слепо доверять GitHub-репозиториям не стоит, ведь контент здесь не модерируется. По мнению авторов отчета, всем тестировщиками следует выполнить следующие шаги перед началом работы с эксплоитами:
- внимательно прочитать код, который планируется запустить в своей сети или сети клиента;
- если код серьезно обфусцирован и требует слишком много времени для анализа вручную, следует поместить его в изолированную среду (например, виртуальную машину) и проверить сеть на наличие подозрительного трафика;
- использовать опенсорсные инструменты для анализа, такие как VirusTotal, для проверки двоичных файлов.
Исследователи пишут, что уведомили GitHub обо всех вредоносных репозиториях, но на их проверку и удаление потребуется некоторое время, поэтому пока многие из них по-прежнему доступны всем желающим.