世界を動かす技術を、日本語で。

GTFOBinsの翻訳は「GTFOBins」となります。これは特定のプロジェクト名や用語であるため、翻訳せずそのまま表記します。

2026年4月28日原文(gtfobins.org)

概要

このリストは、LinuxやUnix系システムにおけるコマンドやプログラムの権限や機能別分類を示しています。 各コマンドの特徴(シェル実行、ファイル操作、アップロード/ダウンロード、特権昇格など)が明記されています。 セキュリティ監査や脆弱性評価、権限昇格の調査時に役立つ情報。 実際の攻撃経路や防御策の検討材料として活用可能。 理解しやすい体言止め形式で用途や危険性を整理。

Linux/Unixコマンド権限・機能別分類

  • Shell実行:

    • bash, sh, ash, csh, tcsh, fish, zsh, dash, ksh, rc, elvish, sash, etc.
    • シェルアクセス獲得やコマンド実行の起点
  • ファイル読み込み/書き込み:

    • cat, less, more, tail, head, grep, awk, sed, tee, cp, mv, dd, split, join, sort, uniq, etc.
    • 任意ファイルの閲覧や編集、情報収集
  • アップロード/ダウンロード/ネットワーク通信:

    • curl, wget, ftp, sftp, scp, rsync, nc (netcat), socat, ssh, smbclient, lftp, aria2c, git, etc.
    • ファイル転送や外部サーバとの通信経路
  • リバースシェル/バインドシェル:

    • bash, nc, socat, perl, python, ruby, php, node, gawk, lua, nmap, etc.
    • 外部からのシェル接続やリモート操作の実現
  • 特権昇格:

    • sudo, su, pkexec, chown, chmod, chattr, setcap, setfacl, mount, cp (SUID), ln (ハードリンク), etc.
    • 一般ユーザーからroot権限取得の経路
  • ライブラリロード:

    • python, perl, ruby, node, gdb, ffmpeg, openssl, etc.
    • 任意コード実行や外部モジュール読み込み
  • コマンド実行/スクリプト実行:

    • make, cmake, autoconf, ansible-playbook, puppet, chef, docker, kubectl, npm, pip, gem, cargo, etc.
    • スクリプトや自動化ツールによるコマンド連携
  • プロセス・システム操作:

    • ps, top, htop, systemctl, journalctl, dmesg, crontab, at, loginctl, etc.
    • システム情報取得やスケジューリング、サービス管理
  • パッケージ管理:

    • apt, apt-get, aptitude, yum, dnf, zypper, rpm, dpkg, snap, pip, gem, npm, etc.
    • ソフトウェアインストールやアップデート経路
  • 暗号化/証明書/ネットワーク関連:

    • openssl, gpg, ssh-keygen, ssh-agent, ssh-add, certbot, etc.
    • セキュア通信や認証情報の生成・管理
  • その他ユーティリティ:

    • file, strings, hexdump, cmp, diff, patch, iconv, base64, base32, jq, etc.
    • ファイル解析・変換やデータ処理

セキュリティ観点での注意点

  • SUID/SGID属性root権限 で実行可能なコマンドは特に危険性が高い
  • 外部通信ファイル転送 機能を持つコマンドは情報漏洩リスク
  • シェル実行ライブラリロード が可能なコマンドは任意コード実行経路
  • パッケージ管理コマンド は悪意あるソフトウェア導入の温床
  • サービス管理スケジューラ は永続化やバックドア設置に利用されやすい

利用シーン例

  • 脆弱性診断時の 攻撃経路特定
  • 権限昇格や 情報漏洩 のリスク評価
  • SOC/CSIRT によるログ監査やアラートルール策定
  • セキュリティ教育 や運用手順策定の参考資料

このリストは 攻撃者視点 でも 防御者視点 でも活用できるため、 自組織のシステムにどのコマンドが存在し、どの権限で動作しているか定期的な棚卸し・監査が重要。

Hackerたちの意見

でも、そのコマンドを実行するには、すでにシステムにシェルアクセスが必要だよね?

でも、そういうアクセスはちょっとしたソーシャルエンジニアリングで得られるからね。人は今でもメールの中のリンクをクリックしたり、コンピュータがそう言ったからってコマンドを実行したりするし。

シェルアクセスだけじゃなくて、サーバーがユーザーにこれらのバイナリをrootとして実行できるように設定されてる必要があるんだよね(例えば、管理者がsudoersファイルに追加するみたいに)。だから、これはかなりニッチな攻撃ベクトルで、しばしば怠慢なシスアドのせいで発生することが多いんだ。

サイトの前文にも書いてあるけど、これを単なるエクスプロイトの集まりだと思わないで、緊急時に使うための昇格技術に関する知識の集大成だと思ってほしい。80年代に若いUnix開発者だったころ、間違ってuntarしたり、'rm -rf /'を打ち間違えたりして、どれだけ指を焼いたかわからないよ。再起動する前に修正しないと壊滅的なことになるシステムが動いてて、シェルはまだアクティブで…どうする?この素晴らしいアドバイスのリストを参考にして、システムを再構築したり、他にできないことをやるために使ったりするんだ… GTFOBinsはハッキングだけのためじゃなくて、システムの修復や復旧にも使える。ハッカー攻撃の後にこの知識ベースを参考にするのも、前にするのと同じくらいあり得るよ。

mtrにWiFiアクセスがあれば、rootとしてtracerouteできるけど、シェルを起動したりファイルを読んだりはできないかも。でも、これらのツールを使えば昇格できるよ。

…あるいはCGIコマンドを実行する何か。Bashスクリプトはインターネットの接着剤みたいなもので、たくさんのスクリプトが雑に書かれてる。まだまだPHPで動いてるものや、裏でちょっとしたPythonのcronジョブに依存してるものがたくさんある。こういうものが機能する方法の多くは、脆弱性をつなげることに依存してるんだよね…データベースへのエスケープされていないクエリが、夜間のcronジョブにパイプされて何かを同期したりバックアップしたりすることが攻撃ベクターになる。

ちょっと混乱してるんだけど、これはcatにアクセスできない場合、cat /path/to/input-fileの代わりにbase64 /path/to/input-file | base64 --decodeを使えるってこと?それとも、base64 /path/to/input-file | base64 --decodeがファイルの読み取り権限をバイパスできるってこと?

最初に言いたいのは、呼び出されたプロセスは、それを呼び出したユーザーの権限を引き継ぐってこと(setuidビットがない限り)。これは、攻撃者の横移動を防ぐために、標準のUnixツールが無効にされているコンピュータにアクセスした場合のためだよ。

あなたのユーザーが読み取りアクセスを持っていないファイルがあっても、rootとしてbase64バイナリを実行できるなら、rootとしてbase64を実行して(ファイルの内容をbase64でエンコードして)、その出力を別のbase64プロセスにパイプしてファイルの内容をデコードできる。だから、最終的にはちょっと手間がかかるけど、結果的にはcatと同じだよ。

tarパイプの方がもっと軽いんじゃない?

前者だね。権限をバイパスするんじゃなくて、ほんの数個のコマンドに制限されたシェルの中での話。みんなが言ってるように、CTFではめちゃくちゃよくあることだよ。

これは、コマンドをブラックリスト化して権限を制限するのは効果がない(そして、今まで効果があったこともない)って言ってるんだ。

Hacker Newsで議論の続きを見る