Уязвимость, эксплойт, нагрузка
Уязвимость — слабое место в программе. Эксплойт — код, который её использует. Полезная нагрузка (payload) — то, что выполняется после успешной эксплуатации, например открытие доступа к системе.
При чём тут безопасность: фреймворки делают эксплуатацию известных уязвимостей почти автоматической. Непропатченная система становится лёгкой добычей.
Metasploit
Metasploit Framework — самый известный открытый фреймворк. В нём сотни модулей: эксплойты для известных уязвимостей, полезные нагрузки, сканеры, модули для действий после взлома.
Пентестеры используют его, чтобы доказать реальность уязвимости. Защитники — чтобы проверить, что патч действительно закрыл дыру.
Коммерческие фреймворки
Существуют и платные платформы для red team: например, Cobalt Strike. Они позволяют имитировать действия реальных группировок.
Проблема в том, что взломанные и украденные копии таких инструментов активно используют преступники. Поэтому их признаки внесены в системы обнаружения угроз.
CVE — общий язык
Известным уязвимостям присваивают идентификаторы CVE, например CVE-2021-44228 (Log4Shell). Модули фреймворков обычно привязаны к CVE.
Когда публикуется эксплойт для CVE, время до массовых атак сокращается до дней. Поэтому важно быстро ставить исправления для уязвимостей, которые уже эксплуатируются.
Как защищаться
- Своевременно устанавливать обновления, начиная с эксплуатируемых уязвимостей.
- Уменьшать поверхность атаки: закрывать лишние службы.
- Использовать EDR, которое замечает типичное поведение после взлома.
- Проводить тесты на проникновение с этими же инструментами — по договору и в согласованных рамках.
Главное за урок
- Эксплойт использует уязвимость, полезная нагрузка — выполняется после.
- Metasploit — открытый фреймворк; уязвимости идентифицируют через CVE.
- Главная защита — быстро закрывать эксплуатируемые уязвимости.