【Linux権限昇格の基本編】侵入後にrootへ届くまでの思考|CTF思考フレームワーク P01
広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・キャンペーン内容はリンク先で最新情報を確認してください。
こんにちは、アンペンです!ここから新ルート権限昇格(Privesc)編。その第一歩P01はLinux権限昇格の基本です。侵入後に『一般ユーザーからroot』へ上がる発想——その核心は派手な攻撃ではなく、徹底した観察(列挙)にあります。守る側の視点もセットで学びましょう。
『侵入できたら、もう勝ちでは?』——そう思いますよね。でも実際の攻撃では、最初に入れるのはたいてい“いちばん弱い一般ユーザー”の権限だけ。これでは大事なファイルも読めず、設定もいじれません。本当に好き勝手できるのは、管理者=rootになってから。つまり侵入は“ゴール”ではなく“スタート地点”なんです。なお、ここからは侵入後の手法なので、試すのは必ず自分のVMかCTFで。他人のサーバで動かせば、それは犯罪です。

侵入できたら、もうゴールじゃないの?なんでさらにrootを狙うの?

最初に入れるのはたいてい権限の弱い一般ユーザーなんだ。ファイルを読んだり設定を変えたりするにはroot(管理者)が要る。だから『より強い権限』へ上がる=権限昇格が必要になる。鍵は列挙(enumeration)——システムの隅々を観察して、設定の隙間を見つけることだよ。
権限昇格(Privilege Escalation)とは「侵入後に、より高い権限(Linuxならroot)を得ること」。攻撃の主役は破壊ではなく列挙(enumeration)——sudo -l・SUIDバイナリ・cron・平文認証情報・カーネル版数をくまなく観察し、設定の隙間を探す。典型ベクターはsudo誤設定・不要なSUID・書込み可能なcronスクリプト・置き忘れた認証情報・古いカーネル。守る側は『最小権限+sudoers/SUIDの棚卸し+cron権限の厳格化+平文認証情報を置かない+パッチ適用』。権限昇格対策の9割は「余計な権限と隙間を残さない」ことです。
この記事で分かること
- 権限昇格とは何か、なぜ列挙が9割なのか
- Linux権限昇格の典型ベクター5つ
- sudo -l・SUID・cron・認証情報・カーネルの調べ方
- 自動列挙ツール(LinPEAS)とGTFOBinsの役割
- 守る側の「隙間を残さない」チェックリスト
📖 はじめてのWebセキュリティP01|Linux権限昇格の基本
侵入後にrootへ上がる発想と、その隙間を塞ぐ守りを学ぶ。 シリーズ一覧を見る →
⚠️ 大事なお約束
権限昇格は侵入後の手法です。他人のサーバで試すのは不正アクセス禁止法に直結します。本記事の手順は自分で構築したVM・CTF・書面で許可された検証環境に限定してください。本記事の目的は防御側の理解です。「できる」と「やってよい」は全く別です。
Linux権限昇格:典型ベクター5つ
- ①sudoの誤設定:
sudo -lで「パスワードなしで実行できるコマンド」を確認。NOPASSWDやワイルドカードが昇格経路に - ②不要なSUIDバイナリ:所有者(root)権限で動く実行ファイル。
GTFOBins掲載のバイナリにSUIDが付くとroot奪取の踏み台 - ③書込み可能なcron:rootで定期実行されるスクリプトが書込み可能だと、中身を差し替えてroot実行させられる
- ④置き忘れた認証情報:設定ファイル・
.bash_history・.envに平文のパスワードや鍵が残っていることがある - ⑤古いカーネル:
uname -aで版数を確認。既知のカーネルエクスプロイトが刺さる場合がある
5つを一言でまとめると、どれも『管理者が残した“うっかり”』を拾う話です。sudoの設定ミス、消し忘れたSUID、誰でも書き換えられるcron、置きっぱなしのパスワード、更新し忘れたカーネル——どれも高度な攻撃ではなく、“片付け忘れ”なんです。だから攻撃者は破壊ではなく、ひたすら観察して、その片付け忘れを探す。これが権限昇格の正体です。

ここで覚える用語:権限昇格と列挙(Enumeration)
意味:権限昇格は低い権限から高い権限(root)へ上がること。列挙は、システムの設定・ファイル・プロセスをくまなく調べて昇格の糸口を探す作業です。
例:sudo -lでパスワードなし実行可能コマンドを確認、find / -perm -4000 -type f 2>/dev/nullでSUIDバイナリを一覧化する。
使いどころ:権限昇格の9割は列挙です。だから守る側の発想は逆——「列挙されても何も出てこない状態」を作る。sudoers最小化とSUID棚卸しがその核心です。
なぜ「観察」が主役なのか
権限昇格は、社員証で正規に入ったオフィス(=初期侵入済み)の中を歩き回る作業に似ています。あなたは平社員の権限しかありませんが、館内を観察すると——机に貼られた管理者パスワードの付箋(=平文認証情報)、開けっ放しの鍵付き棚(=書込み可能なcron)、誰でも使える管理者用の道具(=SUIDバイナリ)が見つかる。これらを拾い集めれば、立入禁止の最上階(=root)へ上がれてしまう。派手な破壊ではなく、観察と発見が主役なのです。だから守る側は「歩き回られても何も拾えない」よう、付箋を剥がし、棚に鍵をかけ、道具を片付けます。

ここまでで『権限昇格は観察が9割』と分かりました。では、観察して見つかる“うっかり”の中で、とくに頻出のものを一つ、掘り下げてみましょう。それが次に出てくる『SUID』です。名前は地味ですが、仕組みを知ると“なぜこれが踏み台になるのか”がスッと腑に落ちますよ。
SUIDビット:意図せぬroot実行の入口
5つのベクターの中でもとくに頻出なのがSUIDバイナリです。次回P02で深掘りしますが、ここで基礎だけ押さえておきましょう。SUIDの仕組みを理解すると、なぜ「不要なSUIDの棚卸し」が守りの定番になるのかが見えてきます。
SUIDを一言でいうと、『実行した人ではなく、ファイルの持ち主の権限で動く』仕組みです。たとえばパスワード変更コマンドは、一般ユーザーが実行しても“root権限”で動く必要があるので、正当にSUIDが付いています。問題は、本来そんな権限が要らないコマンドにまでSUIDが付いてしまったとき。それは“誰でも使える管理者の道具”が、その辺に転がっているのと同じなんです。攻撃者はその道具を使って、root権限でシェルを起動してしまう、というわけです。
ここで覚える用語:SUIDビットとroot実行
意味:SUID(Set User ID)ビットが立った実行ファイルは、実行した人ではなく所有者の権限で動きます。所有者がrootなら、一般ユーザーが実行してもroot権限で処理が走ります。
例:/usr/bin/passwdは正規のroot所有SUID(パスワード変更にroot権限が要るため)。一方、本来不要なバイナリにSUIDが付くと、GTFOBins掲載の悪用法でシェルをroot権限で起動できてしまう。
使いどころ:守る側はfind / -perm -4000で定期棚卸しし、不要なSUIDを削除します(詳細はP02)。
CTFでやってみよう:自分のVMで列挙を体感
「列挙だけで昇格の糸口がどれだけ出るか」を手を動かして確かめる
対象は必ず自分で構築したVMかCTFです。攻撃者がrootを狙う順で、自分の環境にどんな隙間があるかを点検します。各ステップに「なぜやるか」を添えました。
id/whoami/hostnameで現在の権限を把握 → なぜ:出発点を確認するためsudo -lでパスワードなし実行可能コマンドを確認 → なぜ:最速の昇格経路を探すためfind / -perm -4000 -type f 2>/dev/nullでSUID一覧 → なぜ:踏み台候補を洗うためcrontab -lと/etc/cron*で定期実行を確認 → なぜ:書込み可スクリプトのroot実行を探すため- 設定ファイル・
history・.envの平文認証情報を探す → なぜ:鍵の置き忘れを見つけるため uname -aでカーネル版数を確認 → なぜ:既知エクスプロイトの該否を見るためLinPEAS等の自動列挙を実行し結果を読む → なぜ:手動の見落としを防ぐため- 見つけた経路を
GTFOBinsで照合 → なぜ:既知の悪用法と対策を理解するため
では守り方。ここまで読めば、もう発想は見えていますよね——攻撃が“観察で隙間を拾う”なら、守りは“拾えるものを置かない”。付箋(平文パスワード)を剥がし、棚(cron)に鍵をかけ、余計な道具(SUID)を片付ける。次のチェックリストは、その“片付け”を漏れなくやるための一覧です。
守る側:隙間を残さない
- 最小権限の原則:sudo権限は必要な人・コマンドだけに限定する
- sudoersを定期監査:NOPASSWDやワイルドカード(
ALL)の乱用を点検する - SUID/SGIDを棚卸し:
find / -perm -4000で不要なものを削除する - cronスクリプトの権限を厳格化:rootで動くスクリプトの書込み権限を絞る
- 平文認証情報を置かない:Secrets管理を使い、historyや設定ファイルを掃除する
- カーネル・パッケージを最新に:既知のカーネルエクスプロイトを塞ぐ
- capabilitiesを最小化:必要以上の権限を付与しない
- ログ監査:sudo実行やSUID実行を記録・監視する


攻撃って観察なんだね。守る側は『拾えるものを置かない』——すごく腑に落ちたよ。

その通り!列挙されても何も出てこない状態が理想だよ。次はP02、SUID・sudoers深掘り編。今回さらっと触れたSUIDとsudoの悪用を、GTFOBinsを使って具体的に、そして守り方まで掘り下げるよ。
まとめ:権限昇格は『観察』、守りは『隙間を消す』
- 権限昇格は侵入後にrootを得ること。主役は列挙
- 典型ベクターはsudo誤設定・SUID・cron・平文認証情報・古いカーネル
sudo -lとfind -perm -4000が最初の一手- 自動列挙はLinPEAS、悪用法照合はGTFOBins
- 守りは最小権限・棚卸し・cron厳格化・認証情報を置かない・パッチ
今日の持ち帰りは『権限昇格は派手な技ではなく、地道な観察』。裏返せば、守る側がやることも地道で——“余計な権限と片付け忘れを残さない”、これに尽きます。攻撃者がいくら隅々を観察しても、何も拾えなければ昇格できない。『列挙されても、何も出てこない』状態を目指すのが、いちばんの防御です。
次はP02、SUID・sudoers深掘り編。今回基礎を押さえたSUIDとsudoの悪用を、GTFOBinsで具体的に、守り方まで掘り下げます。
次に読みたい記事
参考資料
PR / 広告 CTFの練習は「壊しても作り直せる自分専用の環境」があると一気に捗ります。VPSなら数百円/月からLinux環境を持てて、ローカルPCを汚さずに検証できます(攻撃は必ず自分の環境・許可された環境だけで)。
次に読みたい記事
未経験からセキュリティ・インフラエンジニアを目指すロードマップ
CTFの先のキャリア。インフラ基礎固めから就職までの4ステップ。
