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
informer — Um Bot de Vigilância em Massa do Telegram em Python | Kitploit
Ferramentas/GitHubGitHub/paulpierre/informer
OSINT (Inteligência de Fontes Abertas)Ferramentas de ImpersonaçãoExfiltração de DadosColeta de InformaçõesEngenharia SocialRastreador
GitHubpaulpierre/informer

informer

Um Bot de Vigilância em Massa do Telegram em Python

Ver Repositório
1.7k243há 10 mesesRevisado 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
Site

image

Informer - Vigilância em Massa no Telegram

Atualização 10-20-2025

  • Segurança: Corrigida vulnerabilidade de alta severidade CVE-2022-1941 no mysql-connector-python
  • Segurança: Migrado do obsoleto oauth2client para google-auth
  • Atualizadas todas as dependências para as versões seguras mais recentes
  • Corrigidos bugs no script quick_start.sh (criação de venv e parâmetro account_id)
  • Corrigidos problemas de conexão MySQL no Docker para compatibilidade entre plataformas
  • Melhorada a documentação de configuração do Google Sheets

Atualização 08-23-2021

  • Atualizado para o Telethon 1.23.0 mais recente
  • Corrigidos problemas de banco de dados migrando para docker-compose
  • Tornado Google Spreadsheets opcional na configuração
  • Arquivos ENV seguros para configuração
  • Configuração mais fácil
  • Substituído docker-compose em vez do App Engine porque AE é ruim

Sobre

Informer (TGInformer) é uma biblioteca de bot que permite que você se passe por vários usuários REAIS no Telegram e espione mais de 500 canais do Telegram por conta. Os detalhes são registrados em um banco de dados MySQL, uma planilha privada do Google e seu próprio canal privado para análise.

Este é um projeto funcional de prova de conceito com bugs conhecidos. Sinta-se à vontade para bifurcar, compartilhar e me dar um toque.

image

Aplicações Comerciais Potenciais

  • Marionetismo para derrubar um regime despótico
  • Monitoramento de marca e análise de sentimento
  • Promover criptomoedas em um instante para ganho financeiro
  • Influenciar o sentimento em questões tópicas
  • Entrar cedo na ação do preço
  • Executar análise de um canal do Telegram

Funcionalidades

  • Execute todos os seus bots na nuvem enquanto você dorme. Suporte ao Docker Compose

image

  • Escreva todas as notificações em uma planilha privada do Google

image

  • Suporta expressões regulares para filtragem de palavras-chave

  • SQLAlchemy para persistência de dados agnóstica

image

  • Registro de dados contextuais de mensagens e canais em um canal privado e banco de dados

  • Armazena meta-informações sobre o remetente da mensagem, canal, número de participantes no canal

image

  • Entra automaticamente em canais a partir de uma lista CSV contendo URLs de canais do Telegram

image

  • Persiste a sessão dos canais ingressados

  • Faça login uma vez, o bot permanece logado para sempre sem precisar de reautenticação 2FA

  • Entre em até 500 canais por conta

image

  • Usa contas REAIS evitando a detecção de bots, ISTO NÃO É UM BOT DO TELEGRAM mas sim uma conta de usuário automatizada real. Esta é uma distinção importante porque a API oficial de bots é limitada e os bots são frequentemente restritos em canais públicos.

Requisitos

SO / Infraestrutura

  • Python 3+
  • Docker (opcional)
  • Telegram (Desktop, Web ou Mobile: https://www.telegram.org/)
  • Aplicativo Burner

Pacotes Python

  • SQLAlchemy (1.4.54)
  • sqlalchemy-migrate (0.13.0)
  • Telethon (1.36.0)
  • mysql-connector-python (8.4.0)
  • gspread (6.1.4)
  • google-auth (2.37.0) - substitui o obsoleto oauth2client
  • python-dotenv (1.0.1)

Início Rápido

Configure suas variáveis de ambiente

Edite o arquivo informer.env que contém todas as variáveis de ambiente necessárias para o informer

Você pode obter as informações necessárias relacionadas ao Telegram aqui:

Configure seu Aplicativo Telegram

  1. Acesse https://my.telegram.org/auth para autenticar sua conta fornecendo um número de telefone e o código de confirmação enviado para seu número de telefone (ou Telegram) image

image

  1. Depois de autenticado, clique em "API Development Tools" image

  2. Crie um Novo Aplicativo preenchendo o formulário mostrado abaixo image

  3. Agora você deve ter os valores de parâmetro necessários para os campos TELEGRAM_API_HASH e TELEGRAM_API_APP_ID do arquivo informer.env

image

  1. Substitua os valores, incluindo TELEGRAM_ACCOUNT_PHONE_NUMBER e prossiga para a próxima seção

image

Obtendo seu ID do Telegram

Até agora temos o necessário para o Telethon e o Informer acessarem as APIs do Telegram, em seguida precisamos adquirir os identificadores da conta do seu bot.

  1. Abra o Telegram e pesquise pelo usuário userinfobot.

image

  1. Você verá vários, certifique-se de selecionar a conta com a grafia correta.

image

  1. Clique no usuário e você verá uma opção de diálogo na parte inferior que diz "Start". Clique nela.

image

  1. O bot tem um único propósito, refletir de volta para você as informações da sua conta atual do Telegram.

Você deve receber seu nome de usuário do Telegram e seu ID de conta do Telegram. Isso é importante.

image

  1. Edite o arquivo informer.env e preencha os valores para TELEGRAM_ACCOUNT_ID que deve ser seu ID de conta do Telegram da etapa anterior e TELEGRAM_ACCOUNT_USER_NAME.

Você pode opcionalmente preencher TELEGRAM_NOTIFICATIONS_CHANNEL_ID com seu nome de usuário ou um ID de canal.

  1. Certifique-se de que TELEGRAM_ACCOUNT_PHONE_NUMBER esteja preenchido, pois isso é fundamental para gerar a sessão. Para criar várias contas, consulte o Burner App abaixo.

Inicializar e autenticar sessão

Certifique-se de estar executando python 3 e simplesmente execute ./quick_start.sh no diretório.

Você deve executar isso primeiro para poder autenticar com o Telegram na primeira execução e gerar um arquivo de sessão local.

Você pode posteriormente copiar os arquivos para as diferentes contas em app/session e montá-los via Docker, se desejar.

image

Você será solicitado a inserir o código de autenticação que recebeu, seja via Telegram se já tiver feito login antes, ou via SMS.

image

Pressione Enter e sua sessão deve ser gerada na pasta app/session com o nome do arquivo sendo o número de telefone internacional que você forneceu com a extensão .session.

Continue para a próxima seção onde usamos Docker Compose para configurar um banco de dados.

Configurar um Canal de Notificação

Esta etapa é opcional, mas se você quiser criar um canal de grupo privado e adquirir o ID do grupo, faça o seguinte:

  • Crie um grupo (ou canal) e defina-o como privado ou público
  • Certifique-se de obter a URL do Telegram image

Defina a URL no arquivo informer.env sob o parâmetro TELEGRAM_NOTIFICATIONS_CHANNEL_URL

Para obter o ID do canal, simplesmente execute python3 bot.py <TELEGRAM_ACCOUNT_ID> no diretório app, onde <TELEGRAM_ACCOUNT_ID> é o ID da conta que você gerou anteriormente.

Quando o script carregar, ele exibirá todos os canais em que você está, simplesmente copie esse valor e coloque-o no parâmetro TELEGRAM_NOTIFICATIONS_CHANNEL_ID do arquivo informer.env e encerre o script. Agora você está pronto para executar o Informer.

Executando Docker Compose

Após executar quick_start.sh, você pode executar docker compose com:

  • executando ./start.sh para construir os contêineres Docker que incluem o banco de dados MySQL

image

  • Execute ./stop.sh para parar os contêineres

  • Execute ./clean.sh para remover contêineres e volumes órfãos. ** NOTA ** isso irá REDEFINIR o banco de dados e você perderá todos os seus dados.

Algumas coisas a serem observadas:

Antes, você era obrigado a executar sua própria instância MySQL e isso criava alguns problemas com compatibilidade de string de conexão e versionamento. Nesta atualização, ela é criada para você e persistida em disco.

Além disso, o Dozzle é fornecido para que você possa visualizar logs no navegador, basta ir a http://localhost:9999 e clicar no contêiner app_informer.

Criar uma conta do Telegram com o Burner App

Se você não quiser usar seu próprio número de telefone e quiser executar o bot Informer com algum grau de anonimato, você pode usar o Burner App disponível no iOS e Android.

  1. Instale o aplicativo Burner

    • Android - https://play.google.com/store/apps/details?id=org.thunderdog.challegram&hl=en_US
    • iOS - https://apps.apple.com/us/app/telegram-x/id898228810

image

  1. Siga os mesmos passos acima fornecendo o novo número de telefone aqui: https://my.telegram.org/auth

  2. Valide com o Burner. Você receberá um código de autenticação via SMS, você precisará fornecê-lo.

image

  1. Faça login no Telegram

  2. Tente fazer login com o aplicativo executando

python3 bot.py <api_user_id> no diretório app.

  1. Como você está fazendo login com o Telethon, ele solicitará seu código de autenticação no terminal, como anteriormente.

Isso foi enviado via mensagem do Telegram ou SMS.

Forneça isso e ele salvará suas credenciais de sessão no arquivo de sessão mencionado abaixo. Você não precisará mais autenticar, desde que tenha o arquivo de sessão salvo.

As sessões são salvas na pasta app/session/ como <telegram_phone_number>.session

Repita até ter todos os arquivos de sessão necessários e simplesmente monte-os no Docker.

Escalando contas do Telegram

Descobrir como escalar contas foi um pouco um pesadelo, pois eu precisava de um processo automatizado. O Telegram exige que você use um número de telefone real que possa receber mensagens de texto de um shortcode.

Infelizmente, serviços com APIs como o Twilio são proibidos de receber SMS de shortcodes nos EUA, Canadá e Reino Unido https://support.twilio.com/hc/en-us/articles/223181668-Can-Twilio-numbers-receive-SMS-from-a-short-code- para fins de fraude. Isso teria sido ideal, que chatice.

Uma noite inteira foi desperdiçada nesse esforço até que lembrei de um ótimo aplicativo que usei no passado: Burner (https://www.burnerapp.com/) — que coincidentemente tem uma API (https://developer.burnerapp.com/api-documentation/incoming-webhooks/). Ou seja, você pode gerar números dinamicamente, instanciar uma nova conta e autenticar tudo via SDK do cliente do Telegram em Python (Telethon: https://docs.telethon.dev/en/latest/).

A melhor parte é que os números do Burner são gratuitos por 14 dias. As contas do Telegram conectadas via API do cliente precisam apenas fazer login uma vez e as sessões são persistidas permanentemente. Eu não integrei com a API do Burner, mas o processo é direto.

Telethon SDK

O bot é construído sobre o Telethon Python SDK (https://docs.telethon.dev/en/latest/)

Algumas coisas a serem observadas e problemas encontrados ao construir esta prova de conceito:

  1. Limitação de Taxa O Telegram faz uma limitação de taxa intensa que lançará FloodWaitErrors. Em minha pesquisa, parece que ninguém conhece o algoritmo para isso, mas você deseja que suas esperas de back-off aumentem em resposta, porque quando você viola e excede o limite de taxa desconhecido, as esperas se tornam exponenciais. Eu encontrei um meio-termo feliz com minha abordagem de espera.

FloodWaitErrors podem ocorrer quando você está enviando muitas solicitações para a API, seja consultando informações de usuários ou entrando em muitos canais muito rapidamente.

  1. Telethon Sessions O Telethon criará um arquivo de sessão. Você pode definir o nome do arquivo de sessão ao instanciar o cliente Telethon:

TelegramClient(<session_file_name>, <api_user_id>, <api_user_hash>)

Este arquivo é um banco de dados sqlite ao qual você pode se conectar. Ele funciona como um cache e armazena dados históricos, bem como suas informações de autenticação de sessão, para que você não precise reautenticar com o 2FA do Telegram. Observe que você precisará fazer login pela primeira vez e autenticar quando usar a API pela primeira vez.

Gerenciando Várias Contas de Bot

Conforme o bot executa e entra em canais, você verá seu cliente atualizar em tempo real e exibir os novos canais que você ingressou.

image

DICA: TelegramX é de longe o melhor cliente para usar para esses fins, pois suporta múltiplos logins. Baixe aqui:

  • Android - https://play.google.com/store/apps/details?id=org.thunderdog.challegram&hl=en_US
  • iOS - https://apps.apple.com/us/app/telegram-x/id898228810

Integração com Google Sheets

Nota: A integração com Google Sheets é completamente OPCIONAL. O aplicativo funciona perfeitamente apenas com o banco de dados MySQL.

Se você quiser ativar o registro no Google Sheets:

  1. Siga o guia de configuração detalhado em app/credentials/README.md
  2. O guia inclui instruções atualizadas para obter credenciais de conta de serviço do Google Cloud (arquivo de chave JSON)
  3. O Google ainda fornece arquivos de credenciais JSON - o processo mudou ligeiramente desde 2020

Visão geral rápida:

  • Crie um projeto no Google Cloud
  • Ative as APIs Google Sheets e Google Drive
  • Crie uma conta de serviço e baixe a chave JSON
  • Coloque o arquivo JSON em app/credentials/google_credentials.json
  • Compartilhe sua planilha do Google com o e-mail da conta de serviço

Isso é opcional e o bot funcionará sem ele.

Bugs Conhecidos

  • Atualmente, um canal já deve ter sido ingressado para iniciar o monitoramento de palavras-chave. Provavelmente você precisará executar o bot.py duas vezes, uma para deixá-lo entrar nos canais e outra para monitorá-los. Estou ciente desse bug grave e corrigirei na próxima revisão.

A Fazer

  • Criar painel de interface do usuário para gerenciamento de bots
    • Criar novas contas
    • Adicionar / remover canais
    • Adicionar / remover palavras-chave para monitorar
    • Visualizar notificações
    • Receber notificações web push
  • Consultar automaticamente o banco de dados para atualizar as palavras-chave a serem monitoradas na memória
  • Automatizar a criação de números de telefone via API do Burner e processo de código de autenticação

Entrar em contato

Achou este projeto interessante? Dê uma estrela se sim.

Foi feito em dois dias como prova de conceito para um amigo no espaço de criptomoedas. Se você encontrar aplicações interessantes ou lucrativas, estou sempre feliz em colaborar. Você pode me contatar em:

@paulpierre no Twitter ou hi (arroba) paulpierre (ponto) com

A maioria dos meus projetos interessantes são privados no github, mas sinta-se à vontade para conferi-los: http://www.github.com/paulpierre ou trabalhos anteriores em http://www.paulpierre.com

Licença de Código Aberto


Copyright (c) 2020 Paul Pierre Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Baixar ferramenta