Эксперты Лейденского института передовых компьютерных наук обнаружили на 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 обо всех вредоносных репозиториях, но на их проверку и удаление потребуется некоторое время, поэтому пока многие из них по-прежнему доступны всем желающим.