Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
informer — Un bot de surveillance de masse Telegram en Python | Kitploit
Outils/GitHubGitHub/paulpierre/informer
OSINT (Renseignement de Sources Ouvertes)Outils d'ImpersonationExfiltration de DonnéesCollecte d'InformationsIngénierie SocialeCrawler
GitHubpaulpierre/informer

informer

Un bot de surveillance de masse Telegram en Python

Voir le dépôt
1.7k243il y a 10 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

image

Informer - Surveillance de masse sur Telegram

Mise à jour 10-20-2025

  • Sécurité : Correction de la vulnérabilité de haute sévérité CVE-2022-1941 dans mysql-connector-python
  • Sécurité : Migration de oauth2client obsolète vers google-auth
  • Mise à jour de toutes les dépendances vers les dernières versions sécurisées
  • Correction des bugs du script quick_start.sh (création de venv et paramètre account_id)
  • Correction des problèmes de connexion MySQL Docker pour la compatibilité multiplateforme
  • Amélioration de la documentation de configuration Google Sheets

Mise à jour 08-23-2021

  • Mise à jour vers la dernière version de Telethon 1.23.0
  • Correction des problèmes de base de données en migrant vers docker-compose
  • Rendre Google Spreadsheets optionnel dans la configuration
  • Fichiers ENV sécurisés pour la configuration
  • Configuration simplifiée
  • Remplacement de docker-compose au profit d'App Engine car AE craint

À propos

Informer (TGInformer) est une bibliothèque de bots qui vous permet de vous faire passer pour de multiples utilisateurs RÉELS sur Telegram et d'espionner plus de 500 canaux Telegram par compte. Les détails sont enregistrés dans une base de données MySQL, un Google Sheet privé et votre propre canal privé pour analyse.

Il s'agit d'un projet fonctionnel de preuve de concept avec des bugs connus. N'hésitez pas à forker, partager et me contacter.

image

Applications commerciales potentielles

  • Marionnettisme de faux comptes pour renverser un régime despotique
  • Surveillance de marque et analyse des sentiments
  • Promouvoir une cryptomonnaie à la demande pour un gain financier
  • Influencer l'opinion sur des sujets d'actualité
  • Profiter des mouvements de prix rapidement
  • Effectuer une analyse d'un canal Telegram

Fonctionnalités

  • Exécutez tous vos bots dans le cloud pendant que vous dormez. Prise en charge de Docker Compose

image

  • Écrire toutes les notifications dans un Google Sheet privé

image

  • Prend en charge les expressions régulières pour le filtrage par mots-clés

  • SQLAlchemy pour une persistance de données agnostique

image

  • Journalisation des messages contextuels et des données de canal vers un canal privé et une base de données

  • Stocke les méta-informations sur l'expéditeur du message, le canal, le nombre de participants dans le canal

image

  • Rejoint automatiquement les canaux à partir d'une liste CSV contenant les URLs des canaux Telegram

image

  • Conserve la session des canaux rejoints

  • Connexion unique, le bot reste connecté indéfiniment sans nécessiter de ré-authentification 2FA

  • Rejoindre jusqu'à 500 canaux par compte

image

  • Utilise de VRAIS comptes évitant la détection de bots, CE N'EST PAS UN BOT TELEGRAM mais un véritable compte utilisateur automatisé. Il s'agit d'une distinction importante car l'API officielle des bots est limitée et les bots sont souvent restreints dans les canaux publics.

Prérequis

Système d'exploitation / Infrastructure

  • Python 3+
  • Docker (optionnel)
  • Telegram (Desktop, Web ou Mobile téléchargement: https://www.telegram.org/)
  • Application Burner

Paquets 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) - remplace oauth2client obsolète
  • python-dotenv (1.0.1)

Démarrage rapide

Configurer vos variables d'environnement

Modifiez le fichier informer.env qui contient toutes les variables d'environnement requises pour informer

Vous pouvez récupérer les informations nécessaires liées à Telegram ici :

Configurer votre application Telegram

  1. Rendez-vous sur https://my.telegram.org/auth pour authentifier votre compte en fournissant un numéro de téléphone et le code de confirmation envoyé à votre numéro de téléphone (ou Telegram) image

image

  1. Une fois authentifié, cliquez sur "API Development Tools" image

  2. Créez une nouvelle application en remplissant le formulaire ci-dessous image

  3. Vous devriez maintenant avoir les valeurs de paramètres nécessaires pour les champs du fichier informer.env : TELEGRAM_API_HASH et TELEGRAM_API_APP_ID

image

  1. Remplacez les valeurs, y compris TELEGRAM_ACCOUNT_PHONE_NUMBER, et passez à la section suivante

image

Obtenir votre ID Telegram

Jusqu'à présent, nous avons ce dont nous avons besoin pour que Telethon et Informer accèdent aux API Telegram. Ensuite, nous devons obtenir les identifiants pour le compte de votre bot.

  1. Ouvrez Telegram et recherchez l'utilisateur userinfobot.

image

  1. Vous verrez plusieurs résultats, assurez-vous de sélectionner le compte correctement orthographié.

image

  1. Cliquez sur l'utilisateur et vous devriez voir une option de dialogue en bas qui dit "Start". Cliquez dessus.

image

  1. Le bot a un seul but : vous renvoyer les informations de votre compte Telegram actuel.

Vous devriez recevoir votre nom d'utilisateur Telegram et votre ID de compte Telegram. C'est important

image

  1. Modifiez le fichier informer.env et remplissez les valeurs pour TELEGRAM_ACCOUNT_ID qui doit être votre ID de compte Telegram de l'étape précédente et TELEGRAM_ACCOUNT_USER_NAME.

Vous pouvez éventuellement remplir TELEGRAM_NOTIFICATIONS_CHANNEL_ID avec votre nom d'utilisateur ou un ID de canal.

  1. Assurez-vous d'avoir rempli TELEGRAM_ACCOUNT_PHONE_NUMBER car c'est la clé pour générer la session. Pour créer plusieurs comptes, veuillez consulter l'application Burner ci-dessous.

Initialiser et authentifier la session

Assurez-vous d'exécuter python 3 et exécutez simplement ./quick_start.sh dans le répertoire.

Vous devez d'abord exécuter ceci pour vous authentifier auprès de Telegram lors de la première exécution et générer un fichier de session local

Vous pouvez ensuite copier les fichiers pour les différents comptes dans app/session et les monter via Docker si vous le souhaitez.

image

Il vous sera demandé de saisir le code d'authentification que vous avez reçu soit via Telegram si vous vous êtes déjà connecté, soit par SMS

image

Appuyez sur Entrée et votre session devrait être générée dans le dossier app/session avec le nom de fichier correspondant au numéro de téléphone international que vous avez fourni, avec une extension .session.

Passez à la section suivante où nous utilisons Docker Compose pour configurer une base de données.

Configurer un canal de notification

Cette étape est facultative, mais si vous souhaitez créer un canal de groupe privé et obtenir l'ID du groupe, procédez comme suit :

  • Créez un groupe (ou canal) et définissez-le comme privé ou public
  • Assurez-vous d'obtenir l'URL Telegram image

Définissez l'URL dans le fichier informer.env sous le paramètre TELEGRAM_NOTIFICATIONS_CHANNEL_URL

Pour obtenir l'ID du canal, exécutez simplement python3 bot.py <TELEGRAM_ACCOUNT_ID> dans le répertoire app où <TELEGRAM_ACCOUNT_ID> est l'ID de compte que vous avez précédemment généré.

Lorsque le script se charge, il affichera tous les canaux dont vous faites partie. Copiez simplement cette valeur et placez-la dans le paramètre TELEGRAM_NOTIFICATIONS_CHANNEL_ID du fichier informer.env et tuez le script. Vous êtes maintenant prêt à exécuter Informer.

Exécuter Docker Compose

Après avoir exécuté quick_start.sh, vous pouvez exécuter docker compose en :

  • exécutant ./start.sh pour construire les conteneurs Docker qui incluent la base de données MySQL

image

  • Exécutez ./stop.sh pour arrêter les conteneurs

  • Exécutez ./clean.sh pour supprimer les conteneurs et volumes orphelins. ** REMARQUE ** cela RÉINITIALISERA la base de données et vous perdrez toutes vos données.

Quelques points à noter :

Auparavant, vous deviez exécuter votre propre instance MySQL, ce qui créait des problèmes de compatibilité de chaîne de connexion et de version. Dans cette mise à jour, elle est simplement créée pour vous et persistée sur le disque.

De plus, Dozzle est fourni pour vous permettre de visualiser les logs dans votre navigateur. Allez simplement sur http://localhost:9999 et cliquez sur le conteneur app_informer.

Créer un compte Telegram avec l'application Burner

Si vous ne souhaitez pas utiliser votre propre numéro de téléphone et souhaitez exécuter le bot Informer avec un certain degré d'anonymat, vous pouvez utiliser l'application Burner disponible sur iOS et Android.

  1. Installez l'application 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. Suivez les mêmes étapes que ci-dessus en fournissant le nouveau numéro de téléphone ici : https://my.telegram.org/auth

  2. Validez avec Burner. Vous recevrez un code d'authentification par SMS, vous devrez le fournir

image

  1. Connectez-vous à Telegram

  2. Essayez de vous connecter avec l'application en exécutant

python3 bot.py <api_user_id> dans le répertoire app.

  1. Comme vous vous connectez avec Telethon, il vous demandera votre code d'authentification dans le terminal comme précédemment.

Celui-ci a été envoyé via un message Telegram ou SMS.

Fournissez-le et il enregistrera vos identifiants de session dans le fichier de session mentionné ci-dessous. Vous n'aurez plus besoin de vous authentifier tant que vous avez le fichier de session sauvegardé.

Les sessions sont sauvegardées dans le dossier app/session/ sous la forme <telegram_phone_number>.session

Répétez l'opération jusqu'à ce que vous ayez tous les fichiers de session nécessaires et montez-les simplement dans Docker.

Mise à l'échelle des comptes Telegram

Comprendre comment mettre à l'échelle les comptes a été un peu un cauchemar car j'avais besoin d'un processus automatisé. Telegram exige que vous utilisiez un vrai numéro de téléphone pouvant recevoir des SMS d'un code court.

Malheureusement, les services avec API comme Twilio ont interdiction de recevoir des SMS de codes courts aux États-Unis, au Canada et au Royaume-Uni https://support.twilio.com/hc/en-us/articles/223181668-Can-Twilio-numbers-receive-SMS-from-a-short-code- pour des raisons de fraude. Cela aurait été idéal, zut.

Une soirée entière a été gâchée sur cette entreprise jusqu'à ce que je me souvienne d'une excellente application que j'avais utilisée dans le passé : Burner (https://www.burnerapp.com/) — qui, par coïncidence, possède une API (https://developer.burnerapp.com/api-documentation/incoming-webhooks/). Cela signifie que vous pouvez générer dynamiquement des numéros, instancier un nouveau compte et l'authentifier entièrement via le SDK client Telegram en Python (Telethon : https://docs.telethon.dev/en/latest/)

Le meilleur aspect est que les numéros Burner sont gratuits pendant 14 jours. Les comptes Telegram connectés via l'API client n'ont besoin de se connecter qu'une seule fois et les sessions persistent indéfiniment. Je n'ai pas intégré l'API Burner, mais le processus est simple.

SDK Telethon

Le bot est construit sur le SDK Python Telethon (https://docs.telethon.dev/en/latest/)

Quelques points à noter et pièges rencontrés lors de la construction de cette preuve de concept :

  1. Limitation de débit Telegram applique une limitation de débit intense qui générera des FloodWaitErrors. Dans mes recherches, il semble que personne ne connaisse l'algorithme correspondant, mais vous voulez que vos temps d'attente s'adaptent proportionnellement car lorsque vous violez et dépassez la limite de débit inconnue, les temps d'attente deviennent exponentiels. J'ai trouvé un juste milieu avec mon approche d'attente.

Les FloodWaitErrors peuvent survenir lorsque vous soumettez trop de requêtes à l'API, que ce soit pour interroger les informations des utilisateurs ou rejoindre trop de canaux trop rapidement.

  1. Sessions Telethon Telethon créera un fichier de session. Vous pouvez définir le nom du fichier de session lors de l'instanciation du client Telethon :

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

root@kitploit:~
Ce fichier se trouve être une base de données sqlite à laquelle vous pouvez vous connecter. Il
agit comme un cache et stocke les données historiques ainsi que vos informations d'authentification
de session afin que vous n'ayez pas à vous ré-authentifier avec
la 2FA de Telegram. Notez que vous devrez vous connecter une première fois et
vous authentifier lors de la première utilisation de l'API.

Gestion de plusieurs comptes de bots

Lorsque le bot s'exécute et rejoint des canaux, vous verrez votre client se mettre à jour en temps réel et afficher les nouveaux canaux que vous avez rejoints.

image

ASTUCE : TelegramX est de loin le meilleur client à utiliser à ces fins car il prend en charge la connexion multiple. Téléchargez ici :

  • 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

Intégration Google Sheets

Remarque : L'intégration Google Sheets est complètement OPTIONNELLE. L'application fonctionne parfaitement avec seulement la base de données MySQL.

Si vous souhaitez activer la journalisation Google Sheets :

  1. Suivez le guide de configuration détaillé dans app/credentials/README.md
  2. Le guide inclut des instructions mises à jour pour obtenir les identifiants de compte de service Google Cloud (fichier de clé JSON)
  3. Google fournit toujours des fichiers d'identifiants JSON - le processus a simplement légèrement changé depuis 2020

Aperçu rapide :

  • Créez un projet Google Cloud
  • Activez l'API Google Sheets et l'API Google Drive
  • Créez un compte de service et téléchargez la clé JSON
  • Placez le fichier JSON dans app/credentials/google_credentials.json
  • Partagez votre Google Sheet avec l'email du compte de service

Ceci est facultatif et le bot fonctionnera sans.

Bugs connus

  • Actuellement, un canal doit déjà être rejoint pour commencer la surveillance des mots-clés. Il est probable que vous deviez exécuter bot.py deux fois, une fois pour le laisser rejoindre les canaux et une autre fois pour les surveiller. Je suis conscient de ce bug flagrant et le corrigerai dans la prochaine révision.

À faire

  • Créer un tableau de bord d'interface utilisateur pour la gestion des bots
    • Créer de nouveaux comptes
    • Ajouter / supprimer des canaux
    • Ajouter / supprimer des mots-clés à surveiller
    • Voir les notifications
    • Recevoir des notifications push web
  • Interroger automatiquement la base de données pour mettre à jour les mots-clés à surveiller en mémoire
  • Automatiser la création de numéros de téléphone via l'API Burner et le processus de code d'authentification

Me contacter

Avez-vous trouvé ce projet intéressant ? Si oui, merci de lui mettre une étoile.

Il a été réalisé en deux jours comme preuve de concept pour un ami dans le domaine des cryptomonnaies. Si vous trouvez des applications intéressantes ou lucratives, je suis toujours heureux de collaborer. Vous pouvez me joindre à :

@paulpierre sur Twitter ou hi (at) paulpierre (dot) com

La plupart de mes projets intéressants sont privés sur github, mais n'hésitez pas à les consulter : http://www.github.com/paulpierre ou mes travaux passés sur http://www.paulpierre.com

Licence Open Source


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.

Télécharger l’outil