CTF训练 ssh服务渗透:如何从外部进入最终root主机,取得flag

您所在的位置:网站首页 怎么进入ssh目录 CTF训练 ssh服务渗透:如何从外部进入最终root主机,取得flag

CTF训练 ssh服务渗透:如何从外部进入最终root主机,取得flag

2023-12-06 00:40| 来源: 网络整理| 查看: 265

CTF训练 ssh服务渗透

如何从外部进入最终root主机,取得flag

文章目录 CTF训练 ssh服务渗透SSH协议介绍SSH协议认证机制SSH协议验证机制弱点实验环境第一步:信息探测第二步:挖掘敏感信息第三步:利用私钥信息进行登录

SSH协议介绍

SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。 SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssH协议可以有效防止远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIx平台—包括HP-UX、Linux、AlX、Solaris、Digital UNIX、lrix,以及其他平台,都可运行SSH。基于TCP 22号端口的服务。

SSH协议认证机制

基于口令的安全验证 只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。 基于密匙的安全验证 需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的私有密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的私有密匙进行比较。如果两个密匙一致,则验证成功,登陆服务器。 id_rsa就是你的私钥,而id_rsa.pub则是你的公钥

SSH协议验证机制弱点

基于口令的安全验证 基于字典的暴力破解,破解对应用户名和密码,通过sSH客户端连接到远程主机的SSH服务,实现对服务器的一定控制。(不一定是root权限。如果不是root权限,需要进一步提升权限,直到提升到root为止。) 基于密钥的安全验证 通过对主机信息收集,获取到泄露的用户名和对应的密钥。 chmod 600 id_rsa ssh -i id_rsa用户名@主机地址登陆服务器。(不一定是root权限。)

实验环境

1.攻击机:kali 192.168.1.105 2.靶场机器:linux 192.168.1.106

第一步:信息探测

对于给定IP地址的靶场机器,对其进行渗透测试,首先需要考虑靶场机器开放的服务。 探测靶场开放的服务与服务的版本 nmap -sV靶场IP地址

在这里插入图片描述 探测靶场全部信息 nmap -A -v靶场P地址

在这里插入图片描述

探测靶场的操作系统版本与内核 nmap -O靶场IP地址

在这里插入图片描述

分析探测结果 对于SSH服务的22端口的靶场首先考虑 1.暴力破解 2.私钥泄露(私钥有没有对应的密码、是否可以找到私钥的用户名) 对于开放htp服务的80端口或者其他端口的靶场首先考虑 1.通过浏览器访问对应的靶场http服务,如 http://靶场lP地址:http服务端口 2.使用探测工具对http的目录进行探测,如dirb http://靶场lP地址:http服务端口 **特别注意特殊端口(大于1024的端口)**常见端口是0~1023端口,大于1024的为用户自行支配的端口,比如:8080端口,可以通过浏览器访问,查看是否开放http服务。

第二步:挖掘敏感信息

使用浏览器对靶场IP的http服务探测,对页面中展示的内容也要注意,尤其是联系人等信息(有可能就是ssh的用户名信息),递归访问,力争把每一个dirb扫描到的目录页面都访问查看;

在这里插入图片描述 尤其对robots.txt、以及一些目录进行访问,挖掘具备利用价值的信息。对于开放ssh服务的靶场,务必要注意是否可以寻找到ssh私钥信息(id_rsa);

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 点击后返回了之前的页面,没有可利用价值

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

第三步:利用私钥信息进行登录

对于某些靶场,也可以使用nikto扫描器来挖掘敏感信息; nikto -host靶场lP地址 特别注意config等特殊敏感文件,要细读扫描的结果。挖掘可以利用的敏感信息;

在这里插入图片描述 利用敏感、弱点信息 对挖掘到的ssh密钥利用 1.修改id_rsa的权限 chmod 600 id_rsa

在这里插入图片描述 提升权限到600

在这里插入图片描述

2.利用私钥登陆服务器 ssh -i id_rsa 用户名@靶场IP地址 注意:如果id_rsa 没有解密密码,可以直接使用。但是如果id_rsa有解密密码,那么就需要进行对应的破解。

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 扩大战果 登录服务器之后,我们需要做以下操作。 1.查看当前用户whoami 2.id查看当前用户的权限 3.查看根目录寻找flag文件 如果是root权限,那么表明这个靶场就被全部拿下。但是如果不是,就肯定需要提权。一般情况下,flag文件只属于root用户和对应的用户组; cat /etc/passwd查看所有用户的列表 cat /etc/group查看用户组 find / -user用户名查看属于某些用户的文件 /tmp 查看缓冲文件目录

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3