
GoFile (gofile.io) のダウンロードパスワード用ワードリストブルートフォーサー
パスワード保護された GoFile 共有に対してワードリストを試行するための、90年代後半風 IRC クライアント TUI。
文書化された REST API とのみ通信し、レート制限を厳格なルールとして扱う。リクエストは逐次実行、控えめなデフォルト間隔、429 / error-rateLimit に対する指数バックオフ、そして 429 が繰り返された場合の自動一時停止により、クライアントが IP バンに踏み込まないようにする。
作者: @abraxas_null · github.com/abraxas · abraxaslabs.tech · [email protected]
リポジトリ: github.com/abraxas/GoFileX

スクリーンショットは実際のセッションです。共有 ID、API トークン、アカウント UUID、および発見されたパスワードは伏せられています。これを生み出したハントは現在も進行中です。ノートと以下のブログシリーズを参照してください。
@YogSoth0 は TESO オマージュの宝探しを告知しました。まず GoFile、次に暗号化されたバイナリです。GoFile の層はパスワードで保護された公開共有です。API はそのゲートを GET /contents/{id}?password=<sha256-hex> として公開しています。GoFileX は、未公開のリスト取得クォータを使い果たして IP バンを食らうことなく、そのゲートを試行するために私が書いたクライアントです。
解説記事(共有パスワードは伏せられています):
このリポジトリ内の補足ノート: docs/this-is-not-your-password.md。
これはあなたが所有する共有、またはテストの明示的な許可を得た共有に対してのみ使用してください。宝探し / CTF のルールも許可として数えられます。GoFile があなたの IP を忘れるまで GET /contents をタイトループすることは許可に含まれません。
gofile.io/api および公式 Web クライアント
(wt.obf.js、
/myprofile) より:
| ルール | GoFileX の動作 |
|---|---|
| 1 アカウント、トークンを再利用 | セッションごとに POST /accounts を 1 回。~/.gofilex/sessions/ に保存 |
GET /contents/{id} は Premium バッジ付き | ゲストが公開共有を読めるよう、公式 Web クライアントが使うのと同じ X-Website-Token を送信。/myprofile の Premium トークンが文書化された正規の方法 |
| パスワードパラメータは平文の SHA-256 16 進数 | すべての推測はマシンから出る前にハッシュ化される |
error-rateLimit / HTTP 429 → バックオフ | リスト取得呼び出し間のデフォルト 3 秒(下限 1.5 秒)、任意の API 呼び出し間は 1 秒の間隔。429 は指数バックオフ 15 秒 × 2ⁿ(上限 8 分)を使用し、巡航速度を倍にする。3 回連続の 429 で一時停止 |
| 正確な制限は未公開。429 の繰り返しは IP バンの可能性 | 間隔の下限は 1.5 秒。/rate はそれを下回らない。タイムアウトは /heartbeat まで一時停止 |
GET /servers ≤ 1 / 10 秒 | 呼び出されない |
パスワード長は文書化された 4〜100 文字の範囲にローカルでフィルタリングされるため、短すぎる/長すぎる行がリスト取得呼び出しを消費することはありません。
プロトコルに関するさらなる読み物:
Python 3.10+(python.org)。github.com/abraxas/GoFileX からクローン:
git clone [email protected]:abraxas/GoFileX.git
cd GoFileX
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python -m gofilex
オプションのフラグ:
.venv/bin/python -m gofilex \
--session ctf1 \
--target https://gofile.io/d/YOURSHARE \
--wordlist ~/lists/high-signal.txt \
--wordlist ~/lists/nordpass.txt
セッションにトークンがない場合、ゲストアカウントが /guest で発行されます。そのトークンを保管してください — ゲストにとってはアカウントに戻る唯一の手段です。すでに GoFile アカウント(特に Premium)を持っている場合は、gofile.io/myprofile のトークンを貼り付けてください:
/token YOUR_API_TOKEN
デフォルトのターゲットはありません。/heartbeat または /start の前に、--target または /target でクライアントを共有に向けてください。
| コマンド | 動作 |
|---|---|
/help | コマンド一覧 |
/heartbeat | GET /contents を 1 回(リスト取得予算にカウント。リトライなし)。/probe はエイリアス |
/wl add FILE [FILE…] | ワードリストをキューに追加。順番に実行され、保存された行から再開 |
/wl all | wordlists/custom/ の下、次に wordlists/public/ の下で見つかったすべてのリストをキューに追加 |
/start /pause /resume /stop | キューを試行 |
/try password | 単一試行 |
/rate 5 | リスト取得呼び出し間の秒数(最小 1.5、デフォルト 3) |
/stats | GET /accounts/{id} を更新(使用量 / ティア) |
/dl [dir] | ヒット後にファイルをダウンロード |
/session name | 再利用可能なセッションを切り替え |
/target <url|id> | GoFile 共有を切り替え。進捗は id ごとに保持 |
/targets | このセッションに保存されたすべての GoFile id を一覧表示 |
/quit | 保存して終了 |
F1 = ヘルプ、Ctrl-S = 開始、Ctrl-P = 一時停止。
重要なものはすべて、すべてのパスワード試行後に ~/.gofilex/sessions/<name>.json に書き込まれます(アトミック置換、モード 0600)。電源喪失や /quit でも同じチェックポイントが残ります。
各セッションが保存するもの:
idle / paused / running / found)python -m gofilex は最後のセッション(~/.gofilex/active.json)を再度開きます。別のハントには --session other または /session other を使用してください。別の id に /target すると新しいジョブが作成され、現在のワードリストのパスがコピーされます(進捗は 0 から開始)。切り戻すとその id の行が復元されます。
ループはクラッシュ後に自動開始しません(死んだ GoFile IP が叩かれないようにするため)。/start は保存された行から続行します。
~/.onefilex/ に書き込んでいた以前のインストールは、初回起動時に ~/.gofilex/ に移行されます。
GoFileX はワードリストを同梱していません。自分で用意してください。公開ソースについては wordlists/README.md を参照:
高シグナル / OSINT リストを最初に置いてください。/wl all は wordlists/custom/ を wordlists/public/ より前にキューに入れます。完全な rockyou.txt を 1 推測 3 秒で回すと API 時間にして数年になります。やめましょう。
Premium トークン。GET /contents は Premium 専用として文書化されています。クライアントが 1 つのアカウントを再利用できるようゲストトークンが発行されました。ゲストとして他人の共有をリスト取得できるかは、GoFile が公式 Web アプリの送る website-token ヘッダーを受け入れるかどうかに依存します。/heartbeat が error-notPremium を返す場合は、gofile.io/myprofile の Premium トークンを /token で貼り付けてください。
また、ハントそのものであるワードリストを生成することもできません。それがハントの要点です。記事を読み、近くの記事を読み、リストを構築し、GoFileX をそれに向けてください。
オフラインのみ。api.gofile.io への呼び出しはありません。
.venv/bin/pip install pytest
.venv/bin/pytest -q
| このリポジトリ | github.com/abraxas/GoFileX |
| 作者 | @abraxas_null |
| GitHub | github.com/abraxas |
| ブログ | abraxaslabs.tech |
| メール | [email protected] |
| GoFile | gofile.io · API · FAQ · profile / token |
| ハント投稿 | YogSoth0 |
| ヒントリポジトリ | Yog-Sotho/Fortinet-Hunter-2026 |
| TESO | teso.scene.at (archive) · 7350wurm |
| シリーズ | Phase 0 · Phase 1 · Phase 2 |