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.sh
script
- 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.sh
The 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