Python educational and experimental based desktop application that uses stegnography to leak files through protocols which wasn't made for file transfer. This program will help someone check whether files can be transfered from his own computer to outside the internal network, using these protocols.
- This project must not be used for illegal purposes. It is strictly for educational and experiments purposes.
The idea behind the project is to experiment and to strengthen my knowledge in PYTHON, in Networking, and to get deeper understanding about protocols. How protocols are built, what are their strengths and weaknesses, and how can someone get advantage knowing those weaknesses, and using them as a tool to leak secured files outside. This is a very basic implementation of the idea. I believe that it will get better in time.
Run each command in a diffrent console:
Step One:
$ cd PingWin/CORE/
$ sudo python3 pingwinServer.py
Step Two:
$ cd PingWin/CORE/
$ sudo python3 pingwinClient.py
Scheduled task:
$ cd PingWin/CORE/
Example of using Scheduled task: call file with time as argument
$ pingwinCron.sh * * * * *
Run each command in a diffrent console:
Step One:
$ cd PingWin/UI/
$ sudo python3 ReceiverUI.py
- Click on 'start scanning'
Step Two:
$ cd PingWin/UI/
$ sudo python3 SenderUI.py
Scheduled task:
$ cd PingWin/UI/
$ sudo python3 CronUI.py
- Import any file to the program
- Select which protocols the file will be sent through for now 3 options are available: ICMP, DNS-TCP, DNS
- Target - insert IP of target machine
- Interface - choose specific interface from the list
- Send - send file to target IP through chosen protocols.
- Activate listener by pressing 'start scanning'
- When all files are sent - file for each protocol is created from the data on the packets. Buttons to open files will show on the screen.
My mentor was Eden Berger , who helped a lot to bring my project to life.
I wrote an article in Hebrew, in a well-known Israeli magazine: Digital-Whisper. Link: https://www.digitalwhisper.co.il/files/Zines/0x93/DW147-6-DW147-PingWin.pdf
First make it work, then make it right, then make it fast
- in UI: Show data while running (send and receive)
- Add Encryption.
- Send data in a way that will not be discovered (diffrent sizes, bytes, intervals(different time?) etc..)
- Add more protocols to the project