適当なディレクトリーでHeartbleederをダウンロードして解凍しておく。
curl -L http://gobuild.io/github.com/titanous/heartbleeder/master/darwin/amd64 -o output.zip
unzip output.zip
443番ポートが空いているホストを検知して、順にHeartbleederにかける。
sudo nmap -sS -p443 -oG - 【ネットワークアドレス】/【ネットマスク】 | grep "Ports: 443/open" | awk '{ print $2 }' | ( while read HOST ; do ./heartbleeder $HOST 1>/dev/null || echo $HOST ; done)
脆弱性があるホストだけが出力される。
自分が管理しているネットワーク以外にやっちゃダメだよ!
2014年4月10日補足
masscanの最新版にもHeartbleed脆弱性を検出する機能が追加されたようですが、僕の環境ではうまく検知ができませんでした。
2014年4月16日補足
Nmap 6.45がリリースされ、OpenSSL Heartbleed脆弱性のチェックを行なうssl-heartbleed.nseスクリプトが含まれるようになったので、管理しているネットワーク上のホストがOpenSSL Heartbleed脆弱性の影響を受けるかどうかNmapでまとめてチェックするを投稿しました。