CTF训练 SSH私钥泄露


一,CTF比赛中,比赛环境的两种方式

  1. 给予在同一局域网中的攻击机和靶机机器,以web方式可以访问攻击机,通过攻击机来泄露靶机场机器,获取对应的flag值,(一般情况下给予kail Linux作为攻击机,并举办方提供计算机)。
  2. 给予一个网线接口,用户自备工具,直接连接网线,进行渗透靶机机器,获取flag值。

二,SHH协议介绍

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。基于TCP 22号端口的服务。

(一)SSH协议的认证机制

基于口令的安全验证

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

基于密匙的安全验证

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

注:id_rsa就是你的私钥,而id_rsa.pub则是你的公钥。

(二)SSH协议验证机制的弱点

基于口令的安全验证

基于字典的暴力破解,破解对应用户名和密码,通过ssh客户端连接到远程主机的ssh服务,实现对服务器的一定控制。(不一定是root权限)

基于秘钥的安全验证

通过对主机信息收集,获取到泄露的用户名和对应的秘钥。

chmod 600 id_rsa
ssh -i id_rsa 用户名@主机地址 登录服务器。(不一定是root权限)

三,实验

(一)实验环境

1.kail linux 192.168.253.12
2.靶场机器 192.168.253.10
接下来该做什么?
目的:获取靶场机器上的flag值。

(二)信息探测

  • 对于只是给定一个对应IP地址的靶场机器,我们需要用对其进行扫描,探测开放的服务。

  • 渗透其实是针对服务的漏洞探测,然后进行对应的数据包发送,获取机器的最高权限。

  • nmap -sV 192.168.253.10 :挖掘开放服务信息

(三)分析探测结果

  • 每个服务对应计算机的一个端口,用来进行通信。常用端口0~1023端口,在扫描结果中查找特殊端口。
  • 针对特殊端口进行探测,尤其对于开发大端口的http服务进行排查。

(四)探测大端口的信息

  • 对于开发http服务的大端口,可以采取http://ip:port/的形式访问。

  • 查看源码获取对应信息,如果没有flag信息,使用工具探测隐藏页面。

  • dirb http://ip:port/ 对于这个服务的隐藏文件进行探测

(五)针对隐藏页面分析

  • 直接使用浏览器访问,查看效果、对应源代码,可能会获取到flag,或者下一步对应的提示。
  • 挖掘ssh信息,不断访问获取更多泄露的ssh秘钥信息。

(六)解密SSH秘钥信息

  • 使用ssh2john 将id_isa秘钥信息转换为john可以识别的信息。
  • chmod 600 id_isa
  • ssh2john id_isa > isacrack

利用字典解密isacrack信息

  • zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules isacrack

(七)分析用户名、利用ssh登录服务器

ssh -i id_isa用户名@ssh靶场机器IP地址

到这里登录到主机,但是并不是root权限?该如何获取呢?深入探测根目录。

(八)查找具有root权限的文件

  • find / -perm -4000 2>/dev/null

根据代码审计结果,得到flag,以及提升权限

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值