Что такое эксплоит и с чем его едят?
Дата: 03/09/2006
Тема: Сетевая, компьютерная безопасность


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

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

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

- Эксплоит может представлять из себя архив, чаще с расширениями .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) и не имеющая контрольного терминала. Резидентка, короче.

Источник: www.hackzona.ru





Это статья Информационный проект Ynks.Net
http://www.ynks.net

URL этой статьи:
http://www.ynks.net/modules.php?name=News&file=article&sid=792