Фахівці Лейденського інституту передових комп’ютерних наук виявили тисячі репозиторіїв GitHub з підробленими експлойтами PoC для різних вразливостей, які поширюють шкідливе ПЗ.
Виявилося, що ймовірність зараження шкідливим ПЗ при завантаженні PoC може досягати 10. 3%, навіть якщо виключити явні збої. Нагадаємо ми також повідомляли, що GitHub вилучив експлойт ProxyLogon і був підданий критиці, а також що хакери використовують підроблені сповіщення CircleCI для доступу до облікових записів GitHub.
GitHub є одним з найбільших сайтів для розміщення коду. Дослідники по всьому світу використовують його для публікації експлойтів PoC, щоб інші члени спільноти могли тестувати патчі, визначати вплив і масштаби помилок у програмах.
Для своїх досліджень фахівці проаналізували понад 47,300 репозиторіїв, що пропонують експлойти для різних вразливостей, виявлених між 2017 і 2021 роками. Для аналізу були використані наступні методи.
- Аналіз IP-адрес. Порівняння IP-адреси автора з публічними блеклистами, а також VirusTotal і AbuseIPDB.
- Бінарний аналіз. Перевірка наданих виконуваних файлів і їх хешів через VirusTotal.
- Розбір шістнадцяткового та Base64 шифрування. Така перевірка спрощує бінарні і IP-перевірки обфускованого коду.
В результаті з 150734 унікальних IP-адрес, 2864 були чорного списку (1522 VirusTotal ідентифікував як зловмисні, ще 1069 були присутні в базі даних AbuseIPDB).
В ході бінарного аналізу був випробуваний набір з 6160 виконуваних файлів, серед яких було знайдено 2164 зловмисних зразків, розташованих в 1398 сховищах. У цьому огляді, в цілому 4,893 з 47,313 протестованих репозитаріїв, були визнані зловмисники, при цьому більшість PoC пов’язані з вразливостями в 2020 році.
Після вивчення деяких з цих експлойтів, дослідники виявили різні скрипти шкідливого програмного забезпечення і шкідливого програмного забезпечення, починаючи від троянів віддаленого доступу до Cobalt Strike.
Наприклад, в одному з прикладів, підроблений PoC для CVE-2019-0708, широко відомий як BlueKeep, містив заплутаний скрипт Python base64, який видобуває VBScript з Pastebin. Таким сценарієм був Houdini RAT, старий троян JavaScript, який підтримує віддалене виконання команд через командний рядок Windows.
В іншому випадку дослідники виявили підроблений експлойт, який був інформаційним стилером, що збирав системну інформацію, IP-адресу, а також інформацію UserAgent з інфікованої системи. Оскільки цей PoC раніше створювався як експеримент іншим дослідником, фахівці вважали його відкриття підтвердженням того, що їх підхід спрацював.
Експерти прийшли до висновку, що не слід сліпо довіряти репозиторіям GitHub, оскільки вміст тут не модерується. Згідно з авторами доповіді, всі тестери повинні виконувати наступні дії перед роботою з експлойтами:
- Уважно прочитайте код, який ви плануєте запустити у вашій мережі або клієнтській мережі;
- Якщо код занадто складний і аналізується вручну занадто довго, слід покласти його в ізольоване середовище (наприклад, віртуальну машину) і перевірити мережу на підозрілий трафік;
- Використовувати інструменти аналізу з відкритим кодом, такі як VirusTotal для тестування бінарних файлів.
Дослідники пишуть, що вони сповістили GitHub про всі зловмисні репозиторії, але для їх перевірки і видалення знадобиться деякий час, тому багато з них все ще доступні всім.