Ch4n24n のアイコン

Ch4n24n

hackdeck:HTB の問題を tmux セッション単位で管理するツールの紹介

2026/11/02 公開約3分雑談

HTBToolsTmux

はじめに

  • HTB などの問題で行う 定常作業(いつものコマンドの入力・メモに使うフォルダの用意など) を管理するツールを作りました → Ch4n24n/hackdeck-public
  • 問題ごとのフォルダ(セッション)の管理、コマンドの生成、資格情報・環境変数の管理 の機能を持った All in One ツールになります

自分好みに魔改造済みです。

自分のやり方に合わせて作り込んだので、かなりの欲張りセットになっています💦
※ 画面も説明も日本語だけ。Kali・zsh・tmux・fzf・GNOME Terminal でしか試していません

仕組み

hackdeck は、それぞれの問題を tmux セッションで管理します。
機能としては以下のとおりです。

機能説明
問題をフォルダ単位で管理1 問題につき、1 tmux セッション(1 フォルダ)を生成します
各セッション(フォルダ)をツールで一元管理できます ※ tmux の機能
資格情報・環境変数の隔離資格情報・環境変数は、そのセッション内に隔離されます ※ tmux の機能
コマンドの生成自分が登録したコマンドを、数クリックでコンソールに出力できます
※ 資格情報・環境変数で定義されていた場合、オプションの値はコマンドに合った書き方で出力されます
ログの保存セッション内で実行されたすべてのコマンドの入出力は、1つのファイルに書き出されます

イメージ

hackdeck
 ├─ 問題 A … tmux セッション「A」 + フォルダ ~/cases/A(雛形をクローンしたもの)
 ├─ 問題 B … tmux セッション「B」 + フォルダ ~/cases/B
 └─ …

使い方

1. セッション(フォルダ)を作る

  • メニューの「案件」のタブでフォルダ名を打つと、その名前のフォルダを生成します。それと同時に、同名のセッションも生成され、そのセッションに入ります

フォルダ生成の実態

実体は、リポジトリのクローンであり、どのリポジトリをクローンするのかは設定タブで選択できます
自由なリポジトリを設定可能ですが、未設定の場合はシンプルな作業フォルダを作成します

2. 環境変数と資格情報を登録する

  • 「環境」のタブで、TARGET などの環境変数を登録します。登録した値は、そのセッションのすべてのペインで、次に打つコマンドから使えます

  • 「資格情報」のタブで、見つけたユーザー名とパスワード(ハッシュ)を登録します

3. コマンドを生成する

  • 「コマンド」のタブでコマンドを選ぶと、中の変数(<host> など)を、1つずつ候補から選べます
  • ホストを選ぶ画面には、環境変数($TARGET)や /etc/hosts の名前が出ます

  • 資格情報を選ぶ画面には、登録したものが、道具に合った書き方で出ます。選ぶだけで、ユーザー名とパスワードが入ります

  • できたコマンドは、いまのペインの入力行に入ります(Enter を押すまで実行されません)

おわりに

  • 問題を解いていると、問題ごとの情報をどう整理しようか、コマンドの入力を楽できないか?と思うことが多かったので、この機会に悩み解決の欲張りセットツールを作ってみました💦
  • 自分専用ですが、tmux セッションで問題を分ける形は、ほかの道具でも使えると思います!
  • ぜひご参考までに🙇
次に読む
© 2026 Ch4n24n