お久しぶりです。インフラエンジニアの西割です。
今回は2021年5月のwindows updateで話題のCVE-2021-31166のPoEに挑戦します。
なんでやるか?CVSS 9.8と緊急度の高い脆弱性がでてきたんですよ?
どんな脆弱性なのか?どうやったらアタックできるのか気になりませんか…?
気になるんです…そういう人種もいるんです。
というわけで、cve-2020-1472(zerologon)以来のPoEです。やってみましょう!
※くれぐれも悪用しないでください。ご自身で検証する場合も一切の責任を負いません。
そもそも、CVE-2021-31166とは?
CVE-2021-31166の概要
CVE-2021-31166とは、2021/5月のwindows update でセキュリティパッチが配信された脆弱性のコード名になります。
内容としては、httpプロトコルスタックのRCE(Remoto Code Exception)になります。わかりやすく言うと、「httpプロトコルを悪用して複雑なコードを実行させることでセキュリティホールを突くことができる」ということです。
「CVSS 9.8」と冒頭に出てきますが、これは脆弱性の深刻度を評価した数値になります。最高が10.0なので、9.8は深刻な脆弱性であることがわかると思います。CVSSの評価方法に関しては、今回は分量の都合上解説することができませんので、気になる方は検索してみてください。
ちなみに前回紹介したcve-2020-1472(zerologon)はCVSS 10.0でしたね。
影響範囲について
Microsoftより影響範囲が明示されておりますが、Windows10と一部のWindows Serverで実施可能なようです。
IISやスタンドアロンのサーバーに対して実行可能です。
実害としては、BSoD(Blue Screen of Death)を起こすことができます。通称ブルスクですね。
では、さっそく検証してみようと思います。
PoEしてみる
まず、検証環境は個人PCのwindows 10 homeのPCがあったので、こちらのローカル環境にIISを立てました。今回はこのIISに対してCVE-2021-31166の脆弱性をついてローカル環境をブルスクにしてみようと思います!
IISのサーバーの立て方などは、今回省略させていただきます。
ローカルでIISを立て終わったものがこちらになります!(料理番組風)
private IPは『192.168.1.2』となっていますね。
192.168.1.2でアクセスするとIISのデフォルトページが表示されるのが確認できましたね!!
では、この状態で脆弱性を突くコードを実行してみます。
pythonで脆弱性を突くファイルを作成して、引数として192.168.1.2を指定してやることでローカルで起動しているIISをターゲットにすることができます。
(一部、コードにモザイク処理をいれています)
いざ実行!!!
ここで「No such file or directory」と言われてしまう…
一瞬戸惑い、とりあえずlsコマンド、、、ファイルが見つからない…
となりましたが、少し前に「ハッキング・ラボの作り方」で学習したことを思い出しました。windows セキュリティが作成した脆弱性を突く.pyをスキャンして自動的に削除しているんですよね。
↑検知及びブロックされたログ。。。
なので、一時的に停止して再度トライすることに。(後で戻しました)
できました!!!(ローカルのブルスクの画像は取れなかったので、gitから拝借してきました。)
今回の脆弱性は割と簡単なコードを使うことで、ターゲットのサーバーでブルスクを起こすことが出来ました!
ソースもGitにあがっているので興味がある方は検索してみてください。また、今回のwindows updateがいかに重要で、CVSS9.8である理由は誰でも簡単に脆弱性を突くことが出来る簡易さも大きいと思いました。
おまけですが、windows セキュリティの検証もできましたね。ローカルでブルスクにすると記事を書きながらの検証がとても大変なので次回からVM等でやってみます。
以上、少しでもセキュリティの分野が楽しそうに見えれば嬉しく思います。
また、脆弱性の脅威やwindows updateなどセキュリティ対策の重要性を少しでも感じて頂ければと思います!
では、windows updateをかけてきます!
コメント