カーネルエクスプロイト
カーネル経由の権限昇格
「カーネルエクスプロイト」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
カーネル経由の権限昇格
設定が厳格に管理されている場合、カーネル自体が弱点になっている可能性があります。権限のないプロセスから到達可能なカーネルコードのバグを悪用すると、ring 0でコードを実行し、root権限を取得できます。
カーネルの特定
すべては、正確なカーネルバージョンとディストリビューションの確認から始まります。特定のビルドは、特定の公開CVEやエクスプロイトに対応します。
uname -r
uname -a
cat /proc/version
cat /etc/os-releaseバージョンとCVEの照合
使用中のカーネルとディストリビューションを対象に、エクスプロイトデータベースを検索します。searchsploit(Exploit-DBのオフライン版)やlinux-exploit-suggesterなどのツールを使うと、バージョンから動作する可能性の高いエクスプロイトを特定できます。
searchsploit linux kernel 4.4
./linux-exploit-suggester.sh有名な例:Dirty COW
Dirty COW(CVE-2016-5195)は、メモリマッピングのcopy-on-write処理に存在するカーネルの競合状態です。権限のないユーザーが読み取り専用ファイル(/etc/passwd など)に書き込めるため、root権限を取得できます。2007年から2016年までのカーネルに影響します。
有名な例:DirtyPipe
DirtyPipe(CVE-2022-0847)はLinux 5.8以降に影響します。パイプバッファの処理にある欠陥により、権限のないユーザーが読み取り専用ファイルのデータを上書きできます。passwdやSUIDを上書きする同様の手法でroot権限を取得できます。
有名な例:PwnKit
PwnKit(CVE-2021-4034)は、カーネルではなく pkexec(Polkit)のユーザー空間に存在するバグです。しかし、10年以上にわたり、ほぼすべてのLinuxディストリビューションで確実にローカルrootを取得できる脆弱性でした。権限昇格では必ず確認してください。
ls -la /usr/bin/pkexec # SUID root, often vulnerableエクスプロイトのコンパイル
ほとんどのカーネルエクスプロイトは、対象と一致する環境でコンパイルする必要があるCのソースコードです。ヘッダーやコンパイラーのバージョンが一致しないと失敗します。可能であれば、対象のラボ用クローン上でコンパイルしてください。
gcc -o exploit exploit.c
# or: gcc dcow.c -o dcow -lpthreadカーネルエクスプロイトのリスク
カーネルエクスプロイトは最後の手段です。失敗するとカーネルパニックを引き起こし、システム全体がクラッシュする可能性があります — データ損失、停止時間、そして足場の喪失につながります。本番環境で決して気軽に実行しないでください。
安定性と信頼性
エクスプロイトの信頼性は、カーネルのサブバージョン、ハードウェア、緩和策(KASLR、SMEP、SMAP)によって異なります。エクスプロイトの注記を読み、影響を受ける正確な範囲を確認し、エンゲージメントの対象に触れる前にラボでテストしてください。
防御策
基本的な防御策は明確です。速やかにパッチを適用することです。カーネルを最新に保ち、緩和策を有効にし、SUIDバイナリを最小限にし、制限付きカーネル(grsecurity系の強化やseccomp)を使用してください。ほとんどのカーネルエクスプロイトは、システムにパッチを適用した時点で無効になります。
承認と注意
カーネルエクスプロイトはシステムをクラッシュさせる可能性があるため、実行前に明示的な書面による承認を得てください。本番環境以外の時間帯を優先し、クライアントが再起動できるよう準備しておきます。許可された範囲内でのみ実行してください。
クイックチェック
カーネルエクスプロイトに関する知識を確認しましょう。
まとめ
カーネルを利用した権限昇格について学びました。
- 正確なカーネルバージョンをsearchsploit/LESでCVEと照合します
- 代表例はDirty COW、DirtyPipe、PwnKitです
- 多くの場合、エクスプロイトは対象環境向けにコンパイルする必要があるCのプログラムです
- 最後の手段であり、失敗するとシステムがクラッシュします。防御にはパッチを適用します
これでLinux権限昇格コースは完了です。
よくある質問
「カーネルエクスプロイト」レッスンは無料ですか?
はい。「カーネルエクスプロイト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「カーネルエクスプロイト」で何を学びますか?
カーネル経由の権限昇格 ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「カーネルエクスプロイト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 列挙
- SUIDとsudoの悪用
- CronジョブとPATH
- カーネルエクスプロイト