RAT
Python
Pupy is an open-source, cross-platform remote administration and post-exploitation tool (C2) written in Python. It supports multiple OS: Windows, Linux, macOS, and Android. It can be deployed in many formats: Windows executables, Python scripts, PowerShell one-liners, Linux ELF binaries, APKs, and even through Rubber Ducky. Versatile and in-memory execution makes it useful for system administrators and unfortunately for malicious actors.
Pupy is designed to work on multiple platforms. This makes it a favorite tool for pen-testers and researchers as it works the same way on any OS. Payload support ensures it can be deployed in many scenarios.
Deployment and Payload Generation
Pupy can be generated as a payload in many formats: Windows executables, Python files, Linux ELF binaries, and Android APKs. Even through Rubber Ducky scripts and PowerShell one-liners. This many payload options allow it to fit in complex environments and be stealthy and effective.
Legitimate and Malicious Uses
Pupy is publicly available on GitHub and intended to be used for legitimate purposes like system administration and security testing. Still, its open-source nature made it an attractive tool for malicious actors. It runs in memory so it's hard to detect and evade traditional security controls. Knowing how it works is important to defend against its misuse.
Restrict open source administrative tools in sensitive environment.
Monitor network traffic for C2 activity.
Implement application whitelisting to prevent payload execution.
Use EDR to detect in-memory threat.