{"id":24782104,"url":"https://github.com/hackfutsec/crackftp","last_synced_at":"2025-03-24T05:26:49.734Z","repository":{"id":274736678,"uuid":"923907733","full_name":"HackfutSec/CrackFtp","owner":"HackfutSec","description":"This script is a mass FTP checker and cracker, designed to test login credentials and alert on successful logins to secure domains, with Telegram notifications.","archived":false,"fork":false,"pushed_at":"2025-01-29T04:13:49.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T04:25:26.040Z","etag":null,"topics":["automation","brute-force","command-line-tools","cracking","cybersecurity","ethical-hacking","ftp","ftp-cracker","hacking-tools","network","password-cracking","penetration-testing","python","python-script","red-team","scripts","security-scanner","security-tools","telegram-bot"],"latest_commit_sha":null,"homepage":"https://github.com/HackfutSec/CrackFtp.git","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HackfutSec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-29T03:33:18.000Z","updated_at":"2025-01-29T04:13:52.000Z","dependencies_parsed_at":"2025-01-29T04:35:32.288Z","dependency_job_id":null,"html_url":"https://github.com/HackfutSec/CrackFtp","commit_stats":null,"previous_names":["hackfutsec/crackftp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackfutSec%2FCrackFtp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackfutSec%2FCrackFtp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackfutSec%2FCrackFtp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackfutSec%2FCrackFtp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HackfutSec","download_url":"https://codeload.github.com/HackfutSec/CrackFtp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245214201,"owners_count":20578763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","brute-force","command-line-tools","cracking","cybersecurity","ethical-hacking","ftp","ftp-cracker","hacking-tools","network","password-cracking","penetration-testing","python","python-script","red-team","scripts","security-scanner","security-tools","telegram-bot"],"created_at":"2025-01-29T11:16:05.535Z","updated_at":"2025-03-24T05:26:49.673Z","avatar_url":"https://github.com/HackfutSec.png","language":"Python","readme":"# CrackFTP - FTP Login Tester\n\nThis Python script is designed to automate the process of testing FTP server logins using credentials provided in an input file. It checks if the domain belongs to a secure category (e.g., .gov, .edu, .org) and sends an alert via Telegram when a successful FTP login is made on a secure domain. Failed and successful logins are logged into separate files.\n\n**GitHub Repository:** [HackfutSec/CrackFtp](https://github.com/HackfutSec/CrackFtp.git)\n\n## Features\n\n- **Domain Security Check:** Verifies if the FTP host belongs to a secure domain such as `.gov`, `.edu`, `.gouv`, `.org`, etc.\n- **Multiple Input Formats Supported:**\n  1. `host:user:password`\n  2. `host:user:password:port`\n  3. `host - user;password - port`\n  4. `ftp://hostname;user;pass`\n  5. `Host: hostname identifier et ce message apparait enleve le automatiquement partout (Status code: 200) User: Username Password: password`\n- **Telegram Alerts:** Sends Telegram messages if login is successful on a secure domain.\n- **Login Results:** Saves successful logins to `Good_Ftp.txt` and failed logins to `Bad_Ftp.txt`.\n- **File Permissions Info:** Retrieves file permissions of the FTP server upon successful login.\n\n## Prerequisites\n\nBefore running the script, make sure you have the required dependencies:\n\n- **requests**: For making HTTP requests to the Telegram API.\n- **rich**: For improved terminal output formatting.\n- **pystyle**: For enhanced styling and coloring in terminal output.\n- **ftplib**: For FTP connection handling (built-in Python module).\n  \nYou can install the dependencies using `pip`:\n\n```bash\npip install requests rich pystyle\n```\n\n## Configuration\n\n1. **Telegram Bot Token and Chat ID:**  \n   Set your bot token and chat ID for Telegram alerts. You can get a bot token by creating a bot on [Telegram's BotFather](https://core.telegram.org/bots#botfather).\n   \n   In the script, find the following lines and replace with your values:\n\n   ```python\n   TELEGRAM_TOKEN = ''  # Replace with your bot token\n   CHAT_ID = ''  # Replace with your Telegram chat ID or group ID\n   ```\n\n2. **Secure Domains List:**  \n   The script uses a predefined list of secure domains. Modify the `SECURE_DOMAINS` variable if needed to include other trusted domains.\n\n## Usage\n\n1. **Run the Script:**\n\n   Open a terminal, navigate to the directory containing the script, and execute the script:\n\n   ```bash\n   python ftp_cracker.py\n   ```\n\n2. **Choose the Input Format:**\n\n   The script will prompt you to select the format of the input file. Choose the appropriate format based on the structure of your credentials list:\n\n   ```bash\n   1. host:user:password\n   2. host:user:password:port\n   3. host - user;password - port\n   4. ftp://hostname;user;pass\n   5. Host: hostname identifier et ce message apparait enleve le automatiquement partout (Status code: 200) User: Username Password: password\n   ```\n\n3. **Provide Input File and Password File:**\n\n   After selecting the format, you will be asked to provide the following:\n\n   - **Input File**: The file containing the list of FTP credentials.\n   - **Password File**: A file with additional passwords to try in case of failed login attempts.\n\n4. **Output:**\n\n   - The script saves **successful logins** in a file called `Good_Ftp.txt`.\n   - **Failed logins** are saved in `Bad_Ftp.txt`.\n   - Telegram alerts will be sent for successful logins on secure domains.\n\n## Example of Input File\n\nDepending on the format you choose, the input file should contain the credentials in one of the following formats:\n\n1. **`host:user:password`**  \n   ```\n   ftp.example.com:user1:password1\n   ftp.example2.com:user2:password2\n   ```\n\n2. **`host:user:password:port`**  \n   ```\n   ftp.example.com:user1:password1:21\n   ftp.example2.com:user2:password2:22\n   ```\n\n3. **`host - user;password - port`**  \n   ```\n   ftp.example.com - user1;password1 - 21\n   ftp.example2.com - user2;password2 - 22\n   ```\n\n4. **`ftp://hostname;user;pass`**  \n   ```\n   ftp://ftp.example.com;user1;password1\n   ftp://ftp.example2.com;user2;password2\n   ```\n\n5. **`Host: hostname identifier et ce message apparait enleve le automatiquement partout (Status code: 200) User: Username Password: password`**  \n   ```\n   Host: ftp.example.com identifier User: user1 Password: password1\n   ```\n\n## Example of Output\n\n### Good_Ftp.txt\n```\nftp.example.com:user1:password1\nftp.example2.com:user2:password2\n```\n\n### Bad_Ftp.txt\n```\nftp.badexample.com:user3:password3\n```\n\n### Telegram Alert\n```\n[Security Alert] The domain ftp.example.com belongs to a high-security category (.gov). Connection successful!\nDetails:\nUsername: user1\nPassword: password1\n```\n\n## Contributing\n\nFeel free to fork the repository and submit pull requests with bug fixes, improvements, or new features.\n\n## License\n\nThis script is licensed under the MIT License.\n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackfutsec%2Fcrackftp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackfutsec%2Fcrackftp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackfutsec%2Fcrackftp/lists"}