渗透测试技巧:SSH指纹与信息收集

admin 2021年12月8日07:45:17评论195 views字数 1006阅读3分21秒阅读模式

0x00 引言

在云服务器使用场景越来越多的当下,目标在单个云服务商甚至多个云服务商购买多个云服务器组建内网的情况屡见不鲜,常规通过C段信息收集进行渗透的方式经常不适用。目标公网IP分布极为松散,可能出现在一个或者多个B段上面。如何在已有一个权限的情况下,将内网IP与公网IP进行对应,是笔者在渗透过程中遇到的一大难点。

0x01 SSH指纹

首次通过SSH连接一台服务器时,SSH服务返回其指纹信息,如果确认指纹信息无误,该指纹将保存到~/.ssh/know_hosts中, 服务器IP与指纹一一对应;第二次访问SSH服务时,SSH客户端将对比返回的指纹与~/.ssh/know_hosts是否一致,一致就顺利连接,否则警告可能遭遇到中间人攻击。

渗透测试技巧:SSH指纹与信息收集

图中的 SHA256:5iKUxsMvL5eg****K6eRBQ3MEiu7X7HH0 即 ECDSA 指纹 Hash. 注意到这个值的特殊性,大概率是全球唯一值,因此若目标开放SSH服务到公网,这个值极有可能被网络空间搜索引擎抓取,从而可以利用这个Hash检索出其公网IP.

0x02 利用

获取Hash值,考虑到上述SSH命令获取方式需要交互式shell,在某些场合不太用,因此可以用ssh-keyscan获取该值:

ssh-keyscan -t ECDSA -p 22 *.*.*.* | ssh-keygen -E sha256 -lf -

渗透测试技巧:SSH指纹与信息收集

计算SHA256,注意到该Hash的Base64编码方式去掉了最后的"="号,需要补足

echo '5iKUxsMvL5egXRs****iu7X7HH0''=' | base64 -d | xxd -p -c 100

渗透测试技巧:SSH指纹与信息收集

目前 Censys.io (https://search.censys.io/data) 支持对该 Sha256 Hash进行直接检索,搜索语法为

services.ssh.server_host_key.fingerprint_sha256=e62294c6c32f2f****2bbb5fb1c7d

成功检索到该Hash对应的公网IP:

渗透测试技巧:SSH指纹与信息收集

0x03 总结

用场景:

  • 已有一个权限,需要获取该权限所在内网IP与公网IP对应关系;
  • 适用于公有云环境,且SSH服务暴露在外网,可以无限制访问。

防御方式:

  • 严格限制访问SSH服务器的源IP地址;
  • SSH更换默认22端口至非常用端口。

原文始发于微信公众号(阿乐你好):渗透测试技巧:SSH指纹与信息收集

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月8日07:45:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试技巧:SSH指纹与信息收集https://cn-sec.com/archives/666342.html

发表评论

匿名网友 填写信息