コンテナ内で CVE-2017-1000253 をデモします。 このデモは、CentOS 上でエクスプロイトを実行する Qualys POC コード に依存しています。
1.CentOS 7 をインストール
2.Docker をインストール
3./etc/yum.repos.d/CentOS-Vault.repo ファイルを編集:
1.各エントリのパスを 7.3.1611 を含むように変更:
baseurl=http://vault.centos.org/7.3.1611/os/$basearch/
baseurl=http://vault.centos.org/7.3.1611/updates/$basearch/
...
2.すべてのエントリを有効化:
enabled=1
4.リポジトリリストを更新
yum repolist
5.脆弱性カーネルをインストール
yum install kernel-3.10.0-514.26.1.el7.x86_64
6.カーネル ID を確認(以下の例では 0):
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg0
0 : CentOS Linux (3.10.0-514.26.1.el7.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-514.26.1.el7.x86_64) 7 (Core) with debugging
2 : CentOS Linux 7 (Core), with Linux 3.10.0-229.20.1.el7.x86_64
7.grub のデフォルトエントリを設定:
grub2-set-default 0
8.変更されたことを確認:
# grub2-editenv list
saved_entry=0
9.再起動
shutdown -r now
10.脆弱性カーネルが読み込まれたことを確認
# uname -a
Linux devSDces71b305-vm0 3.10.0-514.26.1.el7.x86_64 #1 SMP Thu Jun 29 16:05:25 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
docker build -t pie-cve .
docker run -it -u 4444 pie-cve
通常、数時間後にエクスプロイトが完了します。"hacker.txt" ファイルがコンテナ内の /root ディレクトリに書き込まれます。