Эксплойт

Экспло́йт (англ. exploit, эксплуатировать) — компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака).

Классификация

В зависимости от метода получения доступа к уязвимому программному обеспечению эксплойты подразделяются на удалённые (англ. remote) и локальные (англ. local).

  • Удалённый эксплойт работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к уязвимой системе;
  • Локальный эксплойт запускается непосредственно в уязвимой системе, требуя предварительного доступа к ней. Обычно используется для получения взломщиком прав суперпользователя.

Атака эксплойта может быть нацелена на различные компоненты вычислительной системы — серверные приложения, клиентские приложения или модули операционной системы. Для использования серверной уязвимости эксплойту достаточно сформировать и послать серверу запрос, содержащий вредоносный код. Использовать уязвимость клиента немного сложнее — требуется убедить пользователя в необходимости подключения к поддельному серверу (перехода по ссылке в случае если уязвимый клиент является браузером).

Виды эксплойтов

Эксплойты фактически предназначены для выполнения сторонних действий на уязвимой системе и могут быть разделены между собой следующим образом:

  1. Эксплойты для операционных систем.
  2. Эксплойты для прикладного ПО (музыкальные проигрыватели, офисные пакеты и т. д.).
  3. Эксплойты для браузеров (Internet Explorer, Mozilla Firefox, Opera и другие).
  4. Эксплойты для интернет-продуктов (IPB, WordPress, VBulletin, phpBB).
  5. Эксплойты для интернет-сайтов (facebook.com, hi5.com, livejournal.com).
  6. Другие эксплойты.

Pivoting

Под термином pivoting (англ. поворот) понимается метод, используемый тестировщиками компьютерной безопасности при тестах на проникновение,[1] который использует взломанную систему для атаки на другие системы в той же сети, чтобы избежать ограничений, таких как конфигурации брандмауэра, которые могут запрещать прямой доступ ко всем машинам. Например, если злоумышленник взламывает веб-сервер в корпоративной сети, злоумышленник может затем использовать взломанный веб-сервер для атаки других систем в сети. Эти типы атак часто называют многоуровневыми.[2]

Как выглядит эксплойт?

Эксплойт может распространяться в виде исходных текстов, исполняемых модулей или словесного описания использования уязвимости. Он может быть написан на любом языке программирования (наиболее часто использующиеся: C/C++, Perl, Python, PHP, HTML+JavaScript)[3].

Эксплойты могут быть классифицированы также по типу используемой ими уязвимости, такой как: переполнение буфера, внедрение SQL-кода, межсайтовый скриптинг, подделка межсайтовых запросов и т. д.

Актуальность

Информация, полученная в результате обнаружения уязвимости, может быть использована как для написания эксплойта, так и для устранения уязвимости. Поэтому в ней одинаково заинтересованы обе стороны — и взломщик, и производитель взламываемого программного обеспечения. Характер распространения этой информации определяет время, которое требуется разработчику до выпуска заплатки.

После закрытия уязвимости производителем шанс успешного применения эксплойта начинает стремительно уменьшаться. Поэтому особой популярностью среди хакеров пользуются так называемые 0day-эксплойты, использующие недавно появившиеся уязвимости, которые ещё не стали общеизвестны[4].

Связки (набор эксплойтов, exploit kit)

Связки эксплойтов представляют собой пакет эксплойтов сразу под несколько программ (версий) и/или под разные уязвимости в них. В последних версиях связок производится выбор эксплойта именно под конкретную программу пользователя.

В большинстве случаев эксплойт-киты применяются для атак, использующих уязвимости браузеров или их дополнений (частыми целями, к примеру, являются Java, Flash и PDF[5]).

Также существуют наборы локальных эксплойтов для поднятия привилегий в атакованной системе. Фактически подобные наборы тоже являются связками, но в хакерской среде таковыми не считаются и не называются.

См. также

Примечания

  1. Ric Messier. CEH v11 Certified Ethical Hacker Study Guide. — Sybex, 2021.
  2. Metasploit Basics – Part 3: Pivoting and Interfaces. Digital Bond.
  3. ReanimatoR. Что такое эксплоит? (недоступная ссылка). xakepam.ru (22 августа 2008). Дата обращения: 31 августа 2009. Архивировано 8 февраля 2012 года.
  4. Catherine Engelke. What is zero-day exploit? (англ.) (недоступная ссылка). SearchSecurity.com (4 июня 2007). Дата обращения: 31 августа 2009. Архивировано 3 октября 2010 года.
  5. https://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-evolution-of-exploit-kits.pdf

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.