Эксплойт

Материал из Hack Wiki

Перейти к: навигация, поиск

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


Содержание

[править] Классификация

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

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

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

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

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


[править] Актуальность

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

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


[править] Связки

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


[править] См. также

[Шелл-код]


[править] Что такое эксплоит и с чем его едят?

Многих людей интересует вопрос: «Что же такое эксплоит»? В этой статье я постараюсь дать максимально развернутый ответ на него. Итак:

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

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

- Эксплоит может представлять из себя архив, чаще с расширениями .tar или .tar.gz, потому как большинство из них пишутся под UNIX системы. В этих архивах может лежать что угодно:

  • те же .pl файлы
  • скрипт или исходник на C, Java? etc
  • просто описание "хитрого обращения"
  • etc


[править] Алгоритм действия

  • Сканируем хост (желательно сканировать с использованием nmap)
  • Смотрим открытые порты и что на них висит
  • Телнетимся на открытые порты и узнаем версии демонов
  • Находим дырявый демон
  • Ищем эксплоит
  • Засылаем его на shell-account в лине
  • Компилируем его
  • Запускаем эксплоит


[править] Поиск эксплоита

Предположим, что мы узнали, что какой-то демон дырявый. Срочно бежим в bugtrack's и архивы уязвимостей и находим эксплоит.

Ищем сплоит либо по версии демона либо по версии операционной системы.

shell-account

Варианты:

1. У вас есть шелл (не рассматривается - переходите к следующему заголовку) 2. У вас нет шелла и вы хотите его поиметь

Действия:

- Можно использовать халявный шелл (однако у них отключены многие нужные вещи )

3. У вас есть собственный UNIX (переходи к следующему заголовку)


[править] Компиляция

Допустим, мы нашли нужный нам сплоит на C. Большинство эксплоитов пишутся именно на этом языке программирования.

gcc file.c -o file - Скомпилировать C код и получить при выходе бинарник file

Если у тебя архив, то раскрываем: tar -xvzf pack.tgz cd [имя каталога] ./configure make make install

Возможно, придется почитать Readme File перед установкой, если это специфичный эксплоит.


[править] Запуск эксплоита

Если эксплоит на Perl, тогда для запуска используется команда

perl exploit.pl [parameters|flags] Если эксплоит на C, то $./sploit [parameters]

Каждый эксплоит подразумевает вставку своих параметров, о назначении которых обычно сообщает сам при запуске.

Проблеммы на халявных шеллах

На бесплатных шеллах часто встречаются следующие проблеммы:

- недостаточно прав - не возможно подключить .h библиотеки (которые используют все эксплоиты)

Появление этих проблем не удивительно. Если бы администраторы разрешили все функции шелла, то тогда это был бы не бесплатный сервис для знакомства с UNIX системой а плацдарм для массированных атак на сервера. Надеюсь, теперь проблем у вас с этим не будет.


[править] Несколько пояснений

1. Что такое shell?

Дословно shell переводится как "оболочка". Это программа, которая принимает команды юзера из командной строки, преобразует их в понятную для операционки форму и выводит ответ операционки в понятной для юзера форме . Другое название shell - командный интерпретатор. Вот несколько наиболее юзабельных shell'ов: bash, sh, csh, tcsh, psh. Отличаются они тем, что у каждой shell свой язык для написания скриптов (у родственных шеллов они почти одинаковые, как у bash и sh).

Еще они отличаются по функциональности: некоторые позволяют редактировать вид командной строки. Почти у каждого шелла есть свои встроенные переменные. Если не знаешь, какой у тебя шелл, вводи команду echo $SHELL. Если хочешь поменять свой дефолтовый шелл, вводи команду chsh.

2. Что такое демон (daemon)?

Демоном называется программа, работающая в фоновом режиме (background) и не имеющая контрольного терминала. Резидентка, короче :0).

Автор Nord


tzZX6j <a href="http://revksdyesdvq.com/">revksdyesdvq</a>, [url=http://cfkxtnskjdfh.com/]cfkxtnskjdfh[/url], [link=http://edgiillgebsn.com/]edgiillgebsn[/link], http://hrihykbmlmkh.com/

[править] Примечания

  1. ↑ ReanimatoR. Что такое эксплоит? (рус.). xakepam.ru (22 августа 2008). 
  2. ↑ Catherine Engelke. What is zero-day exploit? (англ.).Проверено 31 августа 2009.


[править] Ссылки

   * Mik. Сетевые эксплойты (рус.). netsecret.by