ftp-pentesting

Tests FTP services on port 21 for anonymous access, weak credentials, and known exploits.

1.7k|238|Updated Dec 7, 2019
One-click install
npx skills add https://github.com/wgpsec/AboutSecurity --skill ftp-pentesting
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ftp-pentesting
Source: https://github.com/wgpsec/AboutSecurity/tree/main/skills/exploit/network-service/ftp-pentesting
Command: npx skills add https://github.com/wgpsec/AboutSecurity --skill ftp-pentesting

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

When a penetration test or security assessment reveals an open FTP service on port 21, testers need a structured methodology to enumerate the service, test anonymous access, brute-force credentials, and exploit known vulnerabilities without missing critical attack paths.

Core Features & Use Cases

  • Phased Testing Workflow: Guides the assessment through service discovery and version fingerprinting, anonymous login testing, directory enumeration and file download, credential brute-forcing with Hydra/Medusa/Nmap, and vulnerability exploitation.
  • Known Exploit Coverage: Documents exploitation of vsftpd 2.3.4 backdoor, ProFTPD mod_copy (SITE CPFR/CPTO), FTP-to-webroot webshell upload chains, and FileZilla Server management port attacks.
  • FTP Bounce Attacks: Details PORT/EPRT-based bounce port scanning, protocol interaction through FTP servers, and cross-FTP file theft techniques.
  • Use Case: During an internal network assessment, nmap shows port 21 open running vsftpd. Use this Skill to grab the banner, test anonymous login, recursively download exposed files with wget, check write permissions, and if the version is 2.3.4, trigger the backdoor for a root shell on port 6200.

Quick Start

Ask the agent to run the FTP pentesting methodology against the target IP with port 21 open, starting with banner grabbing and anonymous login testing.

Frequently Asked Questions about ftp-pentesting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test FTP anonymous login on port 21?

Connect with an FTP client using credentials anonymous:anonymous, anonymous with an empty password, or ftp:ftp. You can also automate detection with nmap --script ftp-anon -p 21 or the Metasploit auxiliary/scanner/ftp/anonymous module.

How to brute force FTP credentials with Hydra?

Run hydra -t 1 -l <username> -P <wordlist> -vV <IP> ftp for single-user brute-forcing with rate limiting to avoid lockouts. Medusa and the nmap ftp-brute script are alternatives, and SecLists provides the ftp-betterdefaultpasslist.txt default credential list.

How do I exploit the vsftpd 2.3.4 backdoor?

Send a username containing the :) characters during login, which triggers a root bind shell on port 6200, then connect with nc <IP> 6200. The Metasploit module exploit/unix/ftp/vsftpd_234_backdoor automates this.

What is an FTP bounce attack and how does it work?

An FTP bounce attack abuses the PORT command to make the FTP server connect to arbitrary third-party hosts and ports. Response codes like 150 versus 425 reveal whether target ports are open, enabling proxied port scanning via nmap -b user:pass@ftp_server victim_ip.

Can FTP write access lead to remote code execution?

Yes, when the FTP root maps to a web root such as /opt/lampp/htdocs in XAMPP environments. Upload a PHP webshell via FTP, then trigger it over HTTP to execute commands and establish a reverse shell.

Which vsftpd configuration options are dangerous?

Risky settings include anonymous_enable=YES, anon_upload_enable=YES, anon_mkdir_write_enable=YES, no_anon_password=YES, and write_enable=YES. These are found in /etc/vsftpd.conf and permit unauthenticated access or file uploads.