FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件
Filezilla和普通Web网站一样,前台有普通FTP账户执行上传、下载、删除等动作,后台则有一个管理员控制台来设置前台的账户以及账户的权限,前台就是21端口,而后台默认是14147端口
提权原理
由于14147端口只能本机127.0.0.1访问,攻击者获得普通用户的权限后,在受害者的windows的temp目录下面上传端口转发工具lcx.exe,使用端口转发工具将端口转发到公网中,之后攻击者就可以在公网访问FileZilla Server,创建一个拥有全部硬盘目录权限的FTP账户,完成提权操作。
工具利用:
lcx.exe:
lcx.exe核心作用:端口转发
因为正常情况下目标处于内网,攻击者无法访问其内部服务。攻击者通过lck将其他机器的端口转发出来,通过转发常见端口,暴露目标机的端口到公网,规避防火墙对非常用端口的检测,之后加以利用,创建恶意账户,横向渗透。
常见的指令:
-listen 建立双向转发隧道 TCP/UDP
-slave 连接监听端并绑定本地端口 穿透防火墙/NAT
-tran 直接端口映射(无需监听) 适用于简单场景
漏洞成因:
- 默认监听所有IP 管理接口默认绑定 0.0.0.0(所有网卡),暴露在局域网甚至公网。
- 无身份验证机制 连接管理接口无需任何认证,直接获得控制权。
- 配置信息明文存储 管理员密码以 BASE64 编码存储在 FileZilla Server.xml 中,易被解密。
- 协议未加密 管理通信未使用 SSL/TLS,密码传输可被中间人截获。
- 高危指令未隔离 管理接口支持高危操作(如添加用户、修改路径),未做权限隔离。
防御方式:
升级版本、限制管理接口的访问,设置强密码,部署防火墙进行隔离
靶场复现:
攻击机:windows7
靶机:windows10
虚拟机需要下载旧版本FileZilla Server,开放3389端口
物理机需要下载旧版本FileZilla Server和旧版本FileZilla Client,新版本连不上
终端输入tasklist,查看目标系统运行的软件里有FileZilla Server.exe,再输入netstat -ano查看端口,发现开启了21端口和14147端口,但是14147只能由127.0.0.1(目标机自己)访问
2.使用lcx.exe进行端口转发,将目标机的14147端口转发到对外开放端口14148
2.1上传lcx.exe到目标机C:\Windows\Temp\
终端输入:上传目录\lcx.exe -tran 对外开放端口 转发的ip 要转发的端口,此时14140端口开启
C:\Windows\Temp\lcx.exe -tran 14140 127.0.0.1 14147,登录发现可以登陆上。
之后攻击机连接靶机的14140端口
之后添加用户
使用ftp连接目标机,登陆刚才创建的FTP账号
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |