NETCAT是什么

netcat被称为网络工具中的瑞士军刀,体积小功能多

  • 侦听模式 / 传输模式
  • telnet / 获取banner信息
  • 传输文本信息
  • 传输文件/目录,作为一个文件服务器或是说FTP服务器
  • 加密传输文件
  • 远程控制/木马,有个很理想的特性是杀毒软件几乎不会把NC当作病毒
  • 加密所有流量
  • 流媒体服务器
  • 远程克隆硬盘(电子取证相关)

telnet / banner

  • nc -nv 192.168.31.1 80

    -n: 直接使用IP地址,不使用dns

    -v: 展示详细信息

连接后可以使用HTML相关的一些指令,例如head /

传输文本信息

  • A:nc -l -p 4444
  • B:nc -nv 对方的IP 4444

image-20230711142317666

这个功能可以在数字取证中使用,例如我们需要将ls -l的结果输出到另外一台机子上,并将结果输出到一个文本文件中,我们就可以用到这个功能

image-20230711145721657

image-20230711145750890

传输文件/目录

传输文件

  • A: nc -lp 4444 > 保存的名称
  • B: nc -nv 目标ip 4444 < 要传递文件

  • A:nc -lp 4444 < 要传输的名称
  • B: nc -nv 目标ip 4444 > 保存的名称

传输目录

image-20230712133423205

-q的含义是传输完毕后1秒关闭通讯

加密传文件

image-20230712133446454

实际上后面两种都是通过管道对文件或者目录进行处理之后变成一个文件再进行传输

流媒体服务

image-20230712141601955

实际上也是和前面几种类似的

远程克隆硬盘

原理上与上面的也是类似的,使用dd将硬盘打包为一个文件,然后用nc传输

image-20230712143044737

端口扫描

  • nc -nvz 1.1.1.1 1-65535

    -z : zero-I/O mode[used for scanning]

    默认情况下使用的是tcp协议探测

  • nc -nvzu 1.1.1.1 1-1024

    -u : 使用udp协议探测

远程控制

nc在一定程度上能够替代ssh

image-20230712151231539

正向:B控制A,反向:A控制B

即提供-c bash那边是被控制一端

ncat

nc本身缺少加密和身份验证的能力,而ncat是一个更加强大版本的nc,它是nmap工具包的一部分。基本功能与nc无差别,不具体介绍,这里介绍一下ncat的加密功能。

image-20230713150534535