计算任意文件的 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 页面警告 | 这些字节是网页,而不是图标。服务器经常以错误页面响应不存在的 /favicon.ico,而该页面的哈希只能找到同样的页面。 |
| Shodan / FOFA 哈希 | Base64 编码后图标的 MurmurHash3,以有符号 32 位数字显示。出现负值是正常的。 |
| 文件的 MD5 | 用于 ZoomEye 和 Censys 查询。 |
| 文件的 SHA-256 | 标识确切的文件,可用于举报以及匹配你收集到的副本。 |
| 搜索查询 | Shodan http.favicon.hash、FOFA icon_hash、ZoomEye iconhash 以及两种 Censys 写法。大多数搜索引擎需要免费账户才能显示结果。 |
| 逐字节相同原则 | 经过缩放、重新压缩或转换的图标会得到不同的哈希,因此搜不到结果可能只是说明字节不同。 |
更多示例
以 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.ico无法解码粘贴的文本:这不是有效的 Base64。请粘贴图标文件的 Base64,带不带 data: 前缀均可。
常见问题解答
Shodan 的 favicon 哈希是如何计算的?
Shodan 取 favicon 的原始字节,按 Python base64.encodebytes 的方式编码为 Base64(每行 76 个字符,每行以换行符结尾),然后用 32 位 MurmurHash3(种子为 0)对该文本计算哈希,并以有符号整数显示。FOFA 的 icon_hash 使用相同的值,而本页中的 ZoomEye 和 Censys 查询使用文件的 MD5。
为什么用哈希什么也搜不到,或者搜到了错误的服务器?
它只能匹配返回逐字节相同 favicon 的服务器,因此经过缩放、重新保存或重新编码的副本会得到不同的值;而如果某网站的 /favicon.ico 返回的是错误页面,得到的就是该页面的哈希。主机面板和框架的默认图标被成千上万个互不相关的网站共用,因此请把匹配结果当作需要核实的线索,而不是同属一方的证据。
工具会抓取 favicon 或把它发送到任何地方吗?
不会。它在你的浏览器中对你提供的文件或 Base64 计算哈希,不发出任何网络请求。搜索链接只有在你点击时,才会在新标签页中打开 Shodan、FOFA、ZoomEye 或 Censys,而且只携带哈希。
为什么哈希是负数?
Shodan 以有符号 32 位整数报告 MurmurHash3,因此大约一半的图标会得到负值。请保留负号;去掉它,搜索的就是另一个图标。
调查人员如何利用 favicon 哈希?
钓鱼工具包常在虚假网站的每个副本上重复使用同一个图标文件。在 Shodan 或 FOFA 上搜索其哈希,可以发现运行同一工具包的其他服务器,然后再逐一核查。
可以粘贴页面 HTML 中的图标吗?
可以,前提是页面以 data: URI 形式嵌入图标:粘贴整个值,解码前会自动去掉前缀。通过 URL 链接的图标必须先保存为文件,因为本工具不抓取任何内容。
为什么同一个网站换一天会得到不同的哈希?
网站会更换图标,有些服务器还会向不同访问者发送不同的字节,例如向扫描器展示无害页面。每个版本都有自己的哈希,因此请记录日期以及你获取图标的方式。