当前位置:首页 > 百科

21端口渗透

FTP服务器开着21端口,端口渗透不等于你能直接进去。端口渗透很多人扫到21开放就兴奋,端口渗透以为捡到宝,端口渗透结果连上去发现是端口渗透vsftpd 3.0.3,匿名登录被关,端口渗透本地用户也试不出来,端口渗透白忙一场。端口渗透真正能打的端口渗透21端口,往往是端口渗透配置失误留下的缝——匿名可写、弱口令、端口渗透或者背后藏着个没打补丁的端口渗透ProFTPD。

我印象最深的端口渗透一次,是端口渗透帮朋友看一台测试机。nmap扫过去,端口渗透21/tcp open ftp,版本是ProFTPD 1.3.5。这版本有个mod_copy漏洞,CVE-2015-3306,允许未认证用户复制服务器上任意文件。当时我试了一下,直接把自己构造的webshell从/tmp复制到网站根目录,连密码都不用猜。那台机器还跑着Apache,80和21一配合,五分钟就拿下了。这种案例现在少了,但老内网里一抓一大把。

匿名登录是另一条路。有些管理员图省事,配了anonymous_enable=YES,还顺手给了写权限。你ftp上去,anonymous随便填个邮箱当密码,进去一看,目录列表里躺着备份的数据库压缩包、源码tar.gz,甚至还有.ssh目录。我见过最离谱的,是某企业FTP根目录下直接放着web.config,里面明文写着数据库连接串。那还渗透什么?直接读就行了。

弱口令爆破是笨办法,但有时候真管用。hydra -L users.txt -P pass.txt ftp://target,跑一晚上,总能撞出一两个。常见组合就那些:admin/admin、ftp/ftp、test/123456。有个细节值得注意——很多FTP服务器对失败尝试不做锁定,你可以一直跑,直到字典见底。不过现在fail2ban普及了,跑太快容易被封IP,得调低线程数,加个延迟。

拿到FTP权限之后,别急着高兴。先看当前目录能不能往上跳。有些配置里,用户被chroot在自家目录,但符号链接没处理好,你建个软链指向/etc,就能读系统文件。再检查有没有写权限,能写的话,往网站目录扔个aspx或者php,直接getshell。如果FTP和Web在同一台机器,这条路几乎必通。

还有一种情况,21端口背后是Serv-U或者FileZilla Server。Serv-U老版本有本地提权漏洞,FileZilla Server的管理端口默认14147,密码为空的话,你能直接连上去改配置、加用户、指定根目录。我试过一次,连上14147,把根目录改成C:\,然后FTP登录,整个C盘随便翻。这种配置失误比漏洞还常见。

防御其实不复杂。关掉匿名访问,强密码策略,FTP over TLS,或者干脆换SFTP。但现实是,很多内网机器装完FTP就扔那了,几年没人管。你扫到21开放,先别急着爆破,看看banner,查查版本对应漏洞,再试试匿名。三条路走一遍,总有一条能通。通不了就换目标,别死磕——时间比什么都值钱。

分享到: