Setup Pupy RAT for Windows, Linux and Android — Opensource RAT!

Pupy is an opensource, multi-platform (Windows, Linux, OSX, Android), multi function RAT (Remote Administration Tool) and post-exploitation tool mainly written in python.
This video shows you how to set it up and generate payloads for Windows and Android.


1. Lunicuss – Sanctum (
2. NyUTiiX – Kumo (
3. JPB – High [NCS] (

This video is strictly for educational purposes and should never be attempted on devices you don’t own.

Let me know if you have any questions.



  • aranaar

    how do i use it on a device that is not in my local network? Do i just put my public ip instead of the local one? also does it run on start of the windows? in order to record keystrokes do i need to always have the terminal opened?

  • Amzark

    Traceback (most recent call last):

    File "./", line 26, in <module>
    import pylzma
    ImportError: No module named pylzma

  • Jonathan Costantini

    how can i do if i want to put my DNS instead of IP? Because my ip (public) is dynamic and i can't do that

  • Стас Балазюк

    pupypupyexternalPowerSploitCodeExecutionInvoke-ReflectivePEInjection.ps1;PowerShell/Injector.B троянская программа > очищен удалением

  • Víctor Méndez

    Good video, I need to admiss that I have no much knowledge about hacking so I never used or programmed spyware, but I need to install something like it in a few machines of my work. It's because a year ago we have been stolen, and by this we lost two computers. My intention as in charge of the managment of the computers is to install a software in every PCs, to infect them and hace remote access just in case one of them be stolen to know where is the robber, and what he are doing with the computer. Can I use it for this prupose?

  • K4LI_L1NUX _PR0

    so like i went to this website >>> and it said that port 444 was closed on my IP address how do i open it it up?

  • K4LI_L1NUX _PR0

    root@kali:~/Downloads/pupy-unstable/pupy# ./ -f exe_x86 -0 myServer.exe connect –host
    No handlers could be found for logger ""
    usage: [-h]
    [-f {client,py,pyinst,py_oneliner,ps1,ps1_oneliner,rubber_ducky}]
    [-O {android,windows,linux,solaris}] [-A {x86,x64}] [-U]
    [-l] [-E] [–no-use-proxy] [–randomize-hash]
    [–oneliner-listen-port ONELINER_LISTEN_PORT]
    [–oneliner-no-ssl] [–oneliner-nothidden]
    [–debug-scriptlets] [–debug] [–workdir WORKDIR]
    [{bind,auto_proxy,dnscnc,connect}] … error: argument -f/–format: invalid choice: 'exe_x86' (choose from 'client', 'py', 'pyinst', 'py_oneliner', 'ps1', 'ps1_oneliner', 'rubber_ducky') i put everything you put down. the only thing thats different is pur ip address. how do you know what port you use? maybe its that.

  • Double Dutch Dick Touch

    getting a weird issue on windows, saying there's a syntax error when calls the colorize module. Maybe different syntax between different versions of python

  • Guy 123

    Awesome video! Thank you for being the only tutorial I could find that could speak and speak English. I have a quick question, how would you get the payload onto the victim pc, Mac or phone. I want to play a prank on my friend should I email the payload or what?

  • S1N1S7ΞR

    Excellent video, thanks for explaining how that works. I'm currently a student learning how to pentest systems so this was very helpful. I do have a question though, I was playing around with a software called Remote Utilities and I sort of got spoiled with its features and was wondering, is there a way to schedule sequential screenshots in the client system using pupy?

    Any help on this would be greatly appreciated, thanks.

  • CoC Inspector

    I get and error "ImportError: No module named netaddr"
    server:pupy gnydick$ ./ -f exe_x64 -o myServer.exe connect –host
    Traceback (most recent call last):
    File "./", line 7, in <module>
    from import get_listener_ip, get_listener_port
    File "/Users/gnydick/pupy/pupy/pupylib/", line 2, in <module>
    from PupyModule import *
    File "/Users/gnydick/pupy/pupy/pupylib/", line 20, in <module>
    from .PupyConfig import PupyConfig
    File "/Users/gnydick/pupy/pupy/pupylib/", line 8, in <module>
    from netaddr import IPAddress
    ImportError: No module named netaddr
    server:pupy gnydick$

    The directory '/Users/gnydick/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

    I checked and I have ownership of the directory, read and write

Leave a Reply

Your email address will not be published. Required fields are marked *