Что такое Exploit.

Что такое Exploit.

@Garant_Copy


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


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


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


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


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

Report Page