FTP Weak Password Scanner Using Python

Beginner

In this project, we will implement an FTP weak password scanner using Python, covering topics such as understanding FTP servers, using the FTPlib library, using the argparse library, and setting up an FTP server on Ubuntu, making it suitable for users with a basic understanding of Python to enhance and solidify their knowledge of Python fundamentals.

PythonInfoSec

Introduction

This project starts with implementing an FTP weak password scanner using Python, providing an introduction to Python penetration testing techniques. The experiment involves understanding FTP server principles, using the ftplib library, and other related knowledge.

  1. Understanding FTP servers: Learn about FTP servers, their purpose, and how they work.
  2. Using the FTPlib library: Utilize the ftplib library in Python to implement an FTP anonymous scanner and a brute-force password cracker.
  3. Using the argparse library: Learn how to handle command-line arguments using the argparse library in Python.
  4. Setting up an FTP server on Ubuntu: Follow instructions to set up an FTP server locally for testing purposes.

This project is of moderate difficulty and is suitable for users with a basic understanding of Python. It is a good opportunity to enhance and solidify their knowledge of Python fundamentals and gain practical experience in Python penetration testing techniques.

👀 Preview

python3 ftpScanner.py -H 127.0.0.1 -f pwd.txt
[-] 127.0.0.1 FTP Anonymous logon failure!
[+] Trying: ftp:ftp
[+] Trying: root:root
[+] Trying: root:toor
[+] Trying: admin:admin
[+] Trying: geust:geust
[+] Trying: admin:123456

[+] 127.0.0.1 FTP Login successful: admin:123456

[+] Host: 127.0.0.1 Username: admin Password: 123456

[*]-------------------Scan End!--------------------[*]

🎯 Tasks

In this project, you will learn:

  • How to understand the working principles of FTP servers
  • How to use the ftplib library in Python to implement an FTP anonymous scanner
  • How to implement a brute-force password cracker for FTP servers using a password dictionary
  • How to handle command-line arguments using the argparse library
  • How to set up an FTP server on Ubuntu for testing purposes

🏆 Achievements

After completing this project, you will be able to:

  • Interact with FTP servers using Python
  • Implement scanning for anonymous logins and weak passwords
  • Handle command-line arguments in Python
  • Set up an FTP server on Ubuntu

Teacher

labby

Labby

Labby is the LabEx teacher.