This project is part of the Industrial Networks Course from the department of Mechatronics of the University of São Paulo (USP). It contains three sub-projects of different configurations for a backdoor attack. The main goal of the project was to learn to work with sockets, real-time applications, select library for managing multiple clients with I/O multiplexing, and to understand the fundamentals of backdoor attacks, in Python.
Each of the sub-projects has a server.py and client.py file, correspondig to the programs running in the attacker's machine and victim's machine respectively. In the first project, "Ex 1.1", the server always sends the same command to be run on the client's terminal and get the output. In the second project, "Ex 1.2", the attacker chooses the command. In the third project, "Ex 1.3", the server program keeps track of each victim's situation, and allows the attacker to choose not only the command, but also which victim he wants to attack.
- socket — a module that allows low-level networking , providing access to the BSD socket interface;
- select — a module that allows I/O multiplexing;
- subprocess — a module that allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes;
- threading — a module that allows thread-based parallelism.
- Python
- Pick a sub-project and go to it's directory (example below for the first project):
cd Ex 1.1
- Run the server:
python server.py
- Run the client(s):
python client.py
You can check my report (in Portuguese) for more details on the project.