Для реализации этой и последующих типов атак мы воспользуемся программой Low Orbit Ion Cannon. LOIC – программа с открытым исходным кодом, предназначенная для осуществления DDoS-атак, написанная на языке программирования C#.
Запускаем программу на компьютерах атакующих (рисунок 57).
Рисунок 57 – Интерфейс программы Low Orbit Ion Cannon
Настраиваем программу следующим образом:
В «1. Select your target» прописываем в нужную строку либо известный адрес
Нажимаем кнопку «Lock on»; В «3. Attack options» выставляем метод HTTP, количество потоков для атаки, убираем галочку «Wait for reply»; в «2. Ready?» нажимаем кнопку «IMMA CHARGIN MAH LAZER».
Во время атаки сервер жертвы получает огромную нагрузку на процессор. Через некоторое время сервер становится недоступным – появляется 503 ошибка (рисунок 58).
Рисунок 58 – ошибка 503
Реализация в LOIC TCP и UDP flood атак выполняется аналогичным образом: в качестве метода в программе выбирается либо TCP-, либо UDP-атака. Конечно, если злоумышленник получит шелл, то он может реализовать атаку типа недостатка ресурсов переполнив процессор ненужными инструкциями или память ненужными вычислениями.
На рисунке 59 показан скриншот из Диспетчера задач атакованного сервера. Видно, что сервер испытал большую нагрузку во время расчетов.
Рисунок 59 – Диспетчер задач атакованного сервера
Атаки на программное обеспечение
Использование IDA Pro в зада
IDA Pro Disassembler (Interactive DisAssembler) – наиболее популярное средство на рынке сегодня. Это интерактивный дизассемблер, широко использующийся для обратной разработки программ позволяющий итеративно исследовать исходный код, пока не станет ясно, что именно и как делает исследуемая программа.
Существует несколько версий IDA Pro – бесплатная (freeware), стандартная (standard) и расширенная (advanced). Бесплатная версия обладает ограниченными возможностями по сравнению со стандартной и расширенной версиями – поддерживается только архитектура x86 и отсутствует поддержка подключаемых модулей.
1 Использование IDA Pro
1.1 Автоматический анализ
После запуска IDA предлагает 3 варианта продолжения: дизассемблировать новый файл (new), продолжить без загрузки файла (go), открыть ранее дизассемблированный файл (previous). Скриншот окна представлен на рисунке 60.
Рисунок 60 – Окно быстрого старта.
Выберем дизассемблирование нового файла. Загрузим на анализ любой exe. Далее появится окно, изображённое на рисунке 61.
Рисунок 61 – Загрузка файла на анализ.
Иногда после компиляции в файле остаётся отладочная информация. Тогда IDA покажет окно, изображённое на рисунке 62 с предложением загрузить отладочную информацию.
Рисунок 62 – Загрузка отладочной информации.
После окончания автоматического анализа IDA покажет графовое представление функции, где находится точка входа (если она найдена), либо первой функции в файле.
Кроме графового представления существует множество других важных вкладок, доступных в меню View-> subviews: шестнадцатеричное представление, список строк в файле, список имён из библиотек или отладочной информации, список импортированных функций и значений с указанием библиотеки.
Кроме того, в IDA существует возможность представить функцию в виде псевдокода, синтаксис которого копирует синтаксис языка программирования Си. Для просмотра функции в виде псевдокода нужно нажать клавишу F5.
1.2 Ручной анализ
Качественное отличие IDA Pro от других дизассемблеров – интерактивность. Пользователь может сам сообщать дизассемблеру дополнительную информацию.
Рассмотрим метод ручного анализа на практике. Часто бывает так, что IDA не может в автоматическом режиме найти функцию main, которая чаще всего является точкой входа. Эта функция принимает два обязательных аргумента: argc (количество аргументов) и argv (список аргументов). То есть можно косвенно предположить что если функция в программе работает с этими аргументами то она и есть main.
Откроем вкладку списка имён. Нажатием Ctrl+F включаем поиск по именам.
С помощью поиска находим имена _argv и _argc. В IDA Pro есть функция просмотра ссылок на объект. Выбираем _argc (или _argv), нажимаем клавишу X. Появляется окно ссылок.
1.3 Отладка
В составе IDA Pro дополнительно есть отладчик. Он позволяет пошагово выполнять программу, исследовать и модифицировать память во время выполнения программы.
Панель запуска отладки находится в верхней части окна, она изображена на рисунке 63. С её помощью можно запустить отладку, приостановить отладку, остановить отладку. Также можно выбрать отладчик (локальная машина, виртуальная машина, удалённая машина).
Рисунок 63 – Панель отладки.
Для исследования программы в нужном месте следует использовать точки остановы (breakpoints). Они устанавливаются с помощью панели, которая находится справа от панели отладки. Панель содержит стандартные функции по работе с точками останова.
При запуске программы она выполнится до точки остановы и будет ожидать дальнейших действий пользователя. Затем программу можно выполнять в таком же режиме (до следующей точки остановы), для этого нужно нажать кнопку запуска отладки. Либо можно исследовать программу, выполняя её пошагово. Для этого существуют команды step into (шаг со входом в функцию, F7) и step over (шаг без входа, F8).
Исследуя код можно заметить, что при некотором условии на экран будет выводиться строка та или иная строка. Также мы знаем, что за сравнения в языке ассемблера отвечает инструкция cmp. IDA позволяет редактировать программу в процессе выполнения. Для этого выбираем нужную часть кода, выбираем Edit -> Patch Program -> Assembly. И пишем нужную часть кода.
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: