ssh协议认证机制
基于口令的安全验证
只要你知道自己的账号和口令,就可以登录远程主机。所有传输数据都会被加密,但不能保证你正在连接的服务器是你相连接的服务器,可能是别的服务器冒充。
基于密钥的安全验证
需要依靠密钥,也就是你必须为自己创建一对密钥,并把公用秘钥放在需要访问的服务器上,如果你要连接到ssh服务器上,客户端软件会向服务器发出请求,请求用你的私有钥匙进行安全验证。服务器收到请求后,先在服务器上你的主目录下寻找你的公用钥匙,然后把它和你发送过来的私有钥匙进行比较。如果两个钥匙一致,则验证成功。
ID-rsa是私钥,id-rsa.pub是公钥
ssh协议验证机制弱点
基于口令的安全机制
基于字典的暴力破解,破解对方用户名和密码,通过ssh客户端连接到远程主机的ssh服务,实现对服务器的一定控制。
基于秘钥的安全验证
通过对主机信息收集,获取到泄露的用户名和对应的密钥。
操作:1修改密钥,把用户名的私钥权限改为可读可写,这个权限用600表示。
2使用ssh客户端软件加上一个参数-i+私钥文件id-rsa+用户名@主机地址 登录服务器。(不一定是root权限)
信息探测
对给定IP地址的靶场机器,对其进行渗透测试,首先考虑靶场机器开放的权限。
探测靶场开放的服务与服务的版本
--nmap-sv靶场ip地址
探测靶场全部信息
--nmap-A-v靶场IP地址
探测靶场操作系统类型与版本
--nmap-O靶场IP地址
分析探测结果
对于ssh服务的22端口靶场
首先考虑
1暴力破解
2私钥泄露
对于开放http服务的80端口或其他端口的靶场
首先考虑:1 通过浏览器访问对应的靶场http服务,如http://靶场IP地址:http服务端口
2 使用探测工具对http目录进行探测,如dirb http://靶场IP地址:http服务端口
特别注意 端口大于1024的端口
挖掘敏感信息,利用敏感信息
扩大战果
登录服务器后,操作:
1 查看当前用户
2 id查看当前用户权限
3 查看根目录寻找flag
如果是root权限,表明靶场拿下
cat\etc\passwd 查看所有用户列表
cat/etc/group 查看用户组
find/-user用户名 查看属于某些用户的文件
/tmp查看缓冲文件目录