A Streamlined Solution for File Transfers During the OSCP Exam Using FTP,HTTP(PUT,GET),SMB
Key Features • Requirements • Installation • Usage • Running Servers • Examples • Contributing • License
- Multi-protocol support: FTP, HTTP (PUT/GET), and SMB
- Easy-to-use command-line interface
- Flexible configuration options
- Automatic server setup for quick file transfers
- OSCP exam-friendly: Designed with the OSCP exam environment in mind
- Minimal dependencies: Relies primarily on Python standard libraries
- Python 3.6 or higher
- Git (for cloning the repository)
- Additional dependencies will be installed by the
install.shscript
- Clone the Repository:
git clone https://github.com/Bit-ByteBandit/OSCP-Transfer.git- Navigate to the Directory:
cd OSCP-Transfer- Install Dependencies:
chmod +x ./install.sh && ./install.shThe tool offers flexible transfer methods and customizable options:
oscp-transfer -m {METHOD} [options]
-h, --help: Display the help message and exit.-m {PUT, FTP, SMB, GET}: Choose the transfer method.-l PORT: Specify the listening port (default: 21 for FTP).-d DIRECTORY: For FTP or SMB, set the working directory.-sh SHARE: Name for SMB share (default: SHARE).-u USERNAME: Provide the FTP or SMB username (default for FTP only: user).-p PASSWORD: Provide the FTP or SMB password (default for FTP only: user).-smb2: Use SMB2 protocol (for SMB transfers only).
Start different types of servers easily:
# Start GET-HTTP Server
oscp-transfer -m GET
# Start SMB Server
oscp-transfer -m SMB
# Start FTP Server
oscp-transfer -m FTP
# Start PUT-HTTP Server
oscp-transfer -m PUT- Initiate a GET server on port 80:
oscp-transfer -m GET -l 80- Initiate a PUT server on port 80:
oscp-transfer -m PUT -l 80- Use FTP with custom options:
oscp-transfer -m ftp -l 21 -d /path/to/directory -u username -p password- Use SMB with a username and a password:
oscp-transfer -m smb -u foo -p foo -sh MySharefoo -smb2- Upload a file using PUT request:
curl http://[IP] -T [File]We welcome contributions to improve the OSCP File Transfer Tool! Here's how you can contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please ensure your code adheres to the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
Made by Bit-ByteBandit