касперский powershell исполняет обфусцированный код

Обфускация PowerShell

касперский powershell исполняет обфусцированный код. powershell obfuscation. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

Взгляните на эту строку. Что вы здесь видите?

Думаю — ничего. А ведь это всего лишь обфусцированная команда netstat /ano. Сегодня мы попробуем разобраться, как привести команды на PowerShell к такому виду, и протестируем, как на это будут реагировать антивирусное ПО.

PowerShell в пентесте

С помощью PowerShell можно загружать код из интернета (к примеру, с pastebin.com) или файла на ПК и выполнять его. Для этого используется специльный командлет Invoke-Expression. Вот примеры использования.

Можно также использовать кодировку Base64. Для начала необохидмо закодировать команды в Base64.

Есть масса других интересных трюков с PowerShell.

Обфускация PowerShell

Процесс обфускации PowerShell довольно простой, так как это скриптовый язык и работает со строками, а не с исполняемым двоичным кодом. Итак, рассмотрим некоторые методы обфускации PowerShell. Будем рассматривать все на примере данной команды:

Поглядим, что еще можно сделать. URL в нашей команде — это строка. Что можно делать со строками? Совершенно верно — разделять и соединять, а вернее, конкатенировать. Попробуем это применить.

Команда отрабатывает точно так же. А сейчас постараемся объявить в виде переменной часть команды.

Обфускация отлично работает. Идем дальше. DownloadString, наверное, используется хакерами уже сто лет. Спрячем DownloadString и New-Object среди “ и `.

Неплохо спрятали. Почти трудно определить, что это такое.

Что еще можно использовать для загрузки файла или скрипта кроме DownloadString? Конечно! Методы класса Net.Web-Client:

Есть возможность использовать не Web-Client, а другие классы:

Вот пример того, как на деле будет выглядеть одна из команд.

Продолжим со строками. Перевернем команду задом наперед.

Разделим и соединим строку другим способом.

И снова конкатенируем другим способом.

Согласитесь, над командой мы поэкспериментировали неплохо. Рассмотрим теперь другие трюки, которые могут помочь доставить полезную нагрузку с использованием cmd. Есть один очень извращенный способ загрузки удаленных скриптов через блокнот. Подгружаем скрипт File → Open.

касперский powershell исполняет обфусцированный код. powershell script obfuscation 1. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell script obfuscation 1. картинка касперский powershell исполняет обфусцированный код. картинка powershell script obfuscation 1. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Загрузка кода из интернета

И все! Он у нас в блокноте.

Можно ли это как-то автоматизировать и использовать? Конечно! С помощью метода SendKeys объекта WscriptShell, который имитирует нажатие клавиш. Вот пример подобного скрипта с использованием блокнота:

Можно попробовать спрятать аргументы команды в родительском процессе. Интересно, проверяют ли антивирусы их?

А можно ли использовать не командную строку, а что-нибудь другое? Например, в некоторых случаях cmd можно заменить на forfiles. Forfiles — это консольная утилита Windows для операций с файлами.

касперский powershell исполняет обфусцированный код. powershell script obfuscation 3. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell script obfuscation 3. картинка касперский powershell исполняет обфусцированный код. картинка powershell script obfuscation 3. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.Использование Forfiles

Также cmd можно вызывать не напрямую, а через переменную %COMSPEC%. Запутываем PowerShell еще больше! В командах вместо знака — можно использовать знак /. Например, вот так:

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

Автоматизируем обфускацию

Первый инструмент — Invoke-Obfuscation. Это фреймворк для обфускации PowerShell, который использует разные методы, в том числе и перечисленные в предыдущем разделе. Загружаем архив, запускаем PowerShell. Переходим в папку фреймворка, меняем политику исполнения, если надо, и запускаем сам фреймворк.

касперский powershell исполняет обфусцированный код. powershell script obfuscation 4. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell script obfuscation 4. картинка касперский powershell исполняет обфусцированный код. картинка powershell script obfuscation 4. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Фреймворк Invoke-Obfuscation

Для начального ознакомления введите tutorial. Для тестирования будем использовать все ту же команду. Посмотрим необходимые опции и установим нужные (подсвечивается желтым).

Попробуем использовать конкатенацию. Получаем результат и нашу строку.

касперский powershell исполняет обфусцированный код. powershell obfuscation 1. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation 1. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation 1. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Результат обфускации

Также можно закодировать команду в ASCII, HEX, Octal, Binary, SecureString или BXORencoding. Нагрузку возьмем потяжелее. Например, создадим ее с помощью msfvenom.

Попробуем использовать ENCONDING и опцию 6. Получается такая картина.

касперский powershell исполняет обфусцированный код. powershell obfuscation 2. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation 2. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation 2. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Результат обфускации полезной нагрузки

Можно использовать вместе конкатенацию, encoding и compress. Попробуйте поиграться с разными вариантами и комбинациями.

DOSfuscation

Следующий инструмент того же автора — Invoke-DOSfuscation. Скачиваем его, запускаем PowerShell и вводим в папке фреймворка команды

касперский powershell исполняет обфусцированный код. powershell obfuscation 3. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation 3. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation 3. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Invoke-DOSfuscation

Попробуем обфусцировать ту же полезную нагрузку авторства msfvenom. Установим нужные опции и используем начальную обфускацию.

Получаем нашу замаскированную полезную нагрузку.

касперский powershell исполняет обфусцированный код. powershell obfuscation 4. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation 4. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation 4. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса. Результат обфускации с помощью Invoke-DOSfuscation

Реакция антивирусов

Пришло время проверить, как реагируют антивирусы на нашу нагрузку с обфускацией и без. Для эксперимента будем использовать три антивируса: Kaspersky, Eset NOD32, Windows Defender.

Первым в бой идет Kaspersky. Проверяем нашу полезную нагрузку msfvenom в первоначальном виде. KAV даже не дал перейти по ссылке для скачивания файла xaker.ps1!

касперский powershell исполняет обфусцированный код. powershell obfuscation 5. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-powershell obfuscation 5. картинка касперский powershell исполняет обфусцированный код. картинка powershell obfuscation 5. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

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

Переходим к Eset NOD32 и проверяем файлы в том же порядке. Удивительно, но он не заметил даже необфусцированный файл.

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

Выводы

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

Доработать обфускацию вы можете сами и, комбинируя разные варианты, сделать так, чтобы антивирус точно не распознал поведение. Попробуйте все методы и затем комбинируйте ручную обфускацию, способы спрятать нагрузку и рассмотренные фреймворки на модели целевой машины. В конце концов, все ограничено только вашей фантазией!

Источник

Вирус (Возможно) использует PowerShell

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Похожий контент

касперский powershell исполняет обфусцированный код. imported photo 62471.thumb.jpeg.72cfbcbb3c666d15e1dde08b32b1961b. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-imported photo 62471.thumb.jpeg.72cfbcbb3c666d15e1dde08b32b1961b. картинка касперский powershell исполняет обфусцированный код. картинка imported photo 62471.thumb.jpeg.72cfbcbb3c666d15e1dde08b32b1961b. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

В защитнике Вигдовс в списке «разрешенные» трояны Trojan:script/Wacatac.B1ml, Trojan:win32/Wacatac.B1ml, Trojan:script/Casur.A!cl, никакие антивирусы их не видят.

При борьбе с вирусом в соседнем разделе (https://forum.kasperskyclub.ru/topic/83139-winmonsys-windefenderexe-csrss) пришли к выводу, что необходимо установить хотфиксы для успешного излечения. Однако, служба Центра обновлений Windows отсутствует в списке служб, а при попытке включить центр обновлений windows через панель управления, выскакивает ошибка: Центр обновлений Windows в настоящее время не может выполнить поиск обновлений, поскольку эта служба не запущена. При попытке установить скачанные хотфиксы выскаивает ошибка 0х80070424.

После Repair с помощью Tweaking и перезагрузки в безопасный режим служба всё-таки появилась в списке, но отсутствует возможность ее запустить или же остановить, статус отключена. При попытке попробовать поставить тип запуска исполняемого на «Автоматический» выскакивает ошибка:

Не удалось сбросить флажок отложенного автоматического запуска. Ошибка 1072: Данная служба была отмечена для удаления.

Источник

О`б’фу’ска””ция PowerShell. Как спрятать полезную нагрузку от глаз антивируса

касперский powershell исполняет обфусцированный код. pacman h. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-pacman h. картинка касперский powershell исполняет обфусцированный код. картинка pacman h. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

Содержание статьи

Посмотри на эту строку. Что ты здесь видишь?

Полагаю — ничего. А ведь это всего лишь команда netstat /ano после обфускации. В этой статье мы постараемся разобраться, как привести команды на PowerShell к такому виду, и проверим, как на это среагируют антивирусы.

WARNING

Распространение вредоносного ПО преследуется по закону. Все рассмотренные методы представлены в ознакомительных целях.

PowerShell в хакинге

Также можно использовать кодировку Base64. Для начала следует закодировать команды в Base64.

Есть куча других трюков с PowerShell. Для знакомства с основами и выбора инструментария рекомендую прочитать статью Алексея Панкратова «Выбираем среду разработки на PowerShell и пишем скрипты для Windows».

Обфускация PowerShell. Прятки с антивирусом

Процесс обфускации PowerShell не такой уж и сложный, так как это скриптовый язык и мы работаем со строками, а не с исполняемым двоичным кодом. Пройдемся по некоторым методам обфускации. Будем рассматривать все на примере этой команды:

Обфускация — один из популярных методов обхода сигнатурного анализа.

Посмотрим, что можно сделать еще. URL в нашей команде — это строка. Что можно делать со строками? Правильно — разделять и властвовать соединять, а вернее, конкатенировать. Попробуем это использовать.

Команда отрабатывает точно так же. Теперь попробуем часть команды объявить в виде переменной.

Неплохо замаскировали. Почти непонятно, что это на самом деле.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Источник

Стеганография в атаках на промышленные предприятия (обновлено)

Эксперты Kaspersky ICS CERT выявили серию атак на организации, расположенные в различных странах. На начало мая 2020 года известны случаи атак на системы в Японии, Италии, Германии и Великобритании. До 50% целей атакующих приходится на организации, относящиеся к различным отраслям промышленности. Среди жертв атак оказались в том числе поставщики оборудования и программного обеспечения для промышленных предприятий. Злоумышленники используют вредоносные документы Microsoft Office, PowerShell скрипты, а также различные техники затруднения детектирования и анализа вредоносного ПО.

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

В результате на компьютеры жертв устанавливается банковские троянцы семейства Bebloh (Shiotob, URLZone) и Ursnif (Gozi, ISFB).

Технические подробности

Злоумышленники присылают жертве фишинговое письмо с просьбой срочно открыть прикреплённый документ.

Документ Excel, прикреплённый к письму, содержит вредоносный скрипт-макрос (вердикт Trojan.MSExcel.Agent.be). После открытия документа пользователь видит сообщение с просьбой включить исполнение содержимого документа. В случае если пользователь согласится это сделать, вредоносный макрос будет выполнен.

Основная задача макроса заключается в расшифровке и запуске PowerShell скрипта. Запуск скрипта производится со следующими параметрами:

-ExecutionPolicy ByPass,
-WindowStyle Hidden,
-NoProfile,

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

Запускаемый PowerShell скрипт (вердикт HEUR:Trojan.PowerShell.Generic) случайно выбирает один из записанных в нём URL адресов, которые указывают на публичные веб-хостинги изображений imgur.com и imgbox.com, загружает изображение, расположенное по ссылке, и начинает процедуру извлечения данных.

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

Извлечённые из изображения данные последовательно закодированы алгоритмом Base64, зашифрованы алгоритмом AES и снова закодированы Base64. Примечательно, что в качестве ключа расшифровки используется текст исключения (exception), и для этого код скрипта намеренно содержит ошибку. При этом текст исключения будет зависеть от локализации операционной системы – по всей видимости, вредоносный скрипт в каждой конкретной атаке готовится злоумышленниками для жертв из определённой страны.

Расшифрованные и раскодированные данные представляют собой ещё один PowerShell-скрипт, который запускается на выполнение.

Второй PowerShell скрипт тоже декодирует часть своего содержимого при помощи Base64, после чего распаковывает полученный буфер с данными при помощи алгоритма Deflate. В результате вредоносная программа получает ещё один PowerShell скрипт – в данном случае обфусцированный экземпляр вредоносной программы семейства Bebloh (Shiotob, URLZone). В других случаях злоумышленники использовали троянцев семейства Ursnif (Gozi, ISFB).

Семейство Bebloh/Shiotob известно с 2009 года. Троянцы этого семейства крадут пароли от FTP-клиентов и электронной почты, а также «прослушивают» интернет-трафик браузеров, чтобы украсть данные для авторизации на различных сайтах. Семейство Ursnif обладает более расширенной функциональностью, его новейшие версии включают в себя обновленные модули для кражи данных, в том числе кошельков для криптовалюты.

Заключение

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

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

Вторая интересная особенность найденного вредоносного ПО – использование текста исключения (exception) в качестве ключа для шифрования полезной нагрузки вредоносной программы. Такая техника может помочь вредоносной программе избежать детектирования в системах автоматического анализа класса Sandbox, а также серьёзно усложнит задачу выявления функциональности программы для аналитика, в том случае, если специалисту не известно, какой языковой пакет использовался на компьютере жертвы.

Во всех выявленных случаях вредоносное ПО было заблокировано антивирусными решениями «Лаборатории Касперского».

Если вы столкнулись с подобной атакой, вы можете сообщить нам об этом, воспользовавшись специальной формой на нашем веб-сайте.

Источник

Обфускация как метод защиты программного обеспечения

касперский powershell исполняет обфусцированный код. image loader. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-image loader. картинка касперский powershell исполняет обфусцированный код. картинка image loader. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

Или то, почему вы не можете издать свою улучшенную версию Counter Strike и уехать жить на Гавайи.

О чём речь?

касперский powershell исполняет обфусцированный код. 8368c21be891988223f288826a60d80e. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-8368c21be891988223f288826a60d80e. картинка касперский powershell исполняет обфусцированный код. картинка 8368c21be891988223f288826a60d80e. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.Красивый пример из Википедии кода, прошедшего обфускацию.

Далее в программе

Как это должно работать?

Состояние дел сейчас

Зачем это нужно?

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

Как это должно работать?

Как понятно из вышесказанного, методы обфускации должны усложнить код, преобразовав его таким образом, чтобы скрыть от третьих лиц логику его работы.

Как это работает

Большинство методов обфускации преобразуют следующие аспектов кода:

• Данные: делают элементы кода похожими на то, чем они не являются

• Поток кода: выставляют исполняемую логику программы абсурдной или даже недетерминированной

• Структура формата: применяют различное форматирование данных, переименование идентификаторов, удаление комментариев кода и т.д.

Инструменты обфускации могут работать как с source или байт кодом, так и с бинарным, однако обфускация двоичных файлов сложнее, и должна варьироваться в зависимости от архитектуры системы.

При обфускации кода, важно правильно оценить, какие части когда можно эффективно запутать. Следует избегать обфускации кода, критичного относительно производительности.

Методы

касперский powershell исполняет обфусцированный код. 3d7fca8e9b34526e1ef24feb33686942. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-3d7fca8e9b34526e1ef24feb33686942. картинка касперский powershell исполняет обфусцированный код. картинка 3d7fca8e9b34526e1ef24feb33686942. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

1. Преобразование данных

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

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

2. Обфускация потока управления кодом

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

3. Обфускация адресов

Данный метод изменяет структура хранения данных, так чтобы усложнить их использование. Например алгоритм, может выбирать случайными адреса данных в памяти, а также относительные расстояния между различными элементами данных. Данный подход примечателен тем, что даже если злоумышленник и сможет «декодировать» данные, используемые приложением на каком-то конкретном устройстве, то на других устройствах он всё равно не сможет воспроизвести свой успех.

4. Регулярное обновление кода

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

5. Обфускация инструкций ассемблера

Преобразование и изменение ассемблерного когда также может затруднить процесс обратного инжиниринга. Одним из таких методов является использование перекрывающихся инструкций (jump-in-a-middle), в результате чего дизассемблер может произвести неправильный вывод. Ассемблерный код также может быть усилен против проникновения за счёт включения бесполезных управляющих операторов и прочего мусорного кода.

6. Обфускация отладочной информации

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

Заключение

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

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

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

касперский powershell исполняет обфусцированный код. 7b2704ddc932d7ae58ca0c6502236447. касперский powershell исполняет обфусцированный код фото. касперский powershell исполняет обфусцированный код-7b2704ddc932d7ae58ca0c6502236447. картинка касперский powershell исполняет обфусцированный код. картинка 7b2704ddc932d7ae58ca0c6502236447. В антивирусных базах есть миллионы сигнатур, но троянские программы по-прежнему имеются в арсенале у хакеров. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут быть незамеченными. Как такое может быть? Благодаря обфускации! Даже скрипт PowerShell можно спрятать от антивируса.

Ссылки и источники

[3] Barak B., Goldreich O., Impagliazzo R., Rudich S., Sahai A., Vadhan S. and Yang K. «On the (im) possibility of obfuscating programs.» CRYPTO 2001.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *