V-zlom.ru » Дополнительно » Что такое эксплойт?

Что такое эксплойт?

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

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

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

- Эксплоит может представлять из себя архив, чаще с расширениями .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 flags
Если эксплоит на C, то
$./sploit [parameters]

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

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

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

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

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

Несколько пояснений:

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

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

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

  • Автор: kennen
  • Комментарии: 0
  • Просмотры: 1661
0

Добавить комментарий

Вы не авторизованы и вам запрещено писать комментарии. Для расширенных возможностей зарегистрируйтесь!