Эта программа предназначена для загрузки 32-битного или 64-битного шелл-кода и позволяет выполнять или отлаживать его. Кроме того, он может создавать исполняемые PE-файлы на основе желаемого шеллкода. Это может облегчить тестирование, поскольку выходной двоичный файл может использоваться стандартными инструментами обратного проектирования (например, IDA Pro (даже бесплатным) и отладчиками).
Доступны двоичные файлы релиза. Вы можете просмотреть демо-версию этого инструмента на YouTube.
Эта программа предоставляет несколько вариантов работы с вашим шеллкодом, упорядоченных по их использованию.
Глобальные аргументы
Отладка шеллкода
Создание PE-файла
Единственный обязательный аргумент — указать путь к файлу, содержащему ваш шеллкод. Вы делаете это, используя аргумент -f
. Это будет скопировано в память и выполнено. Кроме того, вы можете использовать аргумент -ep
, чтобы изменить точку входа на X байт. Это позволяет использовать шеллкод, который не начинает выполнение в начале двоичного объекта. Наконец, -bp
определяет, следует ли вставлять точку останова перед шеллкодом. Это будет сделано с помощью байта 0xCC
, который является INT3. Это позволяет запускать программу под отладчиком, соответствующим образом определяя аргументы командной строки. Вставка точки останова позволит отладчику прервать выполнение до выполнения шеллкода. Если вы работаете не под отладчиком, не вставляйте точку останова, так как это приведет к сбою программы.
Вы можете использовать аргумент -pe
для создания PE-файла, который по сути является оболочкой шелл-кода. Шелл-код размещается в разделе .text
. Точка входа определяется как начало раздела, если не используется аргумент -ep
. Этот аргумент будет определять смещение от начала раздела и использоваться для обновления точки входа PE-файла (т. е. поля AddressOfEntry). Кроме того, аргумент -64
можно использовать для создания 64-битного PE-файла, вероятно, для 64-битного шеллкода. Полученный PE-файл можно проанализировать с помощью обычных инструментов обратного проектирования, таких как IDA Pro, Ghidra, или отладчика, такого как x32dbg/WinDbg/и т. д.
Если используется аргумент -d , SCLauncher создаст новый раздел с именем .content и скопирует содержимое файла в этот раздел. Этот раздел будет следовать за разделом .text .
Если у вас есть шеллкод, который еще не находится в двоичном состоянии, вы можете использовать CyberChef для преобразования этого шеллкода и загрузки его в виде файла.
Вот пример шелл-кода из Exploit-DB, который был преобразован в двоичный контент в CyberChef.
Эта программа предназначена для компиляции с помощью компилятора C/C++ от Microsoft. Вы можете использовать Developer Command Prompt
после установки бесплатной/общественной версии для компиляции с помощью cl
. Примером этой команды может быть:
cl sclauncher.c
Это создаст исполняемый файл sclauncher.exe
.