Эсплоиты, использующие уязвимые места программного обеспечения
Существует много эксплоитов, наиболее известными из которых являются следующие.
- Эксплоиты ошибок конфигурации. Используют недостатки в системе управления привилегиями и/или уязвимые или раскрытые идентификаторы и пароли, позволяющие осуществлять прямую атаку, вход и дальнейшие действия. Если хакер добыл нужную информацию с помощью разведки, он выполнит направленный эксплоит и проникнет в систему.
- Вредоносные эксплоиты. Размещают на сервере сторонний код, позволяющий похитить, изменить, осуществить или перехватить управление системой с помощью следующих подходов.
- Заражение. Представляет собой атаку вредоносным кодом в форме вируса или червя, который проникает в сеть системы-жертвы с помощью внутренних пользователей (через исполняемый файл на диске, сообщение электронной почты или браузер) и быстро распространяется на большое число компьютеров произвольным образом.
- Дефект (баг). Ошибки в программном обеспечении жертвы, демонстрационные сценарии или апплеты CGI/Java, предоставляющие возможность переполнения буфера, с помощью которых выполняется вредоносная программа с необходимыми привилегиями для несанкционированного доступа или повреждения системы.
- Троянский конь. Программа, преодолевающая периметровую систему безопасности и защиту веб-сервера, как правило, через электронную почту (или через обмен файлами между пользователями), создающая "дыру" в безопасности системы для беспрепятственного доступа к системе.
- Распределенные эксплоиты. Действуют на одном или нескольких компьютерах, используемых хакерами для осуществления атак на стороннюю цель. Эти эксплоиты сильно затрудняют идентификацию истинного источника атаки.
Эксплоиты, использующие ошибки в конфигурации, требуют от хакера много времени и усилий для поиска ошибок и последующего проникновения в систему. Эксплоиты других категорий требуют от него большей сообразительности и находчивости. За исключением случая, когда хакер просто повторно использует существующую программу-эксплоит, ему требуется написать некоторый код и разработать схему его доставки. Но, опять-таки, с помощью набора хакерских средств программист довольно просто скомпилирует атакующую программу и выполнит эксплоит. Другое дело – распределенные эскплоиты. Их использование требует тщательнейшего планирования и подготовки, но это компенсируется тем, что таким атакам, как правило, очень трудно противостоять.