Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
informer — Pythonで書かれたTelegram大量監視ボット | Kitploit
ツール/GitHubGitHub/paulpierre/informer
OSINT (オープンソースインテリジェンス)なりすましツールデータ流出情報収集ソーシャルエンジニアリングクローラー
GitHubpaulpierre/informer

informer

Pythonで書かれたTelegram大量監視ボット

リポジトリを見る
1.7k24310ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

image

Informer - Telegram 大量監視

2025年10月20日 更新

  • セキュリティ: mysql-connector-python の深刻な脆弱性 CVE-2022-1941 を修正
  • セキュリティ: 非推奨の oauth2client から google-auth に移行
  • すべての依存関係を最新の安全なバージョンに更新
  • quick_start.sh スクリプトのバグを修正 (venv 作成と account_id パラメータ)
  • Docker MySQL 接続の問題を修正し、クロスプラットフォーム互換性を向上
  • Google Sheets のセットアップドキュメントを改善

2021年8月23日 更新

  • Telethon 1.23.0 の最新版に更新
  • docker-compose への移行によりデータベースの問題を修正
  • セットアップで Google スプレッドシートをオプション化
  • セットアップ用の安全な ENV ファイル
  • セットアップをより簡単に
  • App Engine の代わりに docker-compose を使用 (AE は使えないため)

概要

Informer (TGInformer) は、Telegram 上で複数の実際のユーザーになりすまし、アカウントごとに 500 以上の Telegram チャンネルをスパイできるボットライブラリです。詳細は MySQL データベース、プライベート Google シート、および分析用のプライベートチャンネルに記録されます。

これは既知のバグがある動作する概念実証プロジェクトです。フォーク、共有、連絡は自由に行ってください。

image

潜在的なビジネスアプリケーション

  • 独裁政権を打倒するためのソックパペット (偽装アカウント) 運用
  • ブランド監視と感情分析
  • 経済的利益のために即座に暗号通貨を宣伝
  • 時事問題に関する世論への影響
  • 価格変動に早期に乗る
  • Telegram チャンネルの分析実行

機能

  • あなたの代わりにすべてのボットをクラウドで実行。Docker Compose 対応

image

  • すべての通知をプライベート Google シートに書き込み

image

  • キーワードフィルタリングに正規表現をサポート

  • SQLAlchemy によるデータベースに依存しないデータ永続化

image

  • コンテキストメッセージとチャンネルデータをプライベートチャンネルとデータベースに記録

  • メッセージの送信者、チャンネル、チャンネルの参加者数に関するメタ情報を保存

image

  • Telegram チャンネル URL を含む CSV リストからチャンネルに自動参加

image

  • 参加したチャンネルのセッションを永続化

  • 一度ログインすれば、2FA 再認証なしでボットは永久にログイン状態を維持

  • アカウントあたり最大 500 チャンネルに参加

image

  • 実際のアカウントを使用してボット検出を回避、これは Telegram ボットではなく、実際の自動化ユーザーアカウントです。これは重要な違いです。公式ボット API には制限があり、ボットは公開チャンネルで制限されることが多いためです。

必要条件

OS / インフラ

  • Python 3+
  • Docker (オプション)
  • Telegram (デスクトップ、ウェブ、モバイル ダウンロード: https://www.telegram.org/)
  • Burner アプリ

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) - 非推奨の oauth2client を置き換え
  • python-dotenv (1.0.1)

クイックスタート

ENV 変数の設定

informer.env ファイルを編集します。このファイルには informer に必要なすべての環境変数が含まれています。

必要な Telegram 関連情報は以下で取得できます。

Telegram アプリのセットアップ

  1. https://my.telegram.org/auth にアクセスし、電話番号と電話番号 (または Telegram) に送信された確認コードを入力してアカウントを認証します。 image

image

  1. 認証が完了したら、「API Development Tools」をクリックします。 image

  2. 以下のフォームに記入して新しいアプリケーションを作成します。 image

  3. これで、informer.env ファイルの TELEGRAM_API_HASH と TELEGRAM_API_APP_ID フィールドに必要なパラメータ値が取得できました。

image

  1. TELEGRAM_ACCOUNT_PHONE_NUMBER を含む値を置き換えて、次のセクションに進みます。

image

Telegram ID の取得

ここまでで、Telethon と Informer が Telegram API にアクセスするために必要なものを取得しました。次に、ボットのアカウントの識別子を取得する必要があります。

  1. Telegram を開き、ユーザー userinfobot を検索します。

image

  1. 複数表示される場合がありますが、正しいスペルのアカウントを選択してください。

image

  1. ユーザーをクリックすると、下部に「Start」というダイアログオプションが表示されます。これをクリックします。

image

  1. このボットの唯一の目的は、現在の Telegram アカウントの情報を表示することです。

Telegram のユーザー名とアカウント ID が表示されます。これは重要です。

image

  1. informer.env ファイルを編集し、前の手順で取得した Telegram アカウント ID を TELEGRAM_ACCOUNT_ID に、ユーザー名を TELEGRAM_ACCOUNT_USER_NAME に設定します。オプションで TELEGRAM_NOTIFICATIONS_CHANNEL_ID にユーザー名またはチャンネル ID を入力することもできます。

  2. TELEGRAM_ACCOUNT_PHONE_NUMBER が入力されていることを確認してください。これはセッション生成の鍵となります。複数アカウントを作成する場合は、以下の Burner アプリを参照してください。

セッションの初期化と認証

Python 3 が動作していることを確認し、ディレクトリで ./quick_start.sh を実行してください。

初回実行時に Telegram で認証し、ローカルセッションファイルを生成するために、これを最初に実行する必要があります。

後で、異なるアカウントのファイルを app/session にコピーし、必要に応じて Docker 経由でマウントできます。

image

以前にログインしたことがある場合は Telegram 経由、または SMS で受け取った認証コードの入力を求められます。

image

Enter キーを押すと、app/session フォルダに、指定した国際電話番号に .session 拡張子を付けたファイル名でセッションが生成されます。

次のセクションでは、Docker Compose を使用してデータベースをセットアップします。

通知チャンネルのセットアップ

この手順はオプションですが、プライベートグループチャンネルを作成し、グループ ID を取得したい場合は次の手順を実行します。

  • グループ(またはチャンネル)を作成し、プライベートまたはパブリックに設定します
  • Telegram URL を必ず取得してください image

informer.env ファイルの TELEGRAM_NOTIFICATIONS_CHANNEL_URL パラメータに URL を設定します。

チャンネル ID を取得するには、app ディレクトリで python3 bot.py <TELEGRAM_ACCOUNT_ID> を実行します(<TELEGRAM_ACCOUNT_ID> は以前に生成したアカウント ID です)。

スクリプトが読み込まれると、参加しているすべてのチャンネルが表示されます。この値をコピーして informer.env ファイルの TELEGRAM_NOTIFICATIONS_CHANNEL_ID パラメータに設定し、スクリプトを終了します。これで Informer を実行する準備が整いました。

Docker Compose の実行

quick_start.sh を実行した後、次のコマンドで Docker Compose を実行できます。

  • ./start.sh を実行して、MySQL データベースを含む Docker コンテナをビルドします

image

  • ./stop.sh を実行してコンテナを停止します

  • ./clean.sh を実行して、未使用のコンテナとボリュームを削除します。 ** 注意 ** これによりデータベースがリセットされ、すべてのデータが失われます。

注意すべき点がいくつかあります。

以前は独自の MySQL インスタンスを実行する必要があり、接続文字列の互換性やバージョニングに問題が発生することがありました。このアップデートでは、自動的に作成され、ディスクに永続化されます。

さらに、ブラウザでログを表示できる Dozzle が提供されています。http://localhost:9999 にアクセスし、app_informer コンテナをクリックしてください。

Burner アプリで Telegram アカウントを作成する

自分の電話番号を使用したくなく、ある程度の匿名性を持って Informer ボットを実行したい場合は、iOS および Android で利用可能な Burner アプリを使用できます。

  1. 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. 上記と同じ手順で、新しい電話番号を https://my.telegram.org/auth に入力します

  2. Burner で検証します。SMS で認証コードが送信されるので、それを入力する必要があります

image

  1. Telegram にログインします

  2. app ディレクトリで python3 bot.py <api_user_id> を実行してアプリにログインを試みます

  3. Telethon でログインするため、先ほどと同様にターミナルで認証コードを求められます。これは Telegram メッセージまたは SMS で送信されます。コードを入力すると、セッション資格情報が後述のセッションファイルに保存されます。セッションファイルが保存されている限り、再認証は必要ありません。

セッションは app/session/ フォルダに <telegram_phone_number>.session として保存されます。

必要なセッションファイルがすべて揃うまで繰り返し、Docker でマウントするだけです。

Telegram アカウントのスケーリング

アカウントをスケーリングする方法を見つけるのは、自動化プロセスが必要だったため、少し悪夢でした。Telegram はショートコードからの SMS を受信できる実際の電話番号を使用する必要があります。

残念ながら、Twilio のような API を持つサービスは、米国、カナダ、英国では詐欺防止のためショートコードからの SMS 受信が禁止されています https://support.twilio.com/hc/en-us/articles/223181668-Can-Twilio-numbers-receive-SMS-from-a-short-code- これが理想的だったのですが、残念です。

この取り組みに一晩を無駄にしましたが、過去に使用した素晴らしいアプリ、Burner (https://www.burnerapp.com/) を思い出しました。偶然にも、API (https://developer.burnerapp.com/api-documentation/incoming-webhooks/) があります。つまり、番号を動的に生成し、新しいアカウントをインスタンス化し、Python の Telegram クライアント SDK (Telethon: https://docs.telethon.dev/en/latest/) を介してすべてを認証できます。

最も良い点は、Burner の番号は 14 日間無料であることです。クライアント API 経由で接続された Telegram アカウントは、一度ログインするだけでセッションが永続的に保持されます。私は Burner API と統合していませんが、プロセスは簡単です。

Telethon SDK

ボットは Telethon Python SDK (https://docs.telethon.dev/en/latest/) 上に構築されています。

この概念実証の構築中に遭遇した注意点と落とし穴をいくつか挙げます。

  1. レート制限 Telegram は強力なレート制限を行い、FloodWaitErrors がスローされます。調査によると、誰もこのアルゴリズムを知らないようですが、違反して未知のレート制限を超えると待機時間が指数関数的に増加するため、バックオフ待機時間をそれに応じて拡大する必要があります。私は待機方法に関して適切なバランスを見つけました。

FloodWaitErrors は、ユーザー情報の照会やあまりに多くのチャンネルに高速で参加するなど、API に過剰なリクエストを送信した場合に発生する可能性があります。

  1. Telethon セッション Telethon はセッションファイルを作成します。Telethon クライアントをインスタンス化する際にセッションファイルの名前を設定できます:

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

root@kitploit:~
このファイルは実際には sqlite データベースであり、接続できます。キャッシュとして機能し、過去のデータとセッション認証情報を保存するため、Telegram の 2FA で再認証する必要がなくなります。初回使用時にはログインと認証が必要であることに注意してください。

複数ボットアカウントの管理

ボットが実行されチャンネルに参加すると、クライアントがリアルタイムで更新され、参加した新しいチャンネルが表示されます。

image

ヒント: TelegramX は複数ログインをサポートしているため、これらの目的にははるかに優れたクライアントです。以下からダウンロード:

  • 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

Google スプレッドシート連携

注: Google スプレッドシートの連携は完全にオプションです。 アプリケーションは MySQL データベースだけでも問題なく動作します。

Google スプレッドシートへのログ記録を有効にする場合:

  1. app/credentials/README.md の詳細なセットアップガイドに従ってください
  2. ガイドには、Google Cloud サービスアカウントの認証情報 (JSON キーファイル) を取得するための更新された手順が含まれています
  3. Google は引き続き JSON 認証情報ファイルを提供しています - プロセスは 2020 年から少し変更されただけです

クイック概要:

  • Google Cloud プロジェクトを作成
  • Google Sheets API と Google Drive API を有効化
  • サービスアカウントを作成し、JSON キーをダウンロード
  • JSON ファイルを app/credentials/google_credentials.json に配置
  • Google スプレッドシートをサービスアカウントのメールアドレスと共有

これはオプションであり、ボットはこれがなくても動作します。

既知のバグ

  • 現在、キーワードの監視を開始するには、チャンネルがすでに参加済みである必要があります。bot.py を 2 回実行する必要がある可能性が高く、1 回目でチャンネルに参加させ、2 回目で監視します。この明らかなバグは認識しており、次のリビジョンで修正します。

TODO

  • ボット管理のためのユーザーインターフェースダッシュボードを作成
    • 新しいアカウントの作成
    • チャンネルの追加/削除
    • 監視するキーワードの追加/削除
    • 通知の表示
    • ウェブプッシュ通知の受信
  • データベースを自動的にポーリングして、メモリ内の監視キーワードを更新
  • Burner API と認証コードプロセスによる電話番号作成の自動化

連絡先

このプロジェクトは面白いと思いましたか?もしそうなら、スターを付けてください。

これは、暗号通貨分野の友人のために概念実証として 2 日間で作成されました。何か興味深い、または収益性の高いアプリケーションを見つけたら、ぜひコラボレーションしたいです。連絡先は以下の通りです:

@paulpierre on Twitter または hi (at) paulpierre (dot) com

私の興味深いプロジェクトのほとんどは github で非公開ですが、ぜひチェックしてみてください: http://www.github.com/paulpierre または過去の作品: http://www.paulpierre.com

オープンソースライセンス


Copyright (c) 2020 Paul Pierre 以下に定める条件に従い、本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを許可します。これには、ソフトウェアの複製、使用、変更、結合、公開、配布、サブライセンス、および/または販売の権利、およびソフトウェアを提供された人にこれらを行うことを許可する権利を、無償でかつ制限なしに含みます。 上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。 ソフトウェアは「現状のまま」で提供され、明示的か暗黙的かを問わず、いかなる保証もありません。これには、商品性、特定目的への適合性、および非侵害の保証が含まれますが、これに限定されません。いかなる場合も、著作者または著作権保持者は、契約、不法行為、またはその他の行為におけるいかなる請求、損害、その他の責任についても責任を負いません。これは、ソフトウェアに起因または関連して生じたもの、またはソフトウェアの使用またはその他の取扱いに起因するものとします。

ツールをダウンロード