しばしば、セキュリティスペシャリストとして、自分や他の人のシステムが様々な既知の脆弱性や攻撃に対して脆弱であるかどうかを確認する必要があります。ペネトレーション・テスターやセキュリティ・エンジニア、あるいはその他の悪意のあるアクターにとって、このような情報はミッションの成功に欠かせないものとなります。ShodanやCensysなど、この重要な分野についての洞察を提供するウェブサイトは他にも多数ありますが、netlas.ioはおそらく最高のものです。正直なところ、netlas.ioを利用していないのであれば、インターネット上の最高のリソースの1つを逃していることになります。
Netlas.ioは、以下のような少なくとも5つの異なるユースケースで使用することができます。
- OSINT
- 攻めのセキュリティ
- 防御的セキュリティ
- リードとコンタクト
- マーケティングリサーチ
このチュートリアルでは、ペネトレーションテストの観点で、攻撃的なセキュリティツールとしてnetlas.ioを使用することに焦点を当てます。偵察やアタックサーフェスの形成など、ペネトレーションテストの最初のステップは、Netlas.ioを使うことでより早く、より簡単になります。 ネットワーク境界の形成、スケーリング、アトリビューションのために、A、NS、PTR、MX、SPFレコードを含む、whois検索、DNSのフォワードおよびリバース検索を使用します。
ステップ1: netlas.ioへのログイン
最初のステップは、netlas.ioに移動してアカウントを作成することです。
ステップ2:基本的な検索クエリ
他の多くの検索エンジンと同様に、検索フィールドと検索フレーズをコロン(:)で区切って検索クエリを構築することができます。 IPアドレス、ホスト、whois、その他多くのフィールドで検索することができます。さらに、フィールド名とサブフィールド名をピリオドで区切って、サブフィールドで検索することもできます。
フィールド.サブフィールド:値
つまり、apacheのウェブサーバーを探す場合は、次のように入力します。
tag.name:apache
以下のように、netlas.ioは、apacheを使った9400万台のサーバーを見つけることができました。
各リストには、レスポンスタブ、証明書タブ、Whoisタブ、ドメインタブがあります。ドメインタブをクリックすると、そのIPアドレスでホストされているすべてのドメインが表示されます。
構文を使って、ホストで検索することもできます。
host:cybrary
ステップ3: 脆弱性の検索
このサイトの優れた点の一つは、脆弱性やCVEで検索できることです。例えば、CVEの脆弱性が9以上のサイトをすべて見たい場合は、次のように検索を入力します。
cve.base_score:>9
もし、すべてのサイトがSMBに対応しているかどうかを知りたければ、検索に入力することができます。
smb:*
レスポンスフィールドには、「smbv1_support」というサブフィールドがあることに注意してください。このサブフィールドを使用して、欠陥のある脆弱なSMBv1が有効(true)になっているサイトをすべて見つけることができます。
smb.smbv1_support:true
なお、この時代遅れの欠陥のあるバージョンのSMBを使用しているサイトは113,000以上見つかっています。
また、公開されている既知のエクスプロイトが存在するサイトを検索で探すこともできます。
cve.has_exploit:*
この検索では、7,400万以上のサイトが既知の公開された脆弱性を持っている可能性があることがわかります。画面の右端には、見つかった脆弱性のCVEが表示されています。このリストの上にあるCVEタブをクリックすると、netlas.ioは既知の脆弱性をすべてリストアップします。下のサイトには、深刻度が9以上の脆弱性が3つあることに注目してください。
また、既知の脆弱性の深刻度で検索することもできます。深刻度が「重要」と評価されたすべてのサイトを見たい場合は、下記で検索します。
cve.severity:critical
悪名高いEternalBlueエクスプロイト(SMBリモートコード実行)に脆弱なサイトをすべて見つけたい場合は、CVE名で検索をリクエストすることができます。
cve.name: CVE-2017-0145
161,000以上のサイトがこの脆弱性にさらされています。参考までに、NVDに掲載されているCVEリストを紹介します。
ステップ4 論理演算子を使う
netlas.ioに似た他のサイトと同様に、論理演算子を使って検索を絞り込むことができます。使用できるのは、AND、OR、NOT(それぞれ、&&、 ||、 !) デフォルトの演算子はANDです。
つまり、ASN番号が4134の、時代遅れで脆弱なMySQL v5を実行しているサイトを探す場合、次のようなクエリを作成することができます。
mysql.server.version:5 and asn.number:4134
また、Netlas.ioでは、正規表現(regex)やワイルドカード(*と?)を使った検索が可能です。
もしあなたがペネトレーションやOSINTの仕事をしているなら、netlas.ioは必須のツールです。重要な情報や脆弱性の検索にかかる時間を短縮することができます。言うまでもなく、完璧なツールはなく、それはnetlas.ioにも当てはまります。だからこそ、様々なツールに慣れ親しみ、仕事や状況に応じて最適なツールを使う必要があるのです。