前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透测试技巧:SSH指纹与信息收集

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

原创
作者头像
雨笋教育
发布2021-12-09 16:47:26
9260
发布2021-12-09 16:47:26
举报
文章被收录于专栏:雨笋教育雨笋教育

0x00 引言

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

0x01 SSH指纹

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

图中的 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 -

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

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

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

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

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

0x03 总结

适用场景:

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

防御方式:

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

本篇文章出自雨笋教育黄院长分享的技术好文,感兴趣的欢迎转发关注!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
漏洞扫描服务
漏洞扫描服务(Vulnerability Scan Service,VSS) 是一款自动探测企业网络资产并识别其风险的产品。依托腾讯二十年累积的安全能力,漏洞扫描服务能够对企业的网络设备及应用服务的可用性、安全性与合规性等进行定期的安全扫描、持续性风险预警和漏洞检测,并且为企业提供专业的修复建议,降低企业安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档