あらゆるファイルのMD5、SHA-1、SHA-256を求め、VirusTotalとMalwareBazaarの検索リンクを用意します。
Faviconハッシュ(mmh3)
ツール自体は英語ですが、このページではお客様の言語でその使い方を説明しています。
Faviconハッシュ(mmh3) を使用してください
機能の説明
faviconをドロップするかBase64を貼り付けると、Shodan方式のmmh3ハッシュ、MD5、SHA-256と、Shodan、FOFA、ZoomEye、Censys用のすぐに使える検索クエリが得られます。アイコンがブラウザの外に出ることはありません。
すべてブラウザ上で動作します。入力した内容は一切アップロードされません。
Faviconハッシュ(mmh3) の使い方
- 元のアイコンを入手する. 隔離された環境で、サーバーが送ってくるままのfavicon(/favicon.icoなど)を保存します。再保存や変換はしないでください。
- ドロップするかBase64を貼り付ける. ファイル(最大10 MB)をドロップまたは選択するか、Base64やdata: URIを貼り付けてCompute hash(ハッシュを計算)を押します。
- ハッシュを読む. mmh3の値はShodanとFOFA用、MD5はZoomEyeとCensys用です。SHA-256はファイルそのものを識別します。
- 検索する. 用意されたクエリをコピーするか、Searchを押してハッシュだけを渡して検索エンジンを開きます。ZoomEyeの場合は、サイトを開いてクエリを貼り付けます。
- 一致したものを確認する. 見つかったサーバーをフィッシングサイトと結び付ける前に、すべて確認してください。既定のアイコンは多くの無関係なサイトで共有されています。
例
Base64形式の16×16 PNGアイコン
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAM0lEQVR42mPgFhT/TwlmABF2z7aShWljwMevX/Biog1At20IGkD1MCA5FkayAQOTFyjBAJ3am11k6YHEAAAAAElFTkSuQmCCPasted Base64
108 B (108 bytes) · PNG
SHODAN / FOFA HASH (MMH3, SIGNED 32-BIT)
2033577382
MD5 OF THE FILE
687bba8c4cd9980ec195986b32ee42cb
SHA-256 OF THE FILE
989e1ac28e0a5bf7ffcf0eed14a30126aabb5761daa360596619280b485e8ad7
Search queries
Shodan
Search ↗
http.favicon.hash:2033577382
FOFA
Search ↗
icon_hash="2033577382"
ZoomEye
Open ZoomEye ↗
iconhash:"687bba8c4cd9980ec195986b32ee42cb"
Censys Search (legacy)
Search ↗
services.http.response.favicons.md5_hash: 687bba8c4cd9980ec195986b32ee42cb
Censys Platform
Search ↗
host.services.endpoints.http.favicons.hash_md5 = "687bba8c4cd9980ec195986b32ee42cb"
The Search links open the engine in a new tab and send only the hash in the address; most engines need a free account to show results. ZoomEye’s link opens its site: paste the copied query there. The ZoomEye and Censys queries use the MD5 of the file, Shodan and FOFA the mmh3 value.
A favicon hash only finds servers that return byte-identical icon bytes. A resized, re-saved or re-compressed icon, or the same picture as PNG instead of ICO, gives a different hash. Hash the file exactly as the server sends it (for example saved with curl -o favicon.ico in an isolated environment), not a copy exported by an image editor or a screenshot.108バイトのPNGにデコードされます。mmh3ハッシュは2033577382なので、Shodanのクエリはhttp.favicon.hash:2033577382になります。MD5 687bba8c4cd9980ec195986b32ee42cbはZoomEyeとCensysのクエリに使われます。
チェック対象
| シグナル | その意味 |
|---|---|
| 形式の行 | 検出された形式(PNG、ICO、GIF、JPEG、BMP、WebP、SVG、またはunknown format)とバイト単位のサイズです。 |
| プレビュー | 画像形式は32ピクセルのプレビューで表示されるため、ハッシュ化しようとしたアイコンであることを確認できます。 |
| HTMLページの警告 | そのバイト列はアイコンではなくWebページです。サーバーは存在しない/favicon.icoに対してエラーページを返すことがよくあり、そのハッシュでは同じページしか見つかりません。 |
| Shodan / FOFAハッシュ | Base64エンコードしたアイコンのMurmurHash3で、符号付き32ビットの数値として表示されます。負の値になるのは普通のことです。 |
| ファイルのMD5 | ZoomEyeとCensysのクエリで使われます。 |
| ファイルのSHA-256 | ファイルを正確に識別します。通報や、収集したコピーとの照合に役立ちます。 |
| 検索クエリ | Shodanのhttp.favicon.hash、FOFAのicon_hash、ZoomEyeのiconhash、Censysの2つの形式です。ほとんどの検索エンジンでは、結果を表示するのに無料アカウントが必要です。 |
| バイト単位で同一というルール | サイズを変えた、再圧縮した、変換したアイコンでは異なるハッシュになるため、見つからなくてもバイト列が違うだけかもしれません。 |
その他の例
data: URI形式の小さなSVGアイコン
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSIjMGEwIi8+PC9zdmc+Pasted Base64、108 B、SVGと表示されます。mmh3ハッシュは-1417999905なので、Shodanのクエリはhttp.favicon.hash:-1417999905、FOFAはicon_hash="-1417999905"となります。MD5 10a8f1de4d94f66724532d5315194e33はZoomEyeとCensysのクエリに使われます。
アイコンではなくエラーページ
PGh0bWw+PGJvZHk+PGgxPjQwNCBOb3QgRm91bmQ8L2gxPjwvYm9keT48L2h0bWw+48 B、HTML pageと表示され、このバイト列はアイコンではなくHTMLページであるという警告が出ます。そのmmh3の値-1700126198は、同じページを返すサーバーにしか一致しません。
Base64ではなくファイル名
favicon.icoCould not decode the pasted textと表示されます。これは有効なBase64ではありません。アイコンファイルのBase64を、data:プレフィックス付きでもなしでもよいので貼り付けてください。
よくある質問
Shodanのfaviconハッシュはどのように計算されますか?
Shodanはfaviconの生のバイト列を取り、Pythonのbase64.encodebytesと同じ方法(76文字ごとの行で、各行の末尾に改行)でBase64にエンコードし、そのテキストをシード0の32ビットMurmurHash3でハッシュ化して、符号付き整数として表示します。FOFAのicon_hashも同じ値を使いますが、ここでのZoomEyeとCensysのクエリはファイルのMD5を使います。
ハッシュで何も見つからない、または誤ったサーバーが見つかるのはなぜですか?
一致するのは、バイト単位でまったく同じfaviconを返すサーバーだけです。そのため、サイズ変更、再保存、再エンコードしたコピーでは値が異なり、/favicon.icoがエラーページを返すサイトではそのページのハッシュになります。ホスティングパネルやフレームワークの既定のアイコンは無関係な何千ものサイトで共有されているため、一致は確認すべき手がかりとして扱い、同じ運営者である証拠とはみなさないでください。
このツールはfaviconを取得したり、どこかへ送信したりしますか?
いいえ。提供されたファイルやBase64をブラウザ内でハッシュ化するだけで、ネットワークリクエストは行いません。検索リンクは、クリックしたときにだけShodan、FOFA、ZoomEye、Censysを新しいタブで開き、送られるのはハッシュだけです。
ハッシュが負の数になるのはなぜですか?
ShodanはMurmurHash3を符号付き32ビット整数として表示するため、全アイコンの約半数が負の値になります。マイナス記号は残してください。ないと別のアイコンを検索することになります。
調査者はfaviconハッシュをどのように使いますか?
フィッシングキットは、偽サイトのどのコピーでも同じアイコンファイルを使い回すことがよくあります。そのハッシュをShodanやFOFAで検索すると、同じキットを動かしている他のサーバーが見つかることがあり、それを1つずつ確認します。
ページのHTMLにあるアイコンを貼り付けられますか?
ページがdata: URIとして埋め込んでいる場合は可能です。値全体を貼り付ければ、デコード前にプレフィックスが取り除かれます。URLでリンクされているアイコンは、このツールが何も取得しないため、先にファイルとして保存する必要があります。
同じサイトでも日によってハッシュが異なるのはなぜですか?
サイトはアイコンを変更することがあり、スキャナーには無害なページを送るなど、訪問者によって異なるバイト列を送るサーバーもあります。バージョンごとにハッシュが異なるため、日付とアイコンの入手方法を記録しておいてください。