Now Reading
Сегодня речь пройдет о ЭКСПЛОЙТАХ
1880 47
Geek Award

Сегодня речь пройдет о ЭКСПЛОЙТАХ

by Kevin MitnickMarch 15, 2018

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

Существует несколько методов классификации уязвимостей. Наиболее общий — это то, каким образом эксплойт контактирует с уязвимым программным обеспечением. «Удалённый эксплойт» работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к уязвимой системе. «Локальный эксплойт» требует предварительный доступ к уязвимой системе и обычно повышает привилегии для лица, запускающего эксплойт над уровнем, который был предоставлен системным администратором. Эксплойт «подставного сервера» подвергает риску машину конечного пользователя в том случае, когда к нему был совершён доступ с помощью уязвимого клиентского приложения. Эксплойт против клиентского приложения может также требовать некоторого взаимодействия с пользователем уязвимого приложения и может быть использован в связке с методами социального инжиниринга, т.е. несанкционированного доступа к информации без использования технических средств.

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

Другая классификация по действию предпринятому против уязвимой системы: несанкционированный доступ к данным (копирование, удаление или модификация), выполнение кода, отказ в обслуживании.

Эксплойты могут быть разработаны для непосредственного обеспечения суперпользовательского уровня доступа к компьютерной системе. Однако, возможно использовать несколько эксплойтов — первый для получения удаленного доступа с невысоким уровнем, и повторно, для локального повышения привилегий до тех пор, пока не будет получен уровень доступа « 0-дневными эксплойтами» (англ. zero-day, 0-day exploits) и получение доступа к таким эксплойтам — первейшее желание неквалифицированных вредоносных хакеров, так называемых скрипт-кидди.

Теперь поподробнее…

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

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

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

Особо выделю следующий очень часто задаваемый вопрос: “Как запускать сплойт на пёрле? Когда я его запускаю, он у меня сразу вырубается!:((“.

Ответ: Скачиваем Active perl – интерпретатор языка Perl, открываем блокнот, пишем там “cmd”, сохраняем в директорию C:\Perl\bin\ c расширением *.bat

Запускаем.

3. 0-day exploits (англ. zero-day — “0-дневные эксплоиты”) — это свежие эксплоиты под ошибки, для которых еще не существует патчей или исправленных версий программного обеспечения. Обычно, после появления эксплоита, производители программного обеспечения выпускают патч или новую версию программного обеспечения, в которой устраняется уязвимость, используемая эксплоитом, после чего эксплоит считается устаревшим. Изначально 0-day эксплоиты известны лишь небольшой группе хакеров, но, как правило, со временем информация о них становится общедоступной.

4. Private exploits (англ. private — частный, приватный) — это личные эксплоиты. О таких эксплоитах никто ничего не знает, кроме их создателя. Как правило, со временем создатель делает приватный эксплоит 0-day эксплоитом, либо это происходит в результате случайной утечки.

Приватные эксплоиты и 0-day эксплоиты очень ценятся (в том числе в денежном эквиваленте), поэтому за ними особенно охотятся неквалифицированные подростки скрипт-кидди (script-kiddy).

5. Fake exploits (англ. fake — фальшивый, обманный) — это программы, имитирующие эксплоиты, но на самом деле ими не являющиеся. Под такими эксплоитами часто маскируются трояны. После запуска такого “эксплоита”, на машине, где он был запущен, устанавливается потайной ход, а на e-mail создателя фейкового эксплоита отправляется письмо, уведомляющее об этом событии. Фейковые эксплоиты направлены против скрипт-кидди, которые бездумно запускают любой код. Существуют целые группы, которые промышляют продажей таких фейковых эксплоитов, под видом 0-day эксплоитов. Так как эксплоиты используют и администраторы для проверки своих систем, то им не рекомендуется брать эксплоиты из сомнительных источников, либо перед использованием эксплоита нужно внимательно изучить его исходный код. Например, может понадобиться перевести шестнадцатеричные коды шеллкода в их символьные эквиваленты, так как под видом шеллкода часто в фейковых эксплоитах зашифрованы деструктивные команды.

6. Autorooter (от англ. auto — автоматический и root — права системного администратора в UNIX-подобных системах) — это комплекс из одного или множества эксплоитов и других боевых утилит, таких как сканер портов или сканер безопасности. Авторутер может быть выполнен в виде одного файла или множества связанных файлов. Авторутеры специально создаются хакерами для облегчения взлома серверов. Авторутер самостоятельно ищет в сети уязвимые машины, осуществляет их взлом и затем оповещает об этом хозяина авторутера. То есть авторутер осуществляет массовый автоматический взлом в сети, поэтому авторутеры имеют еще одно название — massrooter (англ. mass — массовый). Массрутеры действуют во многом аналогично интернет-червям, но только их действие находится под полным контролем хакера. Публичных массрутеров известно не очень много, но очевидно число их будет расти. Из тех, что доступны в публичных интернет-архивах можно назвать: massroterfinal от Daddy_cad, lpd autorooter от dave, OpenSSL-uzi от Harden и др. Массрутер в руках скрипт-кидди — настоящее бедствие в сети.

Подписывайтесь на канал “Engine.MD” в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах.

What's your reaction?
Love It
0%
Interested
0%
Meh...
0%
What?
0%
Hate It
0%
Sad
0%
About The Author
Kevin Mitnick