ПЗ 8
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА»
(СПБГУТ)
Факультет ИКСС
Кафедра ЗСС
Отчет к
Практическому заданию № 8 по дисциплине:
«Комплексное обеспечение защиты информации объекта информатизации»
Тема: «Программно-аппаратные средства анализа безопасности антивирусной защиты СВТ »
Студенты:
(Ф.И.О., №группы)
Преподаватель: к.т.н. Шемякин С.Н.
(Ф.И.О) (подпись)
Цель работы: приобрести практические навыки анализа безопасности антивирусной защиты СВТ.
Задание: произвести анализ безопасности антивирусной защиты СВТ и изучить механизм атак, используя специализированное программное обеспечение сборки Kali Linux Msfvenom. Ознакомиться с работой интернет-ресурса VirusTotal и изучить работу кодеров, искажающих полезную нагрузку.
Задание на практическую работу
Установить на виртуальную машину операционные системы Windows 7 и Kali Linux
Открыть терминал на Kali Linux
Ознакомьтесь с инструментом msfvenom с помощью команды msfvenom -h
В частности, опция u флагах позволяет использовать исполняемый файл в качестве шаблона, в который можно встроить выбранную полезную нагрузку. Опция Msfvenom's, отмеченная как v, сохранит исполнимый шаблон в целости и выполнит полезную нагрузку в новой ветви процессов, позволяя исходной исполняемой программе работать как обычно.
Используя опции х и k, можно создать троянскую исполнимую пpoгpaммy Windows, которая, не вызывая подозрений пользователя, отправит сессию Meterpreter.
Встроить полезную нагрузку в radmin.exe с помощью следующей команды:
Троян, находящийся в файле должен убедить пользователя, что программа легитимна. Опытные пользователи интересуются целостностью загруженного файла, прежде чем выполнить его, проверяя хеш MD5 по значению, опубликованному поставщиком. Хеш MD5 - своего рода цифровой отпечаток файла: если изменения будут произведены в файле, то хеш MD5 изменится.
Сравним хеши MD5 оригинала radmin.exe с троянской версией с помощью команд:
Выполнив md5sum на обоих двоичных файлах, заметно, что значения хеша существенно отличаются в u и v
Однако алгоритм хеширующего MD5 несовершенен и у измененного файла он может быть тем же самым, как и у исходного файла, благодаря механизму, известному как атака коллизии MD5. Поэтому многие поставщики публикуют также безопасный алгоритм хеша (SHA). Конечно, проверка двух отдельных значений хеша лучше, чем проверка одного MD5. Семейство SHA содержит многократные хеширующие алгоритмы и очень популярно среди поставщиков ПО. Kali поставляется с установленными программами для различных хешей SHA. Например, sha512sиm вычисляет 64-разрядный размер блока SHA 2 хеша:
Устанавливая программное обеспечение, необходимо убедиться, что хеш(и) загруженного файла и его значение(я), опубликованные поставщиком, совпадают.
Установить Microsoft Security Essentials на виртуальную машину с Windows 7
Включить защиту в реальном времени. Для этого откройте Microsoft Security Essentials, выберите вкладку Параметры, выберите защиту. В реальном времени и установите флажок, чтобы включить службу. Щелкните по кнопке сохранить изменения.
Даже свободные антивирусные решения, такие как Microsoft Security Essentials, дают хорошие результаты при обнаружении полезных нагрузок Metasploit. Для реального теста попытайтесь установить trojaned radmin.exe с включенной защитой в реальном времени. В нижнем правом углу раскрывающегося меню экрана видно, что файл автоматически удален прежде, чем пользователь успел выполнить его.
Один из способов увидеть, какие антивирусные решения отметят программу как злонамеренную - загрузить рассматриваемый файл на веб-сайт VirusTotal. На данный момент VirusTotal сканирует загруженные файлы антивирусной программой и базами, которые обнаруживают вредоносное прогаммное обеспечение.
Загрузить radmin.exe на VirusTotal (https://www.virustotal.com/)
Чтобы понять, какие антивирусные программы обнаруживают trojan radmin.exe, загрузите файл на VirusTotal и щелкните по кнопке Choose file, далее выбираем файл radmin.exe и нажимаем Confirm upload. Поскольку антивирусные базы постоянно обновляются, результаты будут отличаться, но, как видно из рисунка сканеры обнаружили злонамеренный файл. VirusTotal использует загруженные файлы совместно с антивирусными поставщиками. Антивирусные компании используют подписи VirusTotal, чтобы улучшить свои механизмы обнаружения. Таким образом, то, что загружается на сайт, может быть поймано антивирусом только потому, что это загружалось.
Кодирование
Кодеры - инструменты, которые позволяют избегать символов в использовании (об этих требованиях можно узнаете больше, при записи собственного ПО, о чем речь пойдет далее). В данный момент Metasploit поддерживает 32 кодера.
Кодеры искажают полезную нагрузку и мешают процессу декодирования, который будет выполняться, чтобы декодировать полезную нагрузку прежде, чем она будет выполнена. Заблуждением является утверждение, что кодеры Metasploit были разработаны в помощь обхода антивирусных программ. Некоторые Metasploit encoders создают полиморфный или видоизменяющий код, который гарантирует, что закодированная полезная нагрузка будет выглядеть по-другому при каждой генерации. Этот процесс делает более трудным распознание алгоритмов для антивирусных поставщиков, но недостаточно обойти сами антивирусные решения.
Чтобы перечислить все кодеры, доступные в Msfvenom, используйте флаг -l encoders, как показано в листинге.
Задайте msfvenom использовать shikata_ga_nai кодер с флагом -е, как показано в листинге.
Загрузите получившийся двоичный файл на VirusTotal.
Антивирусные продукты обнаружили полезную нагрузку даже с использованием кодирования. Это более низкий процент обнаружения, чем был ранее, когда полезная нагрузка встраивалась в предварительно созданной исполнимой программе. Другими словами, shikata_ga_nai одна не добивается цели.
Можно улучшить результаты, экспериментируя с различными наборами кодеров и объединяя больше, чем два кодера в цепочку или комбинируя методы. Например, попробуем встроить полезную нагрузку в двоичный файл и кодировать ее с shikata_ga_nai:
Загружаем полученый файл на virustotal и смотрим на результат
Это дало только небольшое улучшение: полезная нагрузка была обнаружена 52 антивирусной программой. К сожалению, Microsoft Security Essentials отметила обе исполнимые программы как злонамеренные.Следовательно, для обхода антивируса на цели Windows 7 необходимо рассматривать не только кодеры Metasploit.
Для улучшения возможности обхода антивирусных решений самостоятельно, используя данные shellcode, запустим простой шаблон, как показано в листинге. Сохраните этот код в файл и назовите его custommeterpreter.c.
Необходимо заполнить данные для переменных: случайный u и shellcode v и оба -символьные массивы без знака. Если добавить некоторые случайные массивы информации, то при компиляции кода С этого будет достаточно, чтобы обмануть антивирусные программы. Случайная переменная придаст некоторую долю случайности шаблону. Shеllсоdе-переменная будет содержать необработанные шестнадцатеричные байты полезной нагрузки, созданной с Msfvenom. Основная функция w выполняется, когда скомпилированный с помощью С код запускается и выполняет shellcode.
Создайте полезную нагрузку в Msfvenom как обычно, за исключением набора времени с флагом f к с, как показано в листинге. Это создаст шестнадцатеричные байты, которые можно добавить в файл С.
Создаем последовательнос случайных символов с помощью утилиты urandom.Она позволяет создать набор случайных символов в размере который вы сами можете указать.
Полученную последовательность от urandom вставляем вместо переменной u, а вместо v полученные шестнадцатеричные последовательности в “custommeterpreter.c” следующим оброзом.
Сохраняем файл в формате custommeterpreter.c
Установим компилятор Mingw64
Скомпилируем программу на С из пункта 17
Теперь загрузите получающуюся исполнимую программу на VirusTotal. 46 антивирусных продуктов обнаружили злонамеренный файл -это уже лучше, таким способом мы добиваемся наименьшего обнаружения.
Были рассмотрены способы использования Metasploit для кодирования и добавления полезных нагрузок в исполнимые программы. Поскольку этих методов было не достаточно, чтобы уклониться от Microsoft Security Essentials, были опробованы методы вне инструмента Metasploit. После создания пользовательского исполнимого шаблона и с помощью определенной комбинации методов, был достигнут положительный результат.
Санкт-Петербург
2022