
CVE-2016-5195 エクスプロイトの例。
dcow は、脆弱性 CVE-2016-5195 の潜在的なエクスプロイトです。 脆弱なシステム上で非特権ユーザーとしてプログラムを実行すると、/etc/passwd ファイルを変更し、パスワード "dirtyCowFun" を強制します(SHA-512 ですが、古い標準規格向けに変更することもできます)。 実行が成功した場合、そのパスワードで "su" を実行すると、root シェルを利用できます。 -s オプション(推奨)を使用すると、root シェルが自動的に開かれます。 dcow をオプションなしまたは -n 付きで使用した場合、元の /etc/passwd のバックアップが現在の実行ディレクトリに .ssh_bak として作成されます(下記の例を参照)。
このコードは、情報提供および教育目的で公開されています。所有者の承認なしにシステムやサービスに侵入することは違法です。このリポジトリ内の情報およびソフトウェアを悪用すると、犯罪行為の加害者に対して刑事告訴が行われる可能性があります。この Git リポジトリ内に含まれる資料に関連するいかなる行動または活動も、すべて自己責任です。本 Web サイトの情報またはソフトウェアを悪用して法律を破った個人に対して刑事告訴が行われた場合でも、作者は一切の責任を負いません。
CVE-2016-5195 に対して脆弱なシステム。
このプログラムは以下で正常に使用されました:
また、以下のコンパイラでコンパイルされました:
EDB-ID: 40847
https://www.exploit-db.com/exploits/40847/
プログラムをコンパイル: make
プログラムを起動:
./dcow
or
./dcow -s # Automatically open a root shell and restore the passwd file.
./dcow -s -n # Automatically open a root shell but doesn't restore the passwd file.
オンラインヘルプ:
./dcow -h
このページの "wiki" セクションには、影響を受けるカーネル/ディストリビューションの部分的なリストがあります。
ディレクトリ "legacy" には、C++11 より前のコンパイラでコンパイルできるようにした、このプログラムのそのままの移植版があります。
Go + CGO 言語で書かれたこのエクスプロイトのバージョンが "golang" ディレクトリにあります。外部依存関係のない静的実行ファイルを作成できます。