Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
shellen — :cherry_blossom: Интерактивная среда шеллкодинга для лёгкого создания шеллкодов | Kitploit
Инструменты/GitHubGitHub/konatabrk/shellen
ЭксплуатацияОбратная инженерияШелл-кодCTFАнализ Бинарных ФайловОбучение и ОбразованиеГенерация ШеллкодаРазработка Полезной Нагрузки
GitHubkonatabrk/shellen

shellen

🌸 Интерактивная среда шеллкодинга для лёгкого создания шеллкодов

Репозиторий
907935 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Shellen

Общие сведения

Shellen — это интерактивная среда для написания шеллкодов. Если вам нужен удобный инструмент для написания шеллкодов, то shellen может стать вашим другом. Shellen также можно использовать как инструмент ассемблирования или дизассемблирования.

Для всех операций shellen используются движки keystone и capstone.

Shellen работает только на python3. Поддержка python2 может появиться в будущем.

Установка

Сначала следует установить зависимости shellen:

root@kitploit:~
$ sudo apt-get install cmake python3-dev python3-setuptools

Стабильную версию shellen можно установить с помощью pip3:

root@kitploit:~
$ sudo pip3 install shellen

Или, если у вас уже есть все необходимые пакеты (см. Требования):

root@kitploit:~
$ python3 setup.py install

Если у вас возникли проблемы с установкой keystone-engine, вам следует скомпилировать keystone-engine (см. файл COMPILE.md в репозитории keystone)

Как запустить Shellen

После установки shellen и необходимых пакетов вы можете запустить shellen, введя в терминале следующее:

root@kitploit:~
$ shellen

Вы можете выполнить команду help, чтобы получить информацию об использовании shellen.

Возможности Shellen

Shellen ассемблирует и дизассемблирует инструкции, поэтому существует два режима использования: asm и dsm соответственно. Есть и другие возможности, включая поиск по таблицам системных вызовов и поиск распространённых шеллкодов.

Приглашение

У shellen есть удобное приглашение, которое отображает текущий режим, ОС (операционную систему для системных вызовов) и выбранную для текущего режима архитектуру. Приглашение shellen выглядит так:

root@kitploit:~
L:asm:x86_32 >

Вы можете редактировать ввод, как при наборе текста в терминале. Кроме того, shellen сохраняет историю ваших команд (просто нажмите стрелку вверх, чтобы увидеть предыдущие команды).

L — это сокращённое название Linux в приглашении. Ниже перечислены все остальные названия ОС:

  • L — это Linux
  • W — это Windows
  • M — это MacOS

Если вы хотите сменить ОС, введите setos [linux/windows/macos] следующим образом:

root@kitploit:~
L:asm:x86_32 > setos windows

[+] OS changed to windows.

Чтобы сменить текущий режим, введите asm или dsm в приглашении.

root@kitploit:~
L:dsm:arm32 > asm

[+] Changed to asm (assembly) mode

L:asm:x86_32 > dsm

[+] Changed to dsm (disassembly) mode

L:dsm:arm32 > 

Базовые команды

КомандаОписание
clearОчищает экран терминала. Как обычно, cls в Windows или clear в *nix-системах.
help

Ассемблирование

Чтобы ассемблировать инструкции, введите их и разделите точками с запятой, как показано здесь:

root@kitploit:~
L:asm:x86_32 > mov edx, eax; xor eax, eax; inc edx; int 80;
   [+] Bytes count: 7
       Raw bytes:  "\x89\xc2\x31\xc0\x42\xcd\x50"
       Hex string: "89c231c042cd50"

Если ассемблированные байты содержат нулевой байт, shellen сообщит вам об этом.

Дизассемблирование

Дизассемблирование похоже на ассемблирование. Только вместо этого введите байты в приглашении и посмотрите результат!

root@kitploit:~
L:dsm:x86_32 > 89c231c042cd50
        0x00080000:     mov     edx, eax
        0x00080002:     xor     eax, eax
        0x00080004:     inc     edx
        0x00080005:     int     0x50

Запуск шеллкода

Кроме того, вы можете запустить свой шеллкод в дочернем процессе. Имейте в виду, что это может навредить вашей системе!. Переход к последнему шеллкоду в дочернем процессе. Что может пойти не так?' Обратите внимание, что у вас нет контроля над базовым адресом, по которому загружается ваш код, и это предполагает, что инструкции будут понятны вашему процессору. Чтобы узнать, как этим пользоваться, см. help внутри shellen.

Я планирую запускать дочерний процесс в некой виртуальной среде, чтобы сделать запуск потенциально опасного шеллкода более безопасным.

Архитектуры

Режимы asm и dsm работают для различных архитектур. Чтобы увидеть список доступных архитектур для текущего режима shellen, введите:

root@kitploit:~
L:dsm:x86_32 > archs
┌────────┬────────┬─────────┬─────────┬────────┐
│        │        │         │         │        │
│ arm32  │ mips32 │ sparc32 │ systemz │ x86_16 │
│ arm64  │ mips64 │ sparc64 │         │ x86_32 │
│ arm_tb │        │         │         │ x86_64 │
└────────┴────────┴─────────┴─────────┴────────┘

Если вы хотите сменить текущую архитектуру, введите следующее:

root@kitploit:~
L:dsm:x86_32 > setarch arm32

[+] Architecture of dsm changed to arm32

Системные вызовы

При создании шеллкода вам понадобятся системные вызовы. Чтобы найти системные вызовы с помощью shellen, введите sys и имя нужного системного вызова. Shellen выведет список системных вызовов, который может содержать искомый вами системный вызов.

root@kitploit:~
L:asm:x86_32 > sys open

┌────────┬───────┬──────────────────────┬──────────────────────┬──────────────┬──────────────┐
│ name   │ eax   │ ebx                  │ ecx                  │ edx          │ esi          │
├────────┼───────┼──────────────────────┼──────────────────────┼──────────────┼──────────────┤
│ open   │ 0x05  │ const char *filename │ int flags            │ umode_t mode │ -            │
│ openat │ 0x127 │ int dfd              │ const char *filename │ int flags    │ umode_t mode │
└────────┴───────┴──────────────────────┴──────────────────────┴──────────────┴──────────────┘

sys выводит список возможных вариантов для указанного системного вызова. Таблица системных вызовов, по которой выполняет поиск shellen, зависит от выбранной архитектуры и операционной системы (ОС). В данном случае архитектура — x86_32, а ОС — Linux.

Распространённые шеллкоды

Shellen может показать вам список распространённых шеллкодов в зависимости от вашего ключевого слова. Поиск по ключевым словам в shellen использует API shell-storm.org (спасибо автору!) и может использоваться так:

root@kitploit:~
L:asm:x86_32 > shell <keyword> <count>

Обратите внимание, параметр count не является обязательным. Изображение вывода shell <keyword> <count> находится в разделе Скриншоты.

Поддерживаемые операционные системы

В настоящее время shellen поддерживается только в Linux. Если вы хотите добавить функциональность для Windows или MacOS, напишите issue, и я добавлю поддержку.

Как сообщить о проблемах или запросить новые функции

Если вы нашли проблему/баг или что-то подобное, напишите issue об этой проблеме. Кроме того, если вы считаете, что какая-то функция станет хорошим дополнением к shellen, сделайте то же самое — напишите issue, и я постараюсь добавить запрошенную вами функцию.

Требования

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

TODO

  • Ассемблирование
  • Дизассемблирование
  • Списки системных вызовов
  • База данных распространённых шеллкодов
  • Добавить конструктор ROP
  • Добавить редактирование ассемблерного кода в несколько строк
  • Отдельные истории для режимов asm и dsm
  • Виртуальная среда для запуска шеллкодов

Скриншоты

Просто небольшая подборка скриншотов. (Они устарели из-за добавления различных функций)





Скачать инструмент
Показывает справочное сообщение.
quit,q,exitЗавершает текущий сеанс и выходит