Сбор информации о жертве




Первым делом необходимо удостовериться в том, защищен ли данный бинарный файл каким-либо криптографическим алгоритмом. Алгоритм смог-бы усложнить работу в исследовании бинарного файла. Это возможно проверить с помощью программы-протектора. Это специальное программное обеспечение, которые посредством алгоритмов изменяют внутреннюю составляющую передаваемого файла с надеждой усложнить жизнь атакующему лицу. При этом точна входа бинарного файла может быть скрыта, а попытка использования отладчика приведет к аварийному завершению.

Рисунок 6 – Главное меню Detect It Easy

Для диагностики использовалась программа «Detect It Easy» (Рисунок 6). Программа предоставляет некоторые полезные функции: просмотр импорта, секций, просмотр файла в HEX-режиме, дизассемблер, просмотр основных характеристик исполняемого файла.

По её данным можно убедиться, что в процессе разработки разработчики использование средства «Qt-библиотек» версии 5.9.2.0 которая в дальнейшем была скомпилирована с использованием компилятора Microsoft Visual Studio C++. Qt — кроссплатформенный фреймворк для разработки программного обеспечения на языке программирования C++.

Рисунок 7 – Показатель уровня энтропии

Нажав на кнопку «Entropy», будет видно, что уровень энтропии достигает отметки 6.47 с пометкой «not packed» (программное обеспечение не защищено) (Рисунок 7). Эта новость облегчает работу атакующему, поскольку не придется прибегать к дополнительным мерам в поиске точки входа в программу.

Энтропия в теории информации — мера хаотичности информации, неопределённость появления какого-либо символа первичного алфавита. При отсутствии информационных потерь численно равна количеству информации на символ передаваемого сообщения.

Основная диагностика показала, что исполняемый файл ничем не защищен. Грубая халатность разработчиков растопырила взломщику все пальцы. В его распоряжении имеется клиентское программное обеспечение, изменив которое можно отправить на сторону сервера ложные пакеты. При обработке этих пакетов (в случае если на серверной части не предусмотрены проверки и контроль) это приведет к полному контролю.

Поиск уязвимости

Первостепенная задача, которая на данном этапе стоит перед взломщиком – запретить жертве завершать запущенный вредоносный процесс в операционной система Windows 10.

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

Программное обеспечение «API Monitor» отлично подойдет для точного определения используемой API сигнатуры. Это программа проверяет и показывает API вызовы, сделанные приложениями. Мощное средство для наблюдения за тем как работает Windows и другие приложения, что позволяет отслеживать конфликты и проблемы, которые возникают при работе различных программ.

В поиске использующихся процессов в операционной системе семейства Windows задействованы такие функции как «Process32First», «Process32Next» и многие другие.

Поскольку программа-жертва разработана для 32-битной операционной системы, будет использоваться «API Monitor x32»

Рисунок 8 – Оценка уровня энтропии

Главное меню программы состоит из множества вложенных окон. Основным окном является «API Filter», который позволяет нам определить, какие именно API-функции нам необходимо обнаружить. В стеке этого фильтра перечислено множество компонентов (Рисунок 8). Структура иерархична, каждый компонент соответствует наименованию папки. Для удобного определения можно задействовать комбинацию «CTRL+F» (Рисунок 9).

 

Рисунок 9 – Меню API Filter

В окне «Monitored Processes» нажав на пункт «Monitor Process» и выбрав цель в качестве жертвы, будет произведена диагностика и анализ. После того, как программное обеспечение было запущено, в стеке окна «Monitored Processes» появятся слот главного приложения и его сопровождающее окружение. Нажав на слот «maintenencetool.exe» таблица API вызов будет заполнена большим количеством данных. Каждая строка соответствует конкретному вызову функции в единицу времени.

К сожалению, будет не уместно использовать функцию переборки текущих процессов, ведь комплекс этих процедур вызывается единожды, и только в момент запуска программного обеспечения (для недопущения создания копии запускаемого окна). В нашей ситуации используется некая функция X, которая вызывается циклично с периодом вызова в 5 секунд. Этот механизм логичен, ведь вредоносный процесс может быть запущен в любой момент.

После нескольких часов поиска взгляд пал на API-функцию «EnumWindows» (Рисунок 10). Функция «EnumWindows» перечисляет все окна верхнего уровня, передавая дескриптор каждого окна, в свою очередь, в определяемую программой функцию повторного вызова. Действие «EnumWindows» действует до тех пор, пока последнее окно верхнего уровня не будет перечислено, или пока функция повторного вызова не возвратит значение ложь (false).

Рисунок 10 – Обнаружение API-функции «EnumWindows»

Данная функция вызывается с задержкой в 10 секунд. Именно она отвечает за обнаружение вредоносного для неё процесса. В столбце «Module» указано наименование динамической библиотеки «sko.dll». Исполняемая программа использует её как источник функциональности.

Динамическая библиотека ресурсов и подпрограмм позволяет использовать ранее написанные модули многократно. Файл-библиотека может включать в себя, например, процедуры, иконки. Необходима она для работы операционных систем Windows. Библиотекой в программировании называется сборник программ, к которым можно обращаться при разработке ПО. Набор маленьких программ динамически включается в большую при вызове как составная часть.


На основе проделанного анализа была реализована модель работы системы защиты (Рисунок 11). Имеется бесконечный цикл поиска вредоносного процесса, который исполняется с периодом в 10 секунд. Если процесс был найден, программное обеспечение завершает свою работу.

Рисунок 11 – Схема исполнения поиска вредоносного процесса

Необходимо найти участок исполнения поиска вредоносного процесса. Исполнение не должно исполнять истинное условие «Найден вредоносный процесс?




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: