
uma ferramenta de monitoramento de alterações em JavaScript para bug bounties
JSMon - Monitor de Mudanças JavaScript para Bug Bounty
Usando este script, você pode configurar vários arquivos JavaScript de sites que deseja monitorar. Cada vez que o script é executado, esses arquivos são baixados e comparados com a versão baixada anteriormente. Se houver alterações, você receberá uma notificação via Telegram com uma mensagem contendo um link para o script, os tamanhos dos arquivos alterados e um arquivo diff para inspecionar as mudanças facilmente.


Para instalar o JSMon:
git clone https://github.com/robre/jsmon.git
cd jsmon
python setup.py install
Você precisa configurar seu token do Slack ou Telegram no Ambiente, por exemplo criando um arquivo .env:
touch .env
Com o seguinte conteúdo:
JSMON_NOTIFY_TELEGRAM=True
JSMON_TELEGRAM_TOKEN=YOUR TELEGRAM TOKEN
JSMON_TELEGRAM_CHAT_ID=YOUR TELEGRAM CHAT ID
#JSMON_NOTIFY_SLACK=True
#JSMON_SLACK_TOKEN=sometoken
#JSMON_SLACK_CHANNEL_ID=somechannel
Para ativar o Slack, descomente as linhas do Slack no arquivo .env e adicione seu token.
Para criar um cron script e executar o JSMon regularmente:
crontab -e
crie uma entrada como esta:
@daily /path/to/jsmon.sh
Note que você deve executar o arquivo .sh, caso contrário o ambiente será desconfigurado.
Isso executará o JSMon uma vez por dia, à meia-noite.
Você pode alterar @daily para o agendamento que preferir.
Para configurar notificações do Telegram, você precisa adicionar sua chave da API do Telegram e o chat_id no código, no início do arquivo jsmon.py. Você pode ler como obter esses valores aqui.
Nota: para suporte ao Slack, você precisa configurar corretamente seu aplicativo Slack e usar o token OAuth do Slack. O aplicativo precisa ter permissões de upload de arquivos e estar no canal desejado. Por fim, você precisa começar com alguns alvos que deseja monitorar. Vamos criar um exemplo:
echo "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js" >> targets/cdnjs-example
Tudo pronto! Agora você pode executar python jsmon.py para baixar os arquivos especificados pela primeira vez!
Forneça endpoints através de arquivos no diretório targets/ (endpoints separados por linha)
Cada endpoint é baixado e armazenado em downloads/ com seu hash como nome do arquivo (primeiros 10 caracteres do hash md5)
jsmon.json mantém o registro de quais endpoints estão associados a quais hashes de arquivo
O jsmon foi desenvolvido para monitorar arquivos JavaScript de sites, mas pode ser usado para qualquer tipo de arquivo ao adicionar endpoints
@r0bre - Principal
@Yassineaboukir - Notificações Slack