先说简单的windows下的sock代理怎么做
一。找一些运行wingate的主机
原因:因为wingates的默认安装打开端口1080并且不记录socks连接。
怎么找这些机子呢?你可以用‘代理猎手’,好象中国人都用这个,国外人好象喜欢用wingatescan,或是从这里可以找到最新的:http://。cyberarmy。/lists/wingate(国外的,我建议大家用国外的,因为追查有难度啊)
二。确认列表中的主机的确运行着wingate
三。安装一个能截取发送的信息包的软件
我使用的是一个叫purpose的工具,你可以从
http://。buffy。nu/article。php3?id_article=3043
要设置它,只要在socks server填上: 127。0。0。1 port 8000。
选择'socks version 5'。再点击'resolve all names remotely'。
不要选'supported authentication'。
在主界面,选择new然后建立一个你希望socks支持的程序的快捷方式
对所有你想匿名的程序做同样的工作;至于有哪些你就自己想了
四。安装socks chainer
从http://。ufasoft。/socks下载该工具
在service菜单; 点击new。在name段输入Chain,port则输入8000。
点击new 并且将你找到最快的wingates的IP填进去,端口则填1080。
使用 ''; 你可以添加或者移除socks。 记得一定要在使用前测试所有的socks。
五。测试你的设置
用你所建立的浏览器的快捷方式打开浏览器,连接到
http://cavency。virtualave。/cgi…bin/env。cgi或者
http://inter。junkbuster。/cgi…bin/show…http…headers
同样,打开你的tel客户端并尝试tel到
ftp。cztc。edu。cn
你可以通过https://sites。inka。de:8001/cgi…bin/pyca/browser…check。py来检测SSL或者
FTP到ftp。zedz。——或者其它的FTP来验证你的IP。
在上面的测试中,远程主机上留下的将是你最后一个chain的IP地址。当然你可以在自己的
网络里进行测试……
再说说另一种吧SkSockServer“(下面称SSS)
这个与上面的利用著名的wingate做的有什么区别?
1/ 普通的Sock代理程序不支持多跳板之间的连续跳,而SSS却可支持最多达255个跳板之间的连跳运动
2/ 普通的Sock代理程序之间的数据传输是不加密的,而SSS支持的跳板之间传输的数据是经过动态加密的,也就是说每次传输过程中,数据加密的方式都不相同。就算你不幸在。。的过程中被webmaster发现,普通的sock代理程序将会被webmaster用sniffer把你的信息一览无遗,而恰巧你用的是SSS的话,呵呵~他将会看到一堆乱码
3/普通的sock代理程序在设置上比较烦琐,而SSS只用两步就全都ok了。(具体步骤将在下面说明) 普通的sock代理程序要不然只支持Tcp或Udp的连接,很少有二者兼顾的,而SSS却全部支持
下面是一个大哥写的教程我觉得不错,就COPY一下了
找A机上传SSS文件,(怎么找我想你应该有个肉鸡吧)如果权限足够的话,应该可以完成SSS的安装和启动。所示:
SSS命令参数的说明:
…install 在NT机上安装SSS
…remove 移除SSS。
…debug 呵呵~snake进行debug用的,对于咱们老百姓来言无用。
sksockserver –install 安装sksockserver。
start skserver 启动skserver服务。:(注意:这可是在A机上运行的,可不是你自己的爱机)
Ok啦~A机跳板完成,下面进行B机跳板的安装:
打开终端服务客户端连上找到的B菜机。
用B菜机的IE直接下载SSS~~呵呵~如图2:(IP地址隐去啦~大家自己找菜机吧)
在B菜机上配置sockservercfg(因为是用vc编写的sockservercfg;所以必须有mfc的库文件,如果出现“无法定位序数XXXX于动态连接库mfc42。dll”的话,大家可以在自己的机子上找找,最终上传到B菜机的路径:X:winntsystem32)
SSS的配置界面一:在名称处可以填上任意的程序说明,以方便糊弄网管。要注意三处画红圈处,分别为:程序在开机时自动启动(我第一次用的时候还以为是给SSS自动分配端口~哎~Snake!So lazy!~)、安装服务、启动服务。
SSS的配置界面二:是对client端进行限制的配置(呵呵~大家讲点义气,就别做限制啦)
SSS的配置界面三:重要的地方哟!在IP处填入刚才做好的A菜机的Ip地址;激活bActive处(哎~什么叫bActive呀~就不会多作一个取消的?Snake!!!Too too lazy!);之后点Add。
最后提醒一句别忘了点确定哟
ok啦~大功告成!再向大家推荐最后一个好东东-SocksCap(你可以在这找到:http://。youngzsoft。/cn/sockscap/)。在自己的机子上装好SocksCap后,设定用Sock5代理的IP地址(就是A菜机的地址);在SocksCap下运行程序,例如:tel;ftp;ntshell;IE。。。。。所有可以上网的程序,呵呵~这样的你就从网络彻底消失啦~~
总结:
这篇文章只讲了两个跳板,同理,只要再设置 C;D;E。。。。。(只要你不嫌麻烦)上的配置,就连跳了n个跳板啦;在设置A机的时候其实最好也用3389登陆设置,这样的话可以自己设定SSS的端口。
『第18天』几个DNS问题和网络攻击与防范
现在的Inter上存在的DNS服务器有绝大多数都是用bind来架设的;使用的bind版本主要为bind 4。9。5+P1以前版本和bind 8。2。2…P5以前版本。这些bind有个共同的特点;就是BIND会缓存(Cache)所有已经查询过的结果;这个问题就引起了下面的几个问题的存在。(什么叫BIND?BIND是一款由ISC维护的Inter域名名字系统实现。)
1》。DNS欺骗
在DNS的缓存还没有过期之前;如果在DNS的缓存中已经存在的记录;一旦有客户查询;DNS服务器将会直接返回缓存中的记录。
下面我们来看一个例子:
一台运行着unix的Inter主机;并且提供rlogin服务;它的IP地址为123。45。67。89;它使用的DNS服务器(即/etc/resolv。conf中指向的DNS服务器)的IP地址为98。76。54。32;某个客户端(IP地址为38。222。74。2)试图连接到unix主机的rlogin端口;假设unix主机的/etc/hosts。equiv文件中使用的是dns名称来允许目标主机的访问;那么unix主机会向IP为98。76。54。32的DNS服务器发出一个PTR记录的查询:
123。45。67。89 …》 98。76。54。32 'Query'
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: 2。74。222。38。in…addr。arpa PTR
IP为98。76。54。32的DNS服务器中没有这个反向查询域的信息;经过一番查询;这个DNS服务器找到38。222。74。2和38。222。74。10为74。222。38。in…addr。arpa。的权威DNS服务器;所以它会向38。222。74。2发出PTR查询:
98。76。54。32 …》 38。222。74。2 'Query'
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: 2。74。222。38。in…addr。arpa PTR
请注意;38。222。74。2是我们的客户端IP;也就是说这台机子是完全掌握在我们手中的。我们可以更改它的DNS记录;让它返回我们所需要的结果:
38。222。74。2 …》 98。76。54。32 'Answer'
NQY: 1 NAN: 2 NNS: 2 NAD: 2
QY: 2。74。222。38。in…addr。arpa PTR
AN: 2。74。222。38。in…addr。arpa PTR trusted。host。
AN: trusted。host。 A 38。222。74。2
NS: 74。222。38。in…addr。arpa NS ns。sventech。
NS: 74。222。38。in…addr。arpa NS ns1。sventech。
AD: ns。sventech。 A 38。222。74。2
AD: ns1。sventech。 A 38。222。74。10
当98。76。54。32的DNS服务器收到这个应答后;会把结果转发给123。45。67。98;就是那台有rlogin服务的unix主机(也是我们的目标 :) );并且98。76。54。32这台DNS服务器会把这次的查询结果缓存起来。
这时unix主机就认为IP地址为38。222。74。2的主机名为trusted。host。;然后unix主机查询本地的/etc/hosts。equiv文件;看这台主机是否被允许使用rlogin服务;很显然;我们的欺骗达到了。
在unix的环境中;有另外一种技术来防止这种欺骗的发生;就是查询PTR记录后;也查询PTR返回的主机名的A记录;然后比较两个IP地址是否相同:
123。45。67。89 …》 98。76。54。32 'Query'
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: trusted。host。 A
很不幸;在98。76。54。32的DNS服务器不会去查询这个记录;而会直接返回在查询2。74。222。38。in…addr。arpa时得到的并且存在缓存中的信息:
98。76。54。32 …》 123。45。67。89 'Query'
NQY: 1 NAN: 1 NNS: 2 NAD: 2
QY: trusted。host。 A
AN: trusted。host。 A 38。222。74。2
NS: 74。222。38。in…addr。arpa NS ns。sventech。
NS: 74。222。38。in…addr。arpa NS ns1。sventech。
AD: ns。sventech。 A 38。222。74。2
AD: ns1。sventech。 A 38。222。74。10
那么现在unix主机就认为38。222。74。2就是真正的trusted。host。了;我们的目的达到了!
这种IP欺骗的条件是:你必须有一台Inter上的授权的DNS服务器;并且你能控制这台服务器;至少要能修改这台服务器的DNS记录;我们的欺骗才能进行。
2》。拒绝服务攻击 Denial of service
还是上面的例子;如果我们更改位于38。222。74。2的记录;然后对位于98。76。54。32的DNS服务器发出2。74。222。38。in…addr。arpa的查询;并使得查询结果如下:
因为74。222。38。in…addr。arpa完全由我们控制;所以我们能很方便的修改这些信息来实现我们的目的。
38。222。74。2 …》 98。76。54。32 'Answer'
NQY: 1 NAN: 2 NNS: 2 NAD: 2
QY: 2。74。222。38。in…addr。arpa PTR
AN: 2。74。222。38。in…addr。arpa PTR trusted。host。
AN:。pany。 A 0。0。0。1
NS: 74。222。38。in…addr。arpa NS ns。sventech。
NS: 74。222。38。in…addr。arpa NS ns1。sventech。
AD: ns。sventech。 A 38。222。74。2
AD: ns1。sventech。 A 38。222。74。10
这样一来;使用98。76。54。32这台DNS服务器的用户就不能访问。pany。了;因为这个IP根本就不存在!
3》。偷取服务 Theft of services
还是上面的例子;只是更改的查询结果如下:
38。222。74。2 …》 98。76。54。32 'Answer'
NQY: 1 NAN: 3 NNS: 2 NAD: 2
QY: 2。74。222。38。in…addr。arpa PTR
AN: 2。74。222。38。in…addr。arpa PTR trusted。host。
AN:。pany。 CNAME。petitor。
AN: pany。 MX 0 mail。petitor。
NS: 74。222。38。in…addr。arpa NS ns。sventech。
NS: 74。222。38。in…addr。arpa NS ns1。sventech。
AD: ns。sventech。 A 38。222。74。2
AD: ns1。sventech。 A 38。222。74。10
这样一来;一个本想访问http://。petitor。的用户会被带到另外一个地方;甚至是敌对的公司的竹叶(想想把华为和北电联起来是什么样的感觉。 :) )。并且发给pany。的邮件会被发送给mail。pertitor。。(越来越觉得在网络上的日子不踏实! xxbin这样想)。
4》。限制
对这些攻击;也有一定的限制。
首先;攻击者不能替换缓存中已经存在的记录。比如说;如果在98。76。54。32这个DNS服务器上已经有一条。pany。的CNAME记录;那么攻击者试图替换为。petitor。将不会成功。然而;一些记录可以累加;比如A记录;如果在DNS的缓存中已经存在一条。pany。的A记录为1。2。3。4;而攻击者却欺骗DNS服务器说。pany。的A记录为4。3。2。1;那么。pany。将会有两个A记录;客户端查询时会随机返回其中一个。(呵呵;这不是loading balance么?)
其次;DNS服务器有个缓存刷新时间问题;如果。buddy。org的TTL为7200;那么DNS服务器仅仅会把。buddy。org的信息缓存7200秒或者说两个小时。如果攻击者放入一条TLL为604800的A记录;那么这条记录将会在缓存中保存一周时间;过了默认的两天后;这个DNS服务器就会到处〃分发〃攻击者假造的记录。
下面是常用的几种可以累加和不能累加的记录:
A can add
NS can add
MX can add
PTR cannot add
CNAME cannot add
再说说网络攻击的几种形式吧;说这个不是叫大家去攻击别人而是作为一种了解而已
1、服务拒绝攻击
服务拒绝攻击企图通过使你的服务计算机崩溃或把它压跨来阻止你提供服务,服务拒绝攻击是最容易实施的攻击行为,主要包括:
死亡之ping (ping of death)
概览:由于在早期的阶段,路由器对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方当机。
防御:现在所有的标准TCP/IP实现都已实现对付超大尺寸的包,并且大多数防火墙能够自动过滤这些攻击,包括:从windows98之后的windows;NT(service
pack 3之后),linux、Solaris、和Mac OS都具有抵抗一般ping of
death攻击的能力。此外,对防火墙进行配置,阻断ICMP以及任何未知协议,都讲防止此类攻击。
泪滴(teardrop)
概览:泪滴攻击利用那些在TCP/IP堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service
pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。
防御:服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们。
UDP洪水(UDP flood)
概览:各种各样的假冒攻击利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间的足够多的无用数据流,如果足够多的数据流就会导致带宽的服务攻击。
防御:关掉不必要的TCP/IP服务,或者对防火墙进行配置阻断来自Inter的请求这些服务的UDP请求。
SYN洪水(SYN