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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/x011/smtp-tunnel-proxy
暗号化/復号化ツールIDS/IPS回避ネットワークセキュリティ認証レッドチーミング
GitHubx011/smtp-tunnel-proxy

smtp-tunnel-proxy

高速な秘密トンネルで、TCPトラフィックをSMTPメール通信として偽装し、Deep Packet Inspection(DPI)ファイアウォールをバイパスします。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

📧 SMTP Tunnel Proxy

TCPトラフィックをSMTPメール通信に偽装してDPI(深いパケット検査)ファイアウォールをバイパスする、高速な隠蔽トンネルです。

root@kitploit:~
┌─────────────┐      ┌─────────────┐      ┌─────────────┐      ┌──────────────┐
│ アプリケーション │─────▶│   クライアント  │─────▶│   サーバー   │─────▶│  インターネット │
│   (ブラウザ)  │ TCP │ SOCKS5:1080 │ SMTP │  ポート587  │ TCP │              │
│             │◀─────│             │◀─────│             │◀─────│              │
└─────────────┘      └─────────────┘      └─────────────┘      └──────────────┘
                            │                    │
                            │   メールトラフィックに見える     │
                            │                    │
                            ▼                    ▼
                     ┌────────────────────────────────┐
                     │     DPI ファイアウォール          │
                     │  ✅ 見える: 通常のSMTPセッション  │
                     │  ❌ 見えない: トンネルデータ       │
                     └────────────────────────────────┘

🎯 特徴

機能説明
🔒 TLS暗号化STARTTLS後、すべてのトラフィックをTLS 1.2+で暗号化
🎭 DPI回避初期ハンドシェイクは本物のSMTPサーバー(Postfix)を模倣
⚡ 高速ハンドシェイク後はバイナリストリーミングプロトコル - オーバーヘッド最小
👥 マルチユーザーユーザーごとのシークレット、IPホワイトリスト、ログ設定
🔑 認証HMAC-SHA256を使用したユーザーごとの事前共有鍵
🌐 SOCKS5プロキシ標準プロキシインターフェース - あらゆるアプリケーションで動作
📡 多重化単一トンネル上で複数接続
🛡️ IPホワイトリストIPアドレス/CIDRによるユーザーごとのアクセス制御
📦 簡単インストールsystemdサービスによるワンライナーサーバーインストール
🎁 クライアントパッケージユーザーごとに自動生成されるZIPファイル
🔄 自動再接続接続断時にクライアントが自動的に再接続

📚 詳細な技術的詳細、プロトコル仕様、セキュリティ分析については、TECHNICAL.mdを参照してください。


⚡ クイックスタート

📋 前提条件

  • サーバー: Python 3.8+が動作するLinux VPS、ポート587が開いていること
  • クライアント: Python 3.8+が動作するWindows/macOS/Linux
  • ドメイン名: TLS証明書検証に必要(無料オプション: DuckDNS、No-IP、FreeDNS)

🚀 サーバーセットアップ(VPS)

ステップ1️⃣: ドメイン名を取得する

VPSを指す無料ドメインを取得します:

  • 🦆 DuckDNS - 推奨、シンプルで無料
  • 🌐 No-IP - 無料枠あり
  • 🆓 FreeDNS - 多くのドメインオプション

例: myserver.duckdns.org → 203.0.113.50(VPSのIP)

ステップ2️⃣: インストーラを実行する

root@kitploit:~
curl -sSL https://raw.githubusercontent.com/x011/smtp-tunnel-proxy/main/install.sh | sudo bash

インストーラは以下を行います:

  1. 📥 すべてをダウンロードしてインストール
  2. ❓ ドメイン名を尋ねます
  3. 🔐 TLS証明書を自動生成
  4. 👤 最初のユーザー作成を提案
  5. 🔥 ファイアウォールを設定
  6. 🚀 サービスを開始

これだけです! サーバーの準備は完了です。

➕ 後でユーザーを追加する

root@kitploit:~
smtp-tunnel-adduser bob      # ユーザー追加 + クライアントZIP生成
smtp-tunnel-listusers        # 全ユーザー一覧表示
smtp-tunnel-deluser bob      # ユーザー削除

🔄 サーバーの更新

root@kitploit:~
smtp-tunnel-update           # コードのみ更新、設定/証明書/ユーザーは保持

💻 クライアントセットアップ

オプションA: 簡単な方法(推奨)

  1. サーバー管理者から username.zip ファイルを入手する
  2. ZIPファイルを展開する
  3. ランチャーを実行する:
プラットフォーム実行方法
🪟 Windowsstart.bat をダブルクリック
🐧

ランチャーは自動的に依存関係をインストールし、クライアントを起動します。

✅ 以下のように表示されるはずです:

root@kitploit:~
SMTP Tunnel Proxy Client
User: alice

[INFO] Starting SMTP Tunnel...
[INFO] SOCKS5 proxy will be available at 127.0.0.1:1080

Connecting to myserver.duckdns.org:587
Connected - binary mode active
SOCKS5 proxy on 127.0.0.1:1080

オプションB: 手動での方法

root@kitploit:~
cd alice
pip install -r requirements.txt
python client.py

オプションC: カスタム設定

root@kitploit:~
# ファイルをダウンロード
scp [email protected]:/etc/smtp-tunnel/ca.crt .

# config.yaml を作成:
cat > config.yaml << EOF
client:
  server_host: "myserver.duckdns.org"
  server_port: 587
  socks_port: 1080
  username: "alice"
  secret: "your-secret-from-admin"
  ca_cert: "ca.crt"
EOF

# クライアントを実行
python client.py -c config.yaml

📖 使い方

🌐 アプリケーションを設定する

SOCKS5プロキシを 127.0.0.1:1080 に設定します。

🦊 Firefox

  1. 設定 → ネットワーク設定 → 設定
  2. 手動プロキシ設定
  3. SOCKSホスト: 127.0.0.1、ポート: 1080
  4. SOCKS v5 を選択
  5. ✅ 「SOCKS v5 を使用するときはDNSもプロキシ経由で解決する」にチェック

🌐 Chrome

  1. 「Proxy SwitchyOmega」拡張機能をインストール
  2. SOCKS5: 127.0.0.1:1080 のプロファイルを作成

🪟 Windows(システム全体)

設定 → ネットワークとインターネット → プロキシ → 手動セットアップ → socks=127.0.0.1:1080

🍎 macOS(システム全体)

システム環境設定 → ネットワーク → 詳細 → プロキシ → SOCKSプロキシ → 127.0.0.1:1080

🐧 Linux(システム全体)

root@kitploit:~
export ALL_PROXY=socks5://127.0.0.1:1080

💻 コマンドライン

root@kitploit:~
# curl
curl -x socks5h://127.0.0.1:1080 https://ifconfig.me

# git
git config --global http.proxy socks5://127.0.0.1:1080

# 環境変数
export ALL_PROXY=socks5://127.0.0.1:1080

✅ 接続テスト

root@kitploit:~
# VPSのIPが表示されるはず
curl -x socks5://127.0.0.1:1080 https://ifconfig.me

⚙️ 設定リファレンス

🖥️ サーバーオプション(config.yaml)

👥 ユーザーオプション(users.yaml)

各ユーザーは個別の設定を持つことができます:

root@kitploit:~
users:
  alice:
    secret: "auto-generated-secret"
    # whitelist:              # オプション: 特定のIPに制限
    #   - "192.168.1.100"
    #   - "10.0.0.0/8"        # CIDR表記対応
    # logging: true           # オプション: falseでこのユーザーのログを停止

  bob:
    secret: "another-secret"
    whitelist:
      - "203.0.113.50"        # BobはこのIPからのみ接続可能
    logging: false            # Bobのアクティビティをログに記録しない
オプション説明デフォルト
secretユーザーの認証シークレット

💻 クライアントオプション


📋 サービスの管理

root@kitploit:~
# 状態確認
sudo systemctl status smtp-tunnel

# 設定変更後に再起動
sudo systemctl restart smtp-tunnel

# ログ表示
sudo journalctl -u smtp-tunnel -n 100

# アンインストール
sudo /opt/smtp-tunnel/uninstall.sh

🔧 コマンドラインオプション

🖥️ サーバー

root@kitploit:~
python server.py [-c CONFIG] [-d]

  -c, --config    設定ファイル(デフォルト: config.yaml)
  -d, --debug     デバッグログを有効にする

💻 クライアント

root@kitploit:~
python client.py [-c CONFIG] [--server HOST] [--server-port PORT]
                 [-p SOCKS_PORT] [-u USERNAME] [-s SECRET] [--ca-cert FILE] [-d]

  -c, --config      設定ファイル(デフォルト: config.yaml)
  --server          サーバーのドメインを上書き
  --server-port     サーバーのポートを上書き
  -p, --socks-port  ローカルのSOCKSポートを上書き
  -u, --username    ユーザー名
  -s, --secret      シークレットを上書き
  --ca-cert         CA証明書のパス
  -d, --debug       デバッグログを有効にする

👥 ユーザー管理

root@kitploit:~
smtp-tunnel-adduser <username> [-u USERS_FILE] [-c CONFIG] [--no-zip]
    新しいユーザーを追加し、クライアントパッケージを生成

smtp-tunnel-deluser <username> [-u USERS_FILE] [-f]
    ユーザーを削除(-f で確認をスキップ)

smtp-tunnel-listusers [-u USERS_FILE] [-v]
    全ユーザーを一覧表示(-v で詳細情報)

smtp-tunnel-update
    サーバーを最新バージョンに更新(設定/証明書/ユーザーは保持)

📁 ファイル構造

root@kitploit:~
smtp_proxy/
├── 📄 server.py               # サーバー(VPS上で実行)
├── 📄 client.py               # クライアント(ローカルで実行)
├── 📄 common.py               # 共有ユーティリティ
├── 📄 generate_certs.py       # 証明書生成ツール
├── 📄 config.yaml             # サーバー/クライアント設定
├── 📄 users.yaml              # ユーザーデータベース
├── 📄 requirements.txt        # Python依存関係
├── 📄 install.sh              # ワンライナーサーバーインストーラ
├── 📄 smtp-tunnel.service     # systemdユニットファイル
├── 🔧 smtp-tunnel-adduser     # ユーザー追加スクリプト
├── 🔧 smtp-tunnel-deluser     # ユーザー削除スクリプト
├── 🔧 smtp-tunnel-listusers   # ユーザー一覧スクリプト
├── 🔧 smtp-tunnel-update      # サーバー更新スクリプト
├── 📄 README.md               # このファイル
└── 📄 TECHNICAL.md            # 技術文書

📦 インストールパス(install.sh実行後)

root@kitploit:~
/opt/smtp-tunnel/              # アプリケーションファイル
/etc/smtp-tunnel/              # 設定ファイル
  ├── config.yaml
  ├── users.yaml
  ├── server.crt
  ├── server.key
  └── ca.crt
/usr/local/bin/                # 管理コマンド
  ├── smtp-tunnel-adduser
  ├── smtp-tunnel-deluser
  ├── smtp-tunnel-listusers
  └── smtp-tunnel-update

🔧 トラブルシューティング

❌ 「Connection refused」

  • サーバーが実行中か確認: systemctl status smtp-tunnel または ps aux | grep server.py
  • ポートが開いているか確認: netstat -tlnp | grep 587
  • ファイアウォールを確認: ufw status

❌ 「Auth failed」

  • username と secret が users.yaml と一致しているか確認
  • サーバーの時刻が正確か確認(5分以内)
  • smtp-tunnel-listusers -v を実行してユーザーが存在するか確認

❌ 「IP not whitelisted」

  • users.yaml のユーザーのホワイトリストを確認
  • 現在のIPがホワイトリストのエントリと一致する必要がある
  • CIDR表記がサポートされています(例: 10.0.0.0/8)

❌ 「Certificate verify failed」

  • IPアドレスではなくドメイン名を使用していることを確認
  • server_host が証明書のホスト名と一致していることを確認
  • サーバーから正しい ca.crt を取得していることを確認

🐛 デバッグモード

root@kitploit:~
# 詳細ログを有効にする
python server.py -d
python client.py -d

# systemdログを表示
journalctl -u smtp-tunnel -f

🔐 セキュリティに関する注意事項

  • ✅ 適切なTLS検証のために常にドメイン名を使用する
  • ✅ 中間者攻撃を防ぐために常に ca_cert を使用する
  • ✅ 強力なシークレットを自動生成するために smtp-tunnel-adduser を使用する
  • ✅ クライアントIPが分かっている場合はユーザーごとのIPホワイトリストを使用する
  • ✅ users.yaml を保護する(すべてのユーザーシークレットを含むため、chmod 600)
  • ✅ 機密性の高いユーザーには logging: false でログを無効化する

📚 詳細なセキュリティ分析と脅威モデルについては、TECHNICAL.mdを参照してください。


📄 ライセンス

このプロジェクトは教育目的および許可された使用のために提供されています。責任を持って、適用される法律に従って使用してください。


⚠️ 免責事項

このツールは、正当なプライバシーと検閲回避の目的のために設計されています。ユーザーは、自身の使用が適用される法律や規制に準拠していることを確認する責任を負います。


インターネットの自由を愛して ❤️

ツールをダウンロード
Linux
./start.sh を実行
🍎 macOS./start.sh を実行
オプション説明デフォルト
host待受インターフェース0.0.0.0
port待受ポート587
hostnameSMTPホスト名(証明書と一致する必要あり)mail.example.com
cert_fileTLS証明書のパスserver.crt
key_fileTLS秘密鍵のパスserver.key
users_fileユーザー設定ファイルのパスusers.yaml
log_usersグローバルログ設定true
必須
whitelistこのユーザーに許可するIP(CIDR対応)すべてのIP
loggingこのユーザーのアクティビティログを有効にするtrue
オプション説明デフォルト
server_hostサーバーのドメイン名必須
server_portサーバーのポート587
socks_portローカルのSOCKS5ポート1080
socks_hostローカルのSOCKS5インターフェース127.0.0.1
usernameユーザー名必須
secret認証シークレット必須
ca_cert検証用のCA証明書推奨