システムはUbuntu16.04-desktop-amd64.isoインストール環境を選択し、インストールプロセスで更新パッケージをインストールする必要はありません。
ヘッダーファイルがない場合は、16.04.4で試してください。
明らかに、バージョン4.13は4.4.0よりも高いため、抜け穴はありません。おそらく、16.04の比較的新しいイメージが原因である可能性があります。
16.04.1および16.04.1では試していません。ですから、個人的にはインターネット上の記事の範囲は少し広いと思います
テストにはまだ16.04を使用しています。脆弱性の詳細を確認してください。脆弱性番号は次のとおりです:CVE-2017-16995
seebugに詳細な手順があります:https://www.seebug.org/vuldb/ssvid-97183
ここで脆弱性の詳細を確認すると、作成者が特定の詳細を分析したことがわかります。LinuxカーネルでのeBPF bpf(2)システム呼び出しのため、ユーザーが悪意のあるBPFプログラムを提供すると、eBPF検証モジュールが計算エラーを生成し、任意のメモリの読み取りと書き込みが発生します。問題。特権のないユーザーは、この脆弱性を使用して特権のエスカレーションを取得できます。コードは分析しません。作成者は、gccのコンパイル中にメモリアドレスの変更をデバッグするいくつかの変数R0 / R1 / R10を常に取得しようとしているため、最終的なコードは次のようになります。正解:crasher_badtrunc.c
このクラッシュコードをubuntuでコンパイルして実行し、変更を加えた後にexpを実行します。
gcc -ocrasher_badtrunc crasher_badtrunc.c -Wall && ./crasher_badtrunc
特権のエスカレーションが成功し、ルート特権が取得されていることがわかります。使用プロセスの観点からは、使用条件が比較的小さいため、リスクの高い脆弱性に属しているはずです。