XSS Catcher
Uma framework de detecção de XSS cego e captura de dados XSS que roda em Flask, VueJS e PostgreSQL.
XSS Catcher é uma ferramenta intuitiva que automatiza ataques de Cross-Site Scripting (XSS) cego e coleta de dados, incluindo capturas de tela. Conta com um gerador de payloads fácil de usar para criar payloads XSS personalizáveis e oferece funcionalidades como notificações via webhook e e-mail, autenticação multifator e acesso multiusuário. Projetado para ser direto, integra-se facilmente com plataformas como Slack e Discord, captura dados abrangentes, incluindo cookies, armazenamento local e armazenamento de sessão, e fornece insights detalhados como cabeçalhos HTTP e snapshots do DOM. Além disso, suporta chaves de API para automação avançada, simplificando os testes de XSS e tornando cenários de ataque complexos mais acessíveis e gerenciáveis.
Funcionalidades •
Instalação •
Atualização •
Primeiro login •
Documentação da API •
Demonstração •
Solução de problemas •
Créditos

Funcionalidades
- Gere payloads XSS simples e personalizáveis com um gerador de payloads fácil de usar
- Envie notificações quando um novo XSS for capturado usando webhooks (Slack, Discord ou formato de automação) e e-mail
- O e-mail ou webhook de destino pode ser configurado globalmente e por cliente
- Multiusuário com administrador e usuários de baixo privilégio
- Autenticação multifator com TOTP
- Permite captura de cookies, armazenamento local, armazenamento de sessão e mais
- Armazena informações adicionais sobre o XSS, como cabeçalhos HTTP, endereço IP de origem, timestamp, etc.
- Funciona como um endpoint "catch-all". Basta enviar seus dados na querystring (GET) ou no corpo (POST) para a URL do seu cliente e o XSS Catcher irá capturá-los!
- Utiliza html2canvas e fingerprintjs
- Captura o DOM completo para que você saiba facilmente onde o payload foi acionado
- Permite adicionar tags personalizadas aos seus XSS para melhor categorizá-los e pesquisá-los
- Permite executar código JavaScript personalizado e capturar a saída
- Suporte a até 5 chaves de API por usuário para automatizar cenários de ataque avançados quando combinado com webhooks
Instalação
A maneira mais fácil de executar o XSS Catcher é usando a imagem do Dockerhub (você precisará do Docker):
# Executando o aplicativo expondo-o na porta 8080
$ docker run -p 8080:80 daxhackerman/xss-catcher
# Por padrão, o contêiner não tem persistência. Se precisar de alguma, você pode configurar um volume
$ docker volume create xsscatcher-db
$ docker run -p 8080:80 -v xsscatcher-db:/var/lib/postgresql/14/main/ -d --name xsscatcher daxhackerman/xss-catcher
Se desejar construir a imagem você mesmo, precisará do Git e, opcionalmente, do make. Na sua linha de comando:
# Clone este repositório
$ git clone https://github.com/daxAKAhackerman/XSS-Catcher.git
# Entre no repositório
$ cd XSS-Catcher
# Todos os comandos a seguir usam make. Se você estiver em um sistema onde make não está disponível, basta dar uma olhada no Makefile e executar manualmente os comandos necessários (em build, start ou stop)
# Se você nunca executou o aplicativo, construa-o
$ make
# Inicie o aplicativo. Ele escutará na porta 8080.
$ make start
# Pare o aplicativo quando terminar
$ make stop
# Você pode atualizar o aplicativo quando necessário
$ git pull && make stop; make && make start
Primeiro login
- As credenciais padrão para conectar à interface Web são admin:xss
- A porta Web padrão quando executado através do Makefile é 8080
Demonstração

Documentação da API
As coleções do Postman podem ser encontradas aqui: https://www.postman.com/maintenance-architect-74448403/workspace/xss-catcher
Solução de problemas
Erro de conteúdo misto JavaScript
Para evitar erros de conteúdo misto JavaScript quando o payload XSS for acionado, é altamente recomendável colocar o XSS Catcher atrás de um proxy reverso que forneça certificados TLS válidos.
Créditos
Aviso legal
O uso desta ferramenta para atacar alvos sem consentimento mútuo prévio é ilegal. É de responsabilidade do usuário final obedecer a todas as leis aplicáveis, locais, estaduais e federais. Não assumimos nenhuma responsabilidade e não somos responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.
Você também pode gostar...
GitHub @daxAKAhackerman