0x01 SSH指纹
首次通过SSH连接一台服务器时,SSH服务返回其指纹信息,如果确认指纹信息无误,该指纹将保存到~/.ssh/know_hosts中, 服务器IP与指纹一一对应;第二次访问SSH服务时,SSH客户端将对比返回的指纹与~/.ssh/know_hosts是否一致,一致就顺利连接,否则警告可能遭遇到中间人攻击。
图中的 SHA256:5iKUxsMvL5egK6eRBQ3MEiu7X7HH0 即 ECDSA 指纹 Hash. 注意到这个值的特殊性,大概率是全球唯一值,因此若目标开放SSH服务到公网,这个值极有可能被网络空间搜索引擎抓取,从而可以利用这个Hash检索出其公网IP.
0x02 利用
获取Hash值,考虑到上述SSH命令获取方式需要交互式shell,在某些场合不太适用,因此可以用ssh-keyscan获取该值:
ssh-keyscan -t ECDSA -p 22 x.x.x.x | ssh-keygen -E sha256 -lf -
计算SHA256,注意到该Hash的Base64编码方式去掉了最后的"="号,需要补足
echo '5eMLvG7McapphvX4''=' | base64 -d | xxd -p -c 100
目前 Censys.io (https://search.censys.io/data) 支持对该 Sha256 Hash进行直接检索,搜索语法为
services.ssh.server_host_key.fingerprint_sha256=e5e30bbc6ff7286e1681d7f737b31c6a9a61bd7e
成功检索到该Hash对应的公网IP:
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
博客:
https://rdyx0.github.io/
先知社区:
https://xz.aliyun.com/u/37846
CSDN:
https://blog.csdn.net/weixin_48899364?type=blog
公众号:
FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
原文始发于微信公众号(儒道易行):SSH指纹与信息收集
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论