Telegram bot para reconhecimento automatizado de domínios usando ferramentas da ProjectDiscovery
Bot de reconhecimento que integra múltiplas ferramentas de segurança em uma interface simples via Telegram. Ideal para pentesters, security researchers e profissionais de infosec.
- 🔍 Enumeração de Subdomínios - Descoberta automática com subfinder
- 🌐 Análise HTTP/HTTPS - Teste de hosts ativos com detecção de tecnologias (httpx)
- 📡 Informações DNS - Coleta completa de registros DNS (dnsx)
- 📋 WHOIS - Informações de registro de domínio
- 🔎 Identificação de Tecnologias - Detecção de stack tecnológico (whatweb)
- 📊 Relatórios PDF - Exportação de resultados
- 💾 Histórico Completo - Armazenamento e download de todos os scans
- 📈 Estatísticas - Tracking de uso e rate limiting
Core Tools:
- subfinder - Subdomain enumeration
- httpx - Fast HTTP probe
- dnsx - DNS toolkit
- WhatWeb - Web technology identifier
- whois - Domain registration lookup
Framework:
- Python 3.8+
- python-telegram-bot
- ReportLab (PDF generation)
- Python 3.8+
- Ubuntu/Debian Linux (testado em Oracle Cloud Free Tier)
- Go 1.21+ (para ferramentas ProjectDiscovery)
- Ruby (para WhatWeb)
# 1. Clone o repositório
git clone https://github.com/rafabez/recon_bot.git
cd recon_bot
# 2. Execute o instalador automático
chmod +x install_tools.sh
./install_tools.sh
source ~/.bashrc
# 3. Configure o ambiente Python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 4. Configure seu token do Telegram
cp .env.example .env
nano .env # Adicione: TELEGRAM_BOT_TOKEN=seu_token_aqui
# 5. Execute o bot
python bot.py- Abra o Telegram e procure por @BotFather
- Envie
/newbote siga as instruções - Copie o token fornecido
- Cole o token no arquivo
.env
Comandos:
/start- Iniciar bot/help- Informações e ajuda/stats- Estatísticas de uso/history- Histórico de scans (admin)/download- Download de resultados (admin)
Scan de Domínio:
Simplesmente envie um domínio para o bot e ele executará o recon completo:
example.com
Recursos Automáticos:
- ✅ Enumeração completa de subdomínios
- ✅ Teste de hosts HTTP/HTTPS ativos
- ✅ Coleta de registros DNS
- ✅ Consulta WHOIS
- ✅ Identificação de tecnologias web
- ✅ Geração de relatório PDF
- ✅ Download em formato ZIP
recon_bot/
├── bot.py # Bot principal
├── config.py # Configurações
├── recon_tools.py # Módulo de execução das ferramentas
├── requirements.txt # Dependências Python
├── install_tools.sh # Script de instalação
├── .env.example # Exemplo de configuração
├── .env # Configuração (não commitado)
├── .gitignore
├── README.md
├── scans/ # Resultados dos scans
│ └── domain_timestamp/
│ ├── subdomains.txt
│ ├── httpx.json
│ ├── dns.json
│ ├── whois.txt
│ ├── whatweb.json
│ └── summary.json
└── history/ # Histórico de scans
└── domain_timestamp.json
Controle de Acesso:
Por padrão, o bot é público. Para restringir acesso, edite .env:
ALLOWED_USERS=123456789,987654321Use @userinfobot para descobrir seu Telegram User ID.
Boas Práticas:
- ✅ Mantenha o
.envseguro (já está no .gitignore) - ✅ Use ambiente virtual Python
- ✅ Configure firewall no servidor
- ✅ Rate limiting habilitado por padrão
Opção 1: systemd (recomendado)
Use o arquivo systemd-service.example como template e configure o serviço:
sudo cp systemd-service.example /etc/systemd/system/recon-bot.service
sudo nano /etc/systemd/system/recon-bot.service # Ajuste os paths
sudo systemctl daemon-reload
sudo systemctl enable --now recon-bot
sudo journalctl -u recon-bot -f # Ver logsOpção 2: screen
screen -S recon-bot
source venv/bin/activate
python bot.py
# Ctrl+A, D para detachTool not found:
which subfinder httpx dnsx
export PATH=$PATH:$HOME/go/bin
source ~/.bashrcBot não responde:
sudo journalctl -u recon-bot -f # Ver logsTimeout em scans:
- Ajuste
TOOL_TIMEOUTemconfig.py - Verifique recursos do servidor (RAM, CPU)
Testado em Oracle Cloud Free Tier:
- CPU: 1-2 vCPU
- RAM: 1GB (mínimo) | 2GB (recomendado)
- Storage: 10GB+
Pull requests são bem-vindos! Para mudanças importantes, abra uma issue primeiro para discussão.
Veja IMPROVEMENTS.md para lista de melhorias planejadas.
Este projeto é para fins educacionais. Use de forma responsável e ética.
Este bot é para fins de pesquisa e educação apenas. Sempre obtenha permissão antes de realizar reconhecimento em domínios que você não possui. O uso indevido desta ferramenta pode violar leis locais.
Construído com ferramentas open-source incríveis:
- ProjectDiscovery Tools - subfinder, httpx, dnsx
- WhatWeb - Web technology identifier
- python-telegram-bot - Telegram Bot API
⭐ Se este projeto foi útil, considere dar uma estrela!
Desenvolvido para a comunidade de infosec 🔒