浏览模式: 普通 | 列表

推荐日志 手工清理C:\windows\alg.exe病毒

[ 2007-03-25 03:46:21 | 作者: sun ]
这是一个病毒样本eraseme_88446.exe(样本来自“剑盟”)释放到系统中的。瑞星今天的病毒库不报。

C:\windows\alg.exe偷偷潜入系统后,下次开机时会遇到1-2次蓝屏重启。

特点:
1、C:\windows\alg.exe注册为系统服务,实现启动加载。
2、C:\windows\alg.exe控制winlogon.exe进程。因此,在WINDOWS下无法终止C:\windows\alg.exe进程。
3、在IceSword的“端口”列表中可见C:\windows\alg.exe打开5-6个端口访问网络。
4、C:\windows\alg.exe修改系统文件ftp.exe和tftp.exe。与原系统文件比较,病毒改动后的ftp.exe和tftp.exe文件大小不变,但MD5值均变为09d81f8dca0cbd5b110e53e6460b0d3b(见附图)。系统原有的正常文件ftp.exe和tftp.exe被改名为backup.ftp和backup.tftp,存放到C:\WINDOWS\system32\Microsoft\目录下。

手工杀毒流程:
1、清理注册表:
(1)展开:HKLM\System\CurrentControlSet\Services
删除:Application Layer Gateway Services(指向 C:\windows\alg.exe)

(2)展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
将SFCDisable的建值改为dword:00000000

(3)展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
删除:"SFCScan"=dword:00000000

(4)展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions
删除:"v7b5x2s1i4h3"="12/15/2006, 01:26 PM"

2、重启系统。显示隐藏文件。
3、删除C:\windows\alg.exe。
4、在C:\WINDOWS\system32\Microsoft\目录下找到backup.ftp,改名为ftp.exe;找到backup.tftp,改名为tftp.exe。然后,将ftp.exe和tftp.exe拖拽到system32文件夹,覆盖被病毒改写过的ftp.exe和tftp.exe。

1、上网冲浪前就要做好安全工作:

a、大部分会员使用WINDOWS视窗系统,都尽可能的打上最新系统和IE补丁(升级站点:http://www.windowsupdate.com);

b、装一款适合自己的杀毒软件和防火墙(WINDOWS XP 系统的可以使用系统自带防火墙),经常升级至最新病毒库,并打开所有监控;

2、网上冲浪的安全事项:

a、下载的文件先扫描查毒,确认安全后则可打开执行;

b、在浏览页面时出现病毒警报,即时杀毒后也最好马上全盘查一查。

c、可疑文件提交在线查毒推荐:

VirusTotal http://www.virustotal.com/flash/index_en.html

Jotti Online MalwareScan http://virusscan.jotti.org/

d、确认中毒后,先根据所报病毒名,到搜索站点查询相关病毒处理办法,自己学着处理。

e、搜索站点推荐:

google http://www.google.com

baidu http://www.baidu.com

f、建议根据网上相关处理办法,关闭浏览器,终止所有可终止的进程,全盘杀毒,争取时间在系统重启动前删除隐患。

3、断网后要不定时间的全盘查一查系统:

a、在线扫描本地系统的中文在线网站推荐:

国内外免费在线杀毒 http://hi.baidu.com/teyqiu/blog/item/6ac57d1e077734f41bd57610.html

4、对于自己不能处理的病毒问题,则可以到网上虚心寻求会员朋友帮助解决,记住那也是学习讨论交流过程,得益更多。

注意提供给会员朋友的相关信息如下:

a、中毒前后的情况说明(包括浏览或下载执行过什么程序,出现什么症状,杀毒软件已报的病毒信息,根据哪个站点已做过哪些处理)

b、提供相关扫描日志,所用扫描日志修复工具推荐:
工具:SRENG http://bbs.360safe.com/viewthread.php?tid=55006&extra=page%3D1

c、常用小型工具推荐:——部分引用了卡卡社区的说明:-)

1>冰刃 Icesword v1.12(新手慎用)

Icesword v1.12这是一斩断黑手的利刃,它适用于Windows 2000/XP/2003 操作系统, 其内部功能是十分强大,用于查探系统中的幕后黑手-木马后门,并作出处理。

注意事项:此程序运行时不要激活内核调试器(如softice),否则系统可能即刻崩溃。另外使用前请保存好您的数据,以防万一未知的Bug带来损失。

IceSword目前只为使用32位的x86兼容CPU的系统设计,另外运行IceSword需要管理员权限。

下载地址:http://aqfrs.ys168.com
作者主页:http://www.blogcn.com/user17/pjf/index.html
说明文本在程序中。

2>killbox v2.0.0.175

国外反病毒论坛很受欢迎的工具软件,实质是一个删除任意文件的利器

它不管这个文件是EXE还是DLL等其它文件,也不管这个文件是正在运行中,还是被系统调用了,KillBox 都可以简单几步就将文件删除。

下载地址:http://wx.onlinedown.net/soft/37257.htm

3> Procexp和Autoruns

高级进程管理器和系统启动项查看工具,下载页面都有说明及贴图

下载地址:http://www.sysinternals.com/Files/ProcessExplorerNt.zip

http://www.sysinternals.com/Files/Autoruns.zip

<4>WinsockXPFix

一个小巧的winsock和tcp/ip修复工具。

hijackthis在修复010项时有可能会破坏winsock2的SPI,引起WinXP的Winsock故障,导致所有网络应用中断。可以通过这个工具来修复。

下载地址:http://www.wedoc.com/software/WinsockXPFix.exe
http://www.snapfiles.com/get/winsockxpfix.html

Winsock repair utility designed for Windows 98, 98SE, and ME.

Winsock repair utility designed for Windows XP.

Winsock repair utility for Windows 95/98/98SE/ME.

推荐日志 入侵检测和漏洞检测

[ 2007-03-25 03:45:55 | 作者: sun ]
----入侵检测和漏洞检测系统是网络安全系统的一个重要组成部分,它不但可以实现复杂烦琐的信息系统安全管理,而且还可以从目标信息系统和网络资源中采集信息,分析来自网络外部和内部的入侵信号和网络系统中的漏洞,有时还能实时地对攻击作出反应。

----入侵检测具有监视分析用户和系统的行为、审计系统配置和漏洞、评估敏感系统和数据的完整性、识别攻击行为、对异常行为进行统计、自动地收集和系统相关的补丁、进行审计跟踪识别违反安全法规的行为、使用诱骗服务器记录黑客行为等功能,使系统管理员可以较有效地监视、审计、评估自己的系统。

----漏洞检测就是对重要计算机信息系统进行检查,发现其中可被黑客利用的漏洞。这种技术通常采用两种策略,即被动式策略和主动式策略。被动式策略是基于主机的检测,对系统中不合适的设置、脆弱的口令以及其他同安全规则相抵触的对象进行检查;而主动式策略是基于网络的检测,通过执行一些脚本文件对系统进行攻击,并记录它的反应,从而发现其中的漏洞。漏洞检测的结果实际上就是系统安全性能的一个评估,它指出了哪些攻击是可能的,因此成为安全方案的一个重要组成部分。

----一个健全的网络信息系统安全方案应该包括安全效用检验、安全审计、安全技术、安全教育与培训、安全机构与程序和安全规则等内容,是一个复杂的系统工程。安全技术是其中一个重要的环节,入侵检测和漏洞检测系统是安全技术的核心。目前经常使用的安全技术有防火墙、防病毒软件、用户认证、加密、入侵检测和漏洞检测系统等。防火墙作为防护措施中的一层能够起到一定的作用,但事实证明它是不充分的,防火墙充当了外部网和内部网的一个屏障,但并不是所有的外部访问都是通过防火墙的。比如,一个未经认证的调制解调器把内部网连到了外部网,就可以绕开防火墙,对系统的安全构成威胁。此外,安全威胁也可能来自内部,而防火墙本身也极容易被外部黑客攻破。入侵检测和漏洞检测系统是防火墙的重要补充,并能有效地结合其他网络安全产品的性能,对网络安全进行全方位的保护。

入侵检测
 

----1.常用的入侵检测技术

----入侵检测技术可分为五种:

----(1)基于应用的监控技术主要特征是使用监控传感器在应用层收集信息。由于这种技术可以更准确地监控用户某一应用的行为,所以这种技术在日益流行的电子商务中也越来越受到注意,其缺点在于有可能降低技术本身的安全。

----(2)基于主机的监控技术主要特征是使用主机传感器监控本系统的信息。这种技术可以用于分布式、加密、交换的环境中监控,把特定的问题同特定的用户联系起来;其缺点在于主机传感器要和特定的平台相关联,对网络行为不易领会,同时加大了系统的负担。

----(3)基于目标的监控技术主要特征是针对专有系统属性、文件属性、敏感数据、攻击进程结果进行监控。这种技术不依据历史数据,系统开销小,可以准确地确定受攻击的部位,受到攻击的系统容易恢复;其缺点在于实时性较差,对目标的检验数依赖较大。

----(4)基于网络的监控技术主要特征是网络监控传感器监控包监听器收集的信息。该技术不需要任何特殊的审计和登录机制,只要配置网络接口就可以了,不会影响其他数据源;其缺点在于如果数据流进行了加密,就不能审查其内容,对主机上执行的命令也感觉不到。此外,该技术对高速网络不是特别有效。

----(5)综合以上4种方法进行监控其特点是可提高侦测性能,但会产生非常复杂的网络安全方案,严重影响网络的效率,而且目前还没有一个统一的业界标准。

----2.入侵检测技术的选用

----在使用入侵检测技术时,应该注意具有以下技术特点的应用要根据具体情况进行选择:

----(1)信息收集分析时间:可分为固定时间间隔和实时收集分析两种。采用固定时间间隔方法,通过操作系统审计机制和其他基于主机的登录信息,入侵检测系统在固定间隔的时间段内收集和分析这些信息,这种技术适用于对安全性能要求较低的系统,对系统的开销影响较小;但这种技术的缺点是显而易见的,即在时间间隔内将失去对网络的保护。采用实时收集和分析技术可以实时地抑制攻击,使系统管理员及时了解并阻止攻击,系统管理员也可以记录黑客的信息;缺点是加大了系统开销。

----(2)采用的分析类型:可分为签名分析、统计分析和完整性分析。签名分析就是同攻击数据库中的系统设置和用户行为模式匹配。在许多入侵检测系统中,都建有这种已知攻击的数据库。这种数据库可以经常更新,以对付新的威胁。签名分析的优点在于能够有针对性地收集系统数据,减少了系统的开销,如果数据库不是特别大,那么签名分析比统计分析更为有效,因为它不需要浮点运算。

----统计分析用来发现偏离正常模式的行为,通过分析正常应用的属性得到系统的统计特征,对每种正常模式计算出均值和偏差,当侦测到有的数值偏离正常值时,就发出报警信号。这种技术可以发现未知的攻击,使用灵活的统计方法还可以侦测到复杂的攻击。当然,如果高明的黑客逐渐改变入侵模式,那么还是可以逃避侦测的,而且统计传感器发出虚警的概率就会变大。

----完整性分析主要关注某些文件和对象的属性是否发生了变化。完整性分析通过被称为消息摘录算法的超强加密机制,可以感受到微小的变化。这种分析可以侦测到任何使文件发生变化的攻击,弥补了签名分析和统计分析的缺陷,但是这种分析的实时性很差。

----(3)侦测系统对攻击和误用的反应:有些基于网络的侦测系统可以针对侦测到的问题作出反应,这一特点使得网络管理员对付诸如拒绝服务一类的攻击变得非常容易。这些反应主要有改变环境、效用检验、实时通知等。当系统侦测到攻击时,一个典型的反应就是改变系统的环境,通常包括关闭联接,重新设置系统。由于改变了系统的环境,因此可以通过设置代理和审计机制获得更多的信息,从而能跟踪黑客。狡猾的黑客通常瞄准侦测传感器和分析引擎进行攻击,在这种情况下,就有必要对这些传感器和引擎进行效用评估,看它们能否正常工作。许多实时系统还允许管理员选择一种预警机制,把发生的问题实时地送往各个地方。

----(4)侦测系统的管理和安装:用户采用侦测系统时,需要根据本网的一些具体情况而定。实际上,没有两种完全相同的网络环境,因此,就必须对采用的系统进行配置。比如,可以配置系统的网络地址、安全条目等。某些基于主机的侦测系统还提供友好的用户界面,让用户说明要传感器采集哪些信息。一个好的侦测系统会为用户带来方便,让用户记录系统中发生的安全问题,在运行侦测系统的时候,还可以说明一些控制功能和效用检验机制。

----(5)侦测系统的完整性:所谓完整性就是系统自身的安全性,鉴于侦测系统的巨大作用,系统设计人员要对系统本身的自保性能有足够的重视,黑客在发动攻击之前首先要对安全机制有足够的了解后才会攻击,所以侦测系统完整性就成为必须解决的问题,经常采用的手段有认证、超强加密、数字签名等,确保合法使用,保证通信不受任何干扰。

----(6)设置诱骗服务器:有的侦测系统还在安全构架中提供了诱骗服务器,以便更准确地确定攻击的威胁程度。诱骗服务器的目的就是吸引黑客的注意力,把攻击导向它,从敏感的传感器中发现攻击者的攻击位置、攻击路径和攻击实质,随后把这些信息送到一个安全的地方,供以后查用。这种技术是否采用可根据网络的自身情况而定。

漏洞检测
 

----1.分类

----漏洞检测技术可分为5种:

----(1)基于应用的检测技术它采用被动的、非破坏性的办法检查应用软件包的设置,发现安全漏洞。

----(2)基于主机的检测技术它采用被动的、非破坏性的办法对系统进行检测。通常,它涉及到系统的内核、文件的属性、操作系统的补丁等问题。这种技术还包括口令解密,把一些简单的口令剔除。因此,这种技术可以非常准确地定位系统存在的问题,发现系统漏洞。它的缺点是与平台相关,升级复杂。

----(3)基于目标的检测技术它采用被动的、非破坏性的办法检查系统属性和文件属性,如数据库、注册号等。通过消息文摘算法,对文件的加密数进行检验。其基本原理是消息加密算法和哈希函数,如果函数的输入有一点变化,那么其输出就会发生大的变化,这样文件和数据流的细微变化都会被感知。这些算法加密强度极大,不易受到攻击,并且其实现是运行在一个闭环上,不断地处理文件和系统目标属性,然后产生检验数,把这些检验数同原来的检验数相比较,一旦发现改变就通知管理员。

----(4)基于网络的检测技术它采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本对系统进行攻击,然后对结果进行分析。网络检测技术常被用来进行穿透实验和安全审计。这种技术可以发现平台的一系列漏洞,也容易安装。但是,它容易影响网络的性能,不会检验不到系统内部的漏洞。

----(5)综合的技术它集中了以上4种技术的优点,极大地增强了漏洞识别的精度。

----2.特点

----(1)检测分析的位置:在漏洞检测中,第一步是收集数据,第二步是数据分析。在大型网络中,通常采用控制台和代理结合的结构,这种结构特别适用于异构型网络,容易检测不同的平台。在不同威胁程度的环境下,可以有不同的检测标准。

----(2)报表与安装:漏洞检测系统生成的报表是理解系统安全状况的关键,它记录了系统的安全特征,针对发现的漏洞提出需要采取的措施。整个漏洞检测系统还应该提供友好的界面及灵活的配置特性。安全漏洞数据库可以不断更新补充。

----(3)检测后的解决方案:一旦检测完毕,如果发现了漏洞,那么系统可有多种反应机制。预警机制可以让系统发送消息、电子邮件、传呼等来报告发现了漏洞。报表机制则生成综合的报表列出所有的漏洞。根据这些报告可以采用有针对性的补救措施。同侦测系统一样,漏洞检测有许多管理功能,通过一系列的报表可让系统管理员对这些结果做进一步的分析。

----(4)检测系统本身的完整性:同样,这里有许多设计、安装、维护检测系统要考虑的安全问题。安全数据库必须安全,否则就会成为黑客的工具,因此,加密就显得特别重要。由于新的攻击方法不断出现,所以要给用户提供一个更新系统的方法,更新的过程也必须给予加密,否则将产生新的危险。实际上,检测系统本身就是一种攻击,如果被黑客利用,那么就会产生难以预料的后果。因此,必须采用保密措施,使其不会被黑客利用。

实现模型
 

----入侵检测和漏洞检测系统的实现是和具体的网络拓扑密切相关的,不同的网络拓扑对入侵检测和漏洞检测系统的结构和功能有不同的要求。通常情况下该系统在网络系统中可设计为两个部分:安全服务器(Securityserver)和侦测代理(Agent)。

----如附图所示,侦测代理分布在整个网络中,大体上有三种:一是主机侦测代理,二是网络设备侦测代理,三是公用服务器侦测代理。



----主机代理中有主机侦测代理和主机漏洞检测代理两种类型,其中侦测代理动态地实现探测入侵信号,并作出相应的反应;漏洞检测代理检测系统的配置、日志等,把检测到的信息传给安全服务器和用户。

----在网段上有唯一的代理负责本网段的安全。该代理主要完成本网段的入侵检测。

----在防火墙的外部还需有专门的代理负责公用服务器的安全,这些代理也要有侦测代理和主机漏洞检测代理两种类型。在安全服务器上,有一个网络漏洞检测代理从远程对网络中的主机进行漏洞检测。

----入侵检测代理在结构上由传感器、分析器、通信管理器等部件组成。顾名思义,传感器就是安全信息感受器,它侦测诸如多次不合法的登录,对端口进行扫描等信息。传感器中有过滤正常和非正常信息的能力,它只接受有意义的安全信息。分析器首先接收来自传感器的信息,把这些信息同正常数据相比较,将结果送往通信管理器,并动态地作出一定的反应。通信管理器再把这些信息分类,送往安全服务器。

----漏洞检测代理在结构上由检测器、检测单元、通信管理器等部件组成。检测器是检测单元的管理器,它决定如何调度检测单元。检测单元是一系列的检测项,通常是一些脚本文件。通信管理器把检测的结果发给用户和安全服务器。

----每一个主机代理感受敏感的安全信息,对这些信息进行处理,作出反应,然后把一些信息交给网段代理和安全服务器处理。网段代理对本网段的安全负责,它一边监视本网段的情况,一边向安全服务器汇报。

----安全服务器中包含网络安全数据库、通信管理器、联机信息处理器等部件,它的主要功能是和每一个代理进行相互通信,实时处理所有从各代理发来的信息,作出响应的反映,同时对本网的各安全参数进行审计和记录日志,为完善网络的安全性能提供参数。它还有一个重要的功能就是控制防火墙。从图中可以看出这些部件相互协作,为整个系统提供了一个分布式的、完整的解决方案。

结 论
 

----入侵检测和漏洞检测技术是计算机网络系统安全解决方案中非常重要的部分,它极大地提高了整个系统的安全性能。一个分布式的解决方案可以可靠地实现网络信息系统的安全。通过部署入侵检测和漏洞检测系统可以实现:支持内部审计、责任曝光、突发事件处理与调查、估计损失与迅速恢复、改善安全管理过程、发现新的问题、记录系统发生的问题等。总之,入侵检测和漏洞检测技术是一项非常重要的技术,它的完美实现会给计算机网络安全带来革命性的变化。

推荐日志 网络安全重在日常防护

[ 2007-03-25 03:45:39 | 作者: sun ]

近期读了一些关于网络入侵的文章,感觉到增强网络安全是一项日常性的工作,并不是说网络设备、服务器配置好了就绝对安全了,操作系统和一些软件的漏洞是不断被发现的,比如冲击波、震荡波病毒就是利用系统漏洞,同样利用这些漏洞可以溢出得到系统管理员权限, server-U的提升权限漏洞也可以被利用。在这些漏洞未被发现前,我们觉得系统是安全的,其实还是不安全的,也许漏洞在未公布前已经被部分hacker 所知,也就是说系统和应用软件我们不知道还会存在什么漏洞,那么日常性的防护就显得尤为必要。


一、做好基础性的防护工作,服务器安装干净的操作系统,不需要的服务一律不装,多一项就多一种被入侵的可能性,打齐所有补丁,微软的操作系统当然推荐WIN2K3,性能和安全性比WIN2K都有所增强,选择一款优秀的杀毒软件,至少能对付大多数木马和病毒 的,安装好杀毒软件,设置好时间段自动上网升级,设置好帐号和权限,设置的用户尽可能的少,对用户的权限尽可能的小,密码设置要足够强壮。对于MSSQL,也要设置分配好权限,按照最小原则分配。最好禁用xp_cmdshell。有的网络有硬件防火墙,当 然好,但仅仅依靠硬件防火墙,并不能阻挡hacker的攻击,利用反向连接型的木马和其他的办法还是可以突破硬件防火墙的阻挡。WIN2K3系统自带的防火墙功能还不够强大,建议打开,但还需要安装一款优秀的软件防火墙保护系统,我一般习惯用ZA,论坛有 很多教程了。对于对互联网提供服务的服务器,软件防火墙的安全级别设置为最高,然后仅仅开放提供服务的端口,其他一律关闭,对于服务器上所有要访问网络的程序,现在防火墙都会给予提示是否允许访问,根据情况对于系统升级,杀毒软件自动升级等有必要访问外网 的程序加到防火墙允许访问列表。那么那些反向连接型的木马就会被防火墙阻止,这样至少系统多了一些安全性的保障,给hacker入侵就多一些阻碍。网络上有很多基础型的防护资料,大家可以查查相关服务器安全配置方面的资料。


二、修补所有已知的漏洞,未知的就没法修补了,所以要养成良好的习惯,就是要经常去关注。了解自己的系统,知彼知己,百战百胜。所有补丁是否打齐,比如mssql,server-U,论坛程序是否还有漏洞,每一个漏洞几乎都是致命的,系统开了哪些服务,开了哪些端口,目前开的这些服务中有没有漏洞可以被黑客应用,经常性的了解当前黑客攻击的手法和可以被利用的漏洞,检查自己的系统中是否存在这些漏洞。比如SQL注入漏洞,很多网站 都是因为这个服务器被入侵,如果我们作为网站或者服务器的管理者,我们就应该经常去关注这些技术,自己经常可以用一些安全性扫描工具检测检测,比如X- scan,snamp, nbsi,PHP注入检测工具等,或者是用当前比较流行的hacker入侵工具检测自己的系统是否存在漏洞,这得针对自己的系统开的服务去检测,发现漏洞及时修补。网络管理人员不可能对每一方面都很精通,可以请精通的人员帮助检测,当然对于公司来说,如果 系统非常重要,应该请专业的安全机构来检测,毕竟他们比较专业。


三、服务器的远程管理,相信很多人都喜欢用server自带的远程终端,我也喜欢,简洁速度快。但对于外网开放的服务器来说,就要谨慎了,要想到自己能用,那么这个端口就对外开放了,黑客也可以用,所以也要做一些防护了。一就是用证书策略来限制访问者,给 TS配置安全证书,客户端访问需要安全证书。二就是限制能够访问服务器终端服务的IP地址。三是可以在前两者的基础上再把默认的3389端口改一下。当然也可以用其他的远程管理软件,pcanywh&#101;re也不错。


四、另外一个容易忽视的环节是网络容易被薄弱的环节所攻破,服务器配置安全了,但网络存在其他不安全的机器,还是容易被攻破,“千里之堤,溃于蚁穴 ”。利用被控制的网络中的一台机器做跳板,可以对整个网络进行渗透攻击,所以安全的配置网络中的机器也很必要。说到跳板攻击,水平稍高一点的hacker攻击一般都会隐藏其真实IP,所以说如果被入侵了,再去追查的话是很难成功的。Hacker利用控制的 肉鸡,肉鸡一般都是有漏洞被完全控制的计算机,安装了一些代理程序或者黑客软件,比如DDOS攻击软件,跳板程序等,这些肉鸡就成为黑客的跳板,从而隐藏了真实IP。


五、最后想说的是即使大家经过层层防护,系统也未必就绝对安全了,但已经可以抵挡一般的hacker的攻击了。连老大微软都不能说他的系统绝对安全。系统即使只开放80端口, 如果服务方面存在漏洞的话,水平高的hacker还是可以钻进去,所以最关键的一点我认为还是关注最新漏洞,发现就要及时修补。“攻就是防,防就是攻” ,这个观点我比较赞同,我说的意思并不是要去攻击别人的网站,而是要了解别人的攻击手法,更好的做好防护。比如不知道什么叫克隆管理员账号,也许你的机器已经被入侵并被克隆了账号,可能你还不知道呢?如果知道有这种手法,也许就会更注意这方面。自己的网站 如果真的做得无漏洞可钻,hacker也就无可奈何了。


希望大家有好的思路和经验能够多探讨探讨,要做好网络安全还有很多细节需要注意,一个微小的疏忽都可能导致功亏一篑。

推荐日志 MRTG在IIS 6.0上实现入侵检测功能

[ 2007-03-25 03:45:27 | 作者: sun ]
MRTG(Multi Router Traffic Grapher)是一个跨平台的监控网络链路流量负载的工具软件,目前它可以运行在大多数Unix系统和Windows NT之上。它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。

  或许你还不知道,MRTG还是一个有效的入侵检测工具。大家都知道,入侵者扫描与破坏后都能生成一些异常的网络流量,而人们在一般情况下是意识不到的。但是MRTG却能通过图形化的形式给管理员提供入侵的信息。并可以查出数周之前的入侵信息,以备管理员参考。

  一,攻击行为对服务器造成的信息 

  1,攻击者使用CGI漏洞扫描器对潜在的CGI漏洞脚本进行扫描时,HTTP 404 Not Found errors的记录会增长。

  2,攻击者尝试暴力破解服务器上的帐户,HTTP 401 Authorization Required errors 的记录会增长。

  3,一种新的蠕虫出现,某一个特定的协议的流量会增长。
  

  4,蠕虫通过傀儡主机,攻击其他的服务器,出外的流量增加,并增大CPU的负荷。

  5,入侵者尝试SQL injection攻击,HTTP 500 Server Errors记录会增长。

  6,垃圾邮件发送者在网络上寻找中继SMTP服务器来发送垃圾邮件,会造成SMTP的和DNS lookups流量大增,同时造成CPU负荷增大。

  7,攻击者进行DDOS攻击,会造成ICMP流量,TCP连接,虚假的IP,多播广播流量大增。造成浪费大量的带宽。

  看完上面的,我们可以总结出,攻击者要入侵必须会影响到服务器的这些资源:: CPU, RAM,磁盘空间,网络连接和带宽。入侵者还有可能对服务器建立进程后门,开放端口,他们还对他们的入侵行为进行伪装掩盖,避免遭到入侵检测系统的监视。

  二,攻击者使用以下的方法避免被检测到:  

   1,探测扫描很长时间后,才进行真正的入侵进攻。  

   2,从多个主机进行攻击,避免单一的主机记录。  

   3,尽量避免入侵造成的CPU, RAM和驱动器的负荷。  

   4,利用管理员无人职守时入侵,在周末或者节假日发起攻击。  

   三,对于IIS 6,我们需要监视的是  

   1,网络流量,包括带宽,数据包,连接的数量等。  

   2,网络协议的异常错误。  

   3,网站的内外流量,包括用户的权限设置,外部请求的错误流量等。  

   4,线程和进程。  

   四,在Windows 2003下安装MRTG   

  在使用MRTG之前,你需要在你的服务器里安装SNMP 服务。具体步骤如下:从控制面板中选择添加/删除程序,点击添加和删除windows组件。管理和监视工具中的详细资料里就可以找到简单网络管理协议,即可安装。

安装成功后,你需要立刻安全配置一下,我们大家都知道,SNMP在网络上决不是一个安全的协议,你可以通过http://support.microsoft.com/?kbid=324261这个连接来具体了解。但是我们只是在本地使用SNMP,但是还是建议你通过防火墙屏蔽SNMP的161与162端口和使用IPSec。并且要配置为obscure community string。在管理工具中,在服务中选择安全,设为只读访问。尽管community string安全问题不多,但是你还是要避免使用community string为只读访问。 

  MRTG是一个用Perl编译的C程序。你还要安装ActivePerl来解决支持脚本的问题。下载最新的MRTG。可以到http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/下载,

  注意要选择.zip的文件下载。这篇文章所使用的版本请到http://securityfocus.com/microsoft/images/burnett_MRTG_files.zip下载。

  把MRTG解压到C:\Program Files\MRTG目录下。 

  在你的Inetpub目录下为MRTG建立一个子目录。为了安全,不要建立在wwwroot目录下。然后,使用IIS建立一个MRTG的新站点。如果可能的话,最好能为MRTG站点配置一个主机头和一个独立的IP。也可以在一个已存在的目录下为MRTG站点建立一个合法的虚拟目录,也能达到同样的目的。 

  注意,在新建立的MRTG站点不要运行可执行的脚本,只提供只读访问。在NTFS下,要注意对用户的权限的设置。如果可能的话,最好对指定MRTG站点的IP来选择特定的主机。  

  现在,就可以把配置文件放到C:\Program Files\MRTG\Bin下了,并把index.html 文件拷贝到你的\Inetpub\MRTG 目录下。 

  下面,我们来测试一下,在命令提示符下输入: 

  C:\ProgramFiles\MRTG>perl mrtg mrtg.cfg

  如果一些正常的话,就会在在你的MRTG站点就有了一些配置文件。如果安装失败,你可以回顾一下你安装的步骤,是否有错误,并参考MRTG 的参考手册。 

  五,具体配置SNMP计数器  

   尽管微软提供了SNMP的计数器,但是我发现它对一些应用程序支持有些问题,然而,MRTG却能从很多的应用程序中得到消息。但是我们通过Windows Management Instrumentation (WMI) 也能得到包括所有的计数器的性能信息。同SNMP不同的是,微软在WMI下了很大的时间和金钱。比如:我想得到关于线程和进程的信息,我可以使用以下的脚本轻易实现:  

  Set oWService=GetObject("winmgmts:\\localhost\root\cimv2")

  Set colItems=oWService.ExecQuery("Sel&#101;ct * FROM Win32_PerfFormattedData_PerfOS_System",,48)

  For Each Item in colItems

   Param1=Param1 + Item.Processes

   Param2=Param2 + Item.Threads

   Uptime=Item.SystemUptime

Next  

  WScript.Echo Param1

  WScript.Echo Param2

  WScript.Echo Uptime & " seconds"

  WScript.Echo "LocalHost" 

  Another problem I had was getting detailed o&#114; custom web statistics through either SNMP o&#114; WMI. To solve that, I used Microsoft&#39;s LogParser tool to run custom queries from a simple batch file:   

  @for /f "tokens=1,2,3,4* delims=/ " %%i in (&#39;date /t&#39;) do @set year=%%l&& @set month=%%j&& @set day=%%k

  @set logfile=c:\windows\system32\LogFiles\%1\ex%YEAR:~2,2%%month%%day%.log

  @If Exist %logfile% (

   @logparser "Sel&#101;ct COUNT(*) FROM %logfile% Wh&#101;re (sc-status>= 400AND sc-status<500)

   AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP(&#39;5&#39;,&#39;m&#39;))" -q

   @logparser "Sel&#101;ct COUNT(*) FROM %logfile% Wh&#101;re (sc-status>= 500AND sc-status<600)

   AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP(&#39;5&#39;,&#39;m&#39;))" -q

  ) ELSE (

   @Echo %logfile%

   @Echo 0

  )

  @Echo Unknown

  @Echo %1
  

   因为微软的日志记录工具也非常强大,和MRTG的计数器配合使用,在加上免费的入侵检测系统Snort,效果会更好。

  六,最后 

  在你自定义的完你的计数器完成之后,通过图行化的状况就可以轻易的找出入侵者。可以在网站http://snmpboy.msft.net看到在Windows 2003 server中的snmp更多的信息。

推荐日志 提升安全性Win XP必禁的十大服务

[ 2007-03-25 03:45:11 | 作者: sun ]
Windows提供了很多非常有价值的服务,但很多服务都是双刃剑,用不好就会带来诸多安全隐患。以下十项服务是对安全威胁较大的服务,建议普通用户一定要禁用它。


  Win XP必须禁止的服务

  1.NetMeeting Remote Desktop Sharing:允许受权的用户通过NetMeeting在网络上互相访问对方。这项服务对大多数个人用户并没有多大用处,况且服务的开启还会带来安全问题,因为上网时该服务会把用户名以明文形式发送到连接它的客户端,黑客的嗅探程序很容易就能探测到这些账户信息。

  2.Universal Plug and Play Device Host:此服务是为通用的即插即用设备提供支持。这项服务存在一个安全漏洞,运行此服务的计算机很容易受到攻击。攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令“Location”域的地址指向另一系统的chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。

  3.Messenger:俗称信使服务,电脑用户在局域网内可以利用它进行资料交换(传输客户端和服务器之间的Net Send和Alerter服务消息,此服务与Windows Messenger无关。如果服务停止,Alerter消息不会被传输)。这是一个危险而讨厌的服务,Messenger服务基本上是用在企业的网络管理上,但是垃圾邮件和垃圾广告厂商,也经常利用该服务发布弹出式广告,标题为“信使服务”。而且这项服务有漏洞,MSBlast和Slammer病毒就是用它来进行快速传播的。

  4.Terminal Services:允许多位用户连接并控制一台机器,并且在远程计算机上显示桌面和应用程序。如果你不使用Win XP的远程控制功能,可以禁止它。

  5.Remote Registry:使远程用户能修改此计算机上的注册表设置。注册表可以说是系统的核心内容,一般用户都不建议自行更改,更何况要让别人远程修改,所以这项服务是极其危险的。

  6.Fast User Switching Compatibility:在多用户下为需要协助的应用程序提供管理。Windows XP允许在一台电脑上进行多用户之间的快速切换,但是这项功能有个漏洞,当你点击“开始→注销→快速切换”,在传统登录方式下重复输入一个用户名进行登录时,系统会认为是暴力破解,而锁定所有非管理员账户。如果不经常使用,可以禁止该服务。或者在“控制面板→用户账户→更改用户登录或注销方式”中取消“使用快速用户切换”。

  7.Telnet:允许远程用户登录到此计算机并运行程序,并支持多种 TCP/IP Telnet客户,包括基于 UNIX 和 Windows 的计算机。又一个危险的服务,如果启动,远程用户就可以登录、访问本地的程序,甚至可以用它来修改你的ADSL Modem等的网络设置。除非你是网络专业人员或电脑不作为服务器使用,否则一定要禁止它。

  8.Performance Logs And Alerts:收集本地或远程计算机基于预先配置的日程参数的性能数据,然后将此数据写入日志或触发警报。为了防止被远程计算机搜索数据,坚决禁止它。

  9.Remote Desktop Help Session Manager:如果此服务被终止,远程协助将不可用。

  10.TCP/IP NetBIOS Helper:NetBIOS在Win 9X下就经常有人用它来进行攻击,对于不需要文件和打印共享的用户,此项也可以禁用

进阶:可以禁止的服务

  另外还有一些普通用户可以按需求禁止的服务:  

  1.Alerter:通知所选用户和计算机有关系统管理级警报。如果你未连上局域网且不需要管理警报,则可将其禁止。  

  2.Indexing Service:本地和远程计算机上文件的索引内容和属性,提供文件快速访问。这项服务对个人用户没有多大用处。  

  3.Application Layer Gateway Service:为Internet连接共享和Internet连接防火墙提供第三方协议插件的支持。如果你没有启用Internet连接共享或Windows XP的内置防火墙,可以禁止该服务。  

  4.Uninterruptible Power Supply:管理连接到计算机的不间断电源,没有安装UPS的用户可以禁用。  

  5.Print Spooler:将文件加载到内存中以便稍后打印。如果没装打印机,可以禁用。  

  6.Smart Card:管理计算机对智能卡的读取访问。基本上用不上,可以禁用。  

  7.Ssdp Discovery Service:启动家庭网络上的upnp设备自动发现。具有upnp的设备还不多,对于我们来说这个服务是没有用的。  

  8.Automatic Up&#100;ates:自动从Windows Up&#100;ate网络更新补丁。利用Windows Up&#100;ate功能进行升级,速度太慢,建议大家通过多线程下载工具下载补丁到本地硬盘后,再进行升级。  

  9.Clipbook:启用“剪贴板查看器”储存信息并与远程计算机共享。如果不想与远程计算机进行信息共享,就可以禁止。  

  10.Imapi Cd-burning Com Service:用Imapi管理CD录制,虽然Win XP中内置了此功能,但是我们大多会选择专业刻录软件,另外如果没有安装刻录机的话,也可以禁止该服务。   

  11.Workstation:创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接都将不可用。  

  12.Error Reporting Service:服务和应用程序在非标准环境下运行时,允许错误报告。如果你不是专业人员,这个错误报告对你来说根本没用。  

  再就是如下几种服务对普通用户而言也没有什么作用,大家可以自己决定取舍,如:Routing and Remote Access、Net Logon、Network DDE和Network DDE DSDM。

推荐日志 详解网站的安全保护方法

[ 2007-03-25 03:44:59 | 作者: sun ]
一、网站的通用保护方法

  针对黑客威胁,网络安全管理员采取各种手段增强服务器的安全,确保WWW服务的正常运行。象在Internet上的Email、ftp等服务器一样,可以用如下的方法来对WWW服务器进行保护:

  安全配置

  关闭不必要的服务,最好是只提供WWW服务,安装操作系统的最新补丁,将WWW服务升级到最新版本并安装所有补丁,对根据WWW服务提供者的安全建议进行配置等,这些措施将极大提供WWW服务器本身的安全。

  防火墙 

  安装必要的防火墙,阻止各种扫描工具的试探和信息收集,甚至可以根据一些安全报告来阻止来自某些特定IP地址范围的机器连接,给WWW服务器增加一个防护层,同时需要对防火墙内的网络环境进行调整,消除内部网络的安全隐患。  

  漏洞扫描 

  使用商用或免费的漏洞扫描和风险评估工具定期对服务器进行扫描,来发现潜在的安全问题,并确保由于升级或修改配置等正常的维护工作不会带来安全问题。  

  入侵检测系统   

  利用入侵检测系统(IDS)的实时监控能力,发现正在进行的攻击行为及攻击前的试探行为,记录黑客的来源及攻击步骤和方法。   

  这些安全措施都将极大提供WWW服务器的安全,减少被攻击的可能性。

  二、网站的专用保护方法

  尽管采用的各种安全措施能防止很多黑客的攻击,然而由于各种操作系统和服务器软件漏洞的不断发现,攻击方法层出不穷,技术高明的黑客还是能突破层层保护,获得系统的控制权限,从而达到破坏主页的目的。这种情况下,一些网络安全公司推出了专门针对网站的保护软件,只保护网站最重要的内容--网页。一旦检测到被保护的文件发生了{非正常的}改变,就进行恢复。一般情况下,系统首先需要对正常的页面文件进行备份,然后启动检测机制,检查文件是否被修改,如果被修改就需要进行恢复。我们对以下几个方面的技术进行分析比较:  

监测方式   

  本地和远程:检测可以是在本地运行一个监测端,也可以在网络上的另一台主机。如果是本地的话,监测端进程需要足够的权限读取被保护目录或文件。监测端如果在远端的话,WWW服务器需要开放一些服务并给监测端相应的权限,较常见的方式是直接利用服务器的开放的WWW服务,使用HTTP协议来监测被保护的文件和目录。也可利用其它常用协议来检测保护文件和目录,如FTP等。采用本地方式检测的优点是效率高,而远程方式则具有平台无关性,但会增加网络流量等负担。  

  定时和触发:绝大部分保护软件是使用的定时检测的方式,不论在本地还是远程检测都是根据系统设定的时间定时检测,还可将被保护的网页分为不同等级,等级高的检测时间间隔可以设得较短,以获得较好的实时性,而将保护等级较低的网页文件检测时间间隔设得较长,以减轻系统的负担。触发方式则是利用操作系统提供的一些功能,在文件被创建、修改或删除时得到通知,这种方法的优点是效率高,但无法实现远程检测。  

  比较方法  

  在判断文件是否被修改时,往往采用被保护目录和备份库中的文件进行比较,比较最常见的方式全文比较。使用全文比较能直接、准确地判断出该文件是否被修改。然而全文比较在文件较大较多时效率十分低下,一些保护软件就采用文件的属性如文件大小、创建修改时间等进行比较,这种方法虽然简单高效,但也有严重的缺陷:{恶意入侵者}可以通过精心构造,把替换文件的属性设置得和原文件完全相同,{从而使被恶意更改的文件无法被检测出来}。另一种方案就是比较文件的数字签名,最常见的是MD5签名算法,由于数字签名的不可伪造性,数字签名能确保文件的相同。

  恢复方式   

  恢复方式与备份库存放的位置直接相关。如果备份库存放在本地的话,恢复进程必须有写被保护目录或文件的权限。如果在远程则需要通过文件共享或FTP的方式来进行,那么需要文件共享或FTP的帐号,并且该帐号拥有对被保护目录或文件的写权限。  

  备份库的安全  

  当黑客发现其更换的主页很快被恢复时,往往会激发起进一步破坏的欲望,此时备份库的安全尤为重要。网页文件的安全就转变为备份库的安全。对备份库的保护一种是通过文件隐藏来实现,让黑客无法找到备份目录。另一种方法是对备份库进行数字签名,如果黑客修改了备份库的内容,保护软件可以通过签名发现,就可停止WWW服务或使用一个默认的页面。

  通过以上分析比较我们发现各种技术都有其优缺点,需要结合实际的网络环境来选择最适合的技术方案。

  三、网站保护的缺陷

  尽管网站保护软件能进一步提高系统的安全,仍然存在一些缺陷。首先这些保护软件都是针对静态页面而设计,而现在动态页面占据的范围越来越大,尽管本地监测方式可以检测脚本文件,但对脚本文件使用的数据库却无能为力。   

  另外,有些攻击并不是针对页面文件进行的,前不久泛滥成灾的"Red Code"就是使用修改IIS服务的一个动态库来达到攻击页面的目的。另一个方面,网站保护软件本身会增加WWW服务器的负载,在WWW服务器负载本身已经很重的情况下,一定好仔细规划好使用方案。   

  四、结论

  本文讨论了网站常用的保护方法,详细地分析比较了专用网站保护软件采用的各种技术实现和优缺点,并指出了其缺陷。安全虽不是使用某个工具或某些工具就可以解决的,但使用这些工具能帮助提高安全性,减少安全风险。

推荐日志 系统特性与web安全

[ 2007-03-25 03:44:47 | 作者: sun ]
一、WINDOWS系统

windows对..\的支持
windows对.的忽略
二、*nix系统

freebsd系统下/的利用
大小写的区分
三,iis与apache

解析文件类型的利用
iis6的特性
apache文件名解析缺陷漏洞
四、配置文件的位置
==================================

一、WINDOWS系统

1、windows对..\的支持

特性:win系统下可以用..\进行跨目录操作
利用:web入侵中进行跨目录操作时,在web程序过滤了/的情况下,我们可以通过..\突破。
实例:MolyX Board的attachment.php中attach变量过虑不严漏洞(http://4ngel.net/article/50.htm)在angel的文章里提供的解决方案里,只过滤了/,并没有对\过滤,导致在win主机上漏洞依旧,详见:http://www.4ngel.net/blog/hei/index.php?action=show&id=92

2、windows对.的忽略

特性:win系统下在文件后缀后的.将被忽略,如test.php. 与test.php是等同的
利用:导致上传文件时,被利用上传webshell
实例:缺

二、*nix系统

1、freebsd系统下/的利用 (ps:也有可能存在于其他系统)

特性:freebsd下因系统文件格式不同导致可以利用/进行目录列片攻击:如在freebsd下运行cat / 得到根目录下的所有文件夹及文件:

cat /

.
.. .snap(
dev\
usr
var stand犅p
etc? cdromg? distsg?
bin? boot唜<
lib \ libexec
mnt ? proc唜?( rescue?? root唜?? sbin唜??
tmp

sys ? .cshrc?? .profile
? COPYRIGHTe?
compat?
home]D? entropy \t service ( d greenarmy玩

利用:mysql注射时可以配合load_file()进行目录列片攻击。如load_file(0x2F) [0x2F为/的hex值] ,load_file(0x2Froot0x2F)

2、大小写的区分

特性:*nix系统是文件格式区分大小写,而windows系统不区分。
利用:最简单的利用也是最直接的 用来区分web服务器使用的系统
实例:分别提交
http://www.4ngel.net/blog/hei/index.php 正常返回
http://www.4ngel.net/blog/hei/inDex.php 提示文件不存在
这个说明www.4ngel.net主机为非windows系统。

三,iis与apache

1、解析文件类型的利用

iis在支持asp外,还支持asa,cer,cdx,htr
apache+php在支持php外,还支持php3,php4,phpx等
由于web程序的过虑不足,导致可以上传webshell

2、iis6的特性

IIS 6.0 目录名里包含有文件.asp会导致其目录下任意文件当做asp文件来运行。如我们把webshell保存到test.asp/webshell.gif,当iis6下访问http://xxx/test.asp/webshell.gif 时webshell.gif被当作asp文件来解析。可以利用到通过数据库备用得到的webshell,存放后门等方面。

3、apache文件名解析缺陷漏洞

apache 文件名解析时,是从后面开始检查后缀,按最后一个合法后缀执行。如:cmdshell.php.heige 因为heige不被apache解析,所以apache把这个文件当php文件解析了.
利用:
a、有的web程序安装后,会把install.php改名为install.php.lock,install.php.bak等等
实例:BMForum等
b、挖掘上传漏洞
实例:Discuz!等
c、.....

四、配置文件的位置

每个系统都自己特定的配置文件(包括第3方软件的配置文件)其位置也是相对固定的。文件内容包含了服务器的敏感信息。在我们利用web漏洞任意操作文件时(如 include包含漏洞,mysql注射load_file()的利用,等等)读取或下载这些配置文件,导致敏感信息的泄露。如:
windows系统:boot.ini mysql的%SYSTEMROOT%/my.ini servu的c:\program files\serv-u\servudeamon.ini 等等
*nix系统的 etc/目录下的文件 等等

小结

本文只是个人的一些经验的整理,由于个人的知识有限,如果有什么不对的或者你有好的发现和经验,等待您的分享!

推荐日志 MAC地址与IP地址绑定的策略

[ 2007-03-25 03:44:36 | 作者: sun ]
引言 对“IP地址盗用”的解决方案绝大多数都是采取MAC与IP地址绑定策略,这种做法是十分危险的,本文将就这个问题进行探讨。在这里需要声明的是,本文是处于对对MAC与IP地址绑定策略安全的忧虑,不带有任何黑客性质。


为什么要绑定MAC与IP 地址


影响网络安全的因素很多,IP地址盗用或地址欺骗就是其中一个常见且危害极大的因素。现实中,许多网络应用是基于IP的,比如流量统计、账号控制等都将IP地址作为标志用户的一个重要的参数。如果有人盗用了合法地址并伪装成合法用户,网络上传输的数据就可能被破坏、窃听,甚至盗用,造成无法弥补的损失。


盗用外部网络的IP地址比较困难,因为路由器等网络互连设备一般都会设置通过各个端口的IP地址范围,不属于该IP地址范围的报文将无法通过这些互连设备。但如果盗用的是Ethernet内部合法用户的IP地址,这种网络互连设备显然无能为力了。“道高一尺,魔高一丈”,对于Ethernet内部的IP地址被盗用,当然也有相应的解决办法。绑定MAC地址与IP地址就是防止内部IP盗用的一个常用的、简单的、有效的措施。


MAC与IP 地址绑定原理


IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。


目前,很多单位的内部网络,尤其是学校校园网都采用了MAC地址与IP地址的绑定技术。许多防火墙(硬件防火墙和软件防火墙)为了防止网络内部的IP地址被盗用,也都内置了MAC地址与IP地址的绑定功能。


从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。


破解MAC与IP地址绑定策略


IP地址和MAC地址简介


现行的TCP/IP网络是一个四层协议结构,从下往上依次为链路层、网络层、传输层和应用层。


Ethernet协议是链路层协议,使用的地址是MAC地址。MAC地址是Ethernet网卡在Ethernet中的硬件标志,网卡生产时将其存于网卡的EEPROM中。网卡的MAC地址各不相同,MAC地址可以唯一标志一块网卡。在Ethernet上传输的每个报文都含有发送该报文的网卡的MAC地址。


Ethernet根据Ethernet报文头中的源MAC地址和目的MAC来识别报文的发送端和接收端。IP协议应用于网络层,使用的地址为IP地址。使用IP协议进行通讯,每个IP报文头中必须含有源IP和目的IP地址,用以标志该IP报文的发送端和接收端。在Ethernet上使用IP协议传输报文时,IP报文作为Ethernet报文的数据。IP地址对于Ethernet交换机或处理器是透明的。用户可以根据实际网络的需要为网卡配置一个或多个IP地址。MAC地址和IP地址之间并不存在一一对应的关系。


MAC地址存储在网卡的EEPROM中并且唯一确定,但网卡驱动在发送Ethernet报文时,并不从EEPROM中读取MAC地址,而是在内存中来建立一块缓存区,Ethernet报文从中读取源MAC地址。而且,用户可以通过操作系统修改实际发送的Ethernet报文中的源MAC地址。既然MAC地址可以修改,那么MAC地址与IP地址的绑定也就失去了它原有的意义。


破解方案


下图是破解试验的结构示意图。其内部服务器和外部服务器都提供Web服务,防火墙中实现了MAC地址和IP地址的绑定。报文中的源MAC地址与1P地址对如果无法与防火墙中设置的MAC地址与1P地址对匹配,将无法通过防火墙。主机2和内部服务器都是内部网络中的合法机器;主机1是为了做实验而新加入的机器。安装的操作系统是W2000企业版,网卡是3Com的。


试验需要修改主机1中网卡的MAC和IP地址为被盗用设备的MAC和IP地址。首先,在控制面板中选择“网络和拨号连接”,选中对应的网卡并点击鼠标右键,选择属性,在属性页的“常规”页中点击“配置”按钮。在配置属性页中选择“高级”,再在“属性”栏中选择“Network Address”,在“值”栏中选中输人框,然后在输人框中输人被盗用设备的MAC地址,MAC地址就修改成功了。


然后再将IP地址配置成被盗用设备的IP地址。盗用内部客户机IP地址:将主机1的MAC地址和IP地址分别修改为主机2的MAC地址和IP地址。主机1可以访问外部服务器,能够顺利地通过防火墙,访问权限与主机2没有分别。而且,与此同时主机2也可以正常地访问外部服务器,完全不受主机1的影响。无论是主机2还是防火墙都察觉不到主机1的存在。主机1如果访问内部服务器,根本无需通过防火墙,更是畅通无阻了。


盗用内部服务器IP地址:将主机1的MAC地址和U地址修改为内部服务器的MAC地址和IP地址。主机1也提供Web服务。为了使效果更明显,主机1上提供的Web服务内容与内部服务器提供的内容不同。


因为在实际的实验中主机1与主机2连在同一个HUB上,主机2的访问请求总是先被主机1响应,主机2期望访问的是内部服务器,得到的却总是主机1提供的内容。更一般地,主机2如果试图访问内部服务器,获得的到底是主机1提供的内容还是内部服务器提供的内容具有随机性,要看它的访问请求首先被谁响应,在后面的分析中我们将进一步对此进行阐述。


盗用服务器的MAC和IP危害可能更大,如果主机1提供的Web内容和内部服务器中的内容一样,那么主机2将无法识别它访问的到底是哪个机器;如果Web内容中要求输人账号、密码等信息,那么这些信息对于主机1来说则是一览无遗了。


破解成功的原因


上面的实验验证了绑定MAC地址与IP地址的确存在很大的缺陷,无法有效地防止内部IP地址被盗用。接下来,将从理论上对该缺陷进行详细的分析。


缺陷存在的前提是网卡的混杂接收模式,所谓混杂接收模式是指网卡可以接收网络上传输的所有报文,无论其目的MAC地址是否为该网卡的MAC地址。正是由于网卡支持混杂模式,才使网卡驱动程序支持MAC地址的修改成为可能;否则,就算修改了MAC地址,但是网卡根本无法接收相应地址的报文,该网卡就变得只能发送,无法接收,通信也就无法正常进行了。


MAC地址可以被盗用的直接原因是网卡驱动程序发送Ethernet报文的实现机制。Ethernet报文中的源MAC地址是驱动程序负责填写的,但驱动程序并不从网卡的EEPROM中读取MAC,而是在内存中建立一个MAC地址缓存区。网卡初始化的时候将EEPROM中的内容读入到该缓存区。如果将该缓存区中的内容修改为用户设置的MAC地址,以后发出去的Ethernet报文的源地址就是修改后的MAC地址了。


如果仅仅是修改MAC地址,地址盗用并不见得能够得逞。Ethernet是基于广播的,Ethernet网卡都能监听到局域网中传输的所有报文,但是网卡只接收那些目的地址与自己的MAC地址相匹配的Ethernet报文。如果有两台具有相同MAC地址的主机分别发出访问请求,而这两个访问请求的响应报文对于这两台主机都是匹配的,那么这两台主机就不只接收到自己需要的内容,而且还会接收到目的为另外一台同MAC主机的内容。


按理说,两台主机因为接收了多余的报文后,都应该无法正常工作,盗用马上就会被察觉,盗用也就无法继续了;但是,在实验中地址被盗用之后,各台实验设备都可以互不干扰的正常工作。这又是什么原因呢?答案应该归结于上层使用的协议。


目前,网络中最常用的协议是TCP/IP协议,网络应用程序一般都是运行在TCP或者UDP之上。例如,实验中Web服务器采用的HTTP协议就是基于TCP的。在TCP或者UDP中,标志通信双方的不仅仅是IP地址,还包括端口号。在一般的应用中,用户端的端口号并不是预先设置的,而是协议根据一定的规则生成的,具有随机性。像上面利用IE来访问Web服务器就是这样。UDP或者TCP的端口号为16位二进制数,两个16位的随机数字相等的几率非常小,恰好相等又谈何容易?两台主机虽然MAC地址和IP地址相同,但是应用端口号不同,接收到的多余数据由于在TCP/UDP层找不到匹配的端口号,被当成无用的数据简单地丢弃了,而TCP/UDP层的处理对于用户层来说是透明的;所以用户可以“正确无误”地正常使用相应的服务,而不受地址盗用的干扰。


当然,某些应用程序的用户端口号可能是用户或者应用程序自己设置的,而不是交给协议来随机的生成。那么,结果又会如何呢?例如,在两台MAC地址和IP地址都相同的主机上,启动了两个端口相同的应用程序,这两个应用是不是就无法正常工作了呢?其实不尽然。


如果下层使用的是UDP协议,两个应用将互相干扰无法正常工作。如果使用的是TCP协议,结果就不一样了。因为TCP是面向连接的,为了实现重发机制,保证数据的正确传输,TCP引入了报文序列号和接收窗口的概念。在上述的端口号匹配的报文中,只有那些序列号的偏差属于接收窗口之内的报文才会被接收,否则,会被认为是过期报文而丢弃。TCP协议中的报文的序列号有32位,每个应用程序发送的第一个报文的序列号是严格按照随机的原则产生的,以后每个报文的序列号依次加1。


窗口的大小有16位,也就是说窗口最大可以是216,而序列号的范围是232,主机期望接收的TCP数据的序列号正好也处于对方的接收范围之内的概率为1/216,可谓小之又小。 TCP的序列号本来是为了实现报文的正确传输,现在却成了地址盗用的帮凶。


解决MAC与IP地址绑定被破解的方法


解决MAC与IP地址绑定被破解的方法很多,主要以下几种。


交换机端口、MAC地址和IP地址三者绑定的方法;代理服务与防火墙相结合的方法;用PPPoE协议进行用户认证的方法;基于目录服务策略的方法;统一身份认证与计费软件相结合的方法等(这些方法的实现原理和过程可以参考拙作《校园网IP地址盗用解决方案》)。在这里笔者尤其推荐最后一种方法,这种方法是将校园网办公自动化系统和网络计费软件结合在一起而实现的,这在校园网信息化建设的今天具有很强的实践性。

推荐日志 当心!HTML文件也能格式化你的硬盘

[ 2007-03-25 03:44:24 | 作者: sun ]
一日,忽然听朋友说,他在上网的时候,不知点击了什么东西,而将他的硬盘全部给格式化了。笔者首先的念头就是:该不会是中了那个有名的国产宏病毒"七月杀手"?不过这个宏病毒是在系统Autoexec.bat文件中加入了"deltree c:/y",应该不会格式化整个硬盘。


曾经在某个杂志上看到过一个介绍,说什么IE浏览器可以通过执行ActiveX而把硬盘格式化,而且记得当时还公布了源代码,只是当时公布的源代码是针对西班牙版的Windows,对中文版的Windows没有用,说不定那些代码现在已经被一些高手给改成了针对中文Windows的呢。


问问自己的朋友,他也是稀里糊涂地被格式化掉硬盘的,当时进入的网站也不记得了。


没有办法,笔者只好自己跑到国内的一些网站去找类似的主题文章。皇天不负苦心人,终于找到了几个可以格式化硬盘的HTML文件。网站上的版主出自好心,提醒下载的网友:只能供自己研究,不可害人。


考虑到危险性,笔者先用记事本随便打开其中一个看看源代码,没有想到这个源文件竟给加了密,里面是用JavaScript写的脚本,加密的部分好像只是一些字符的定义,而真正的脚本内容也只是显示一些字符在屏幕上。


因为自己的机器是刚装好的,没有什么特别重要的数据,所以就抱着"过把瘾就死"的念头,用IE浏览器打开了这个HTML文件。


接着,浏览器发出一个警告:"该页上的ActiveX控件与页上的其它部分进行交互可能不安全,是否允许进行交互?"。


如果你选择"是",则就会运行那些不安全控件。不过笔者试的这个HTML文件只是给大家开个玩笑,你打开它后,它说什么"你的C盘已经被它强行输入格式化,一旦重新启动就格式化了。


请不要启动,立即保存有用的文件。"等诸如此类的话。笔者仔细检查了一下Windows启动程序里的内容,也没有什么变化,于是放心大胆地重启,果然是开的玩笑。

在下载的另外一个HTML文件中,看看源代码,不禁吓了一跳。程序仅有的不足30代代码中有24行都是调用Windows里自带的format.com命令,真是够狠的。除了A、B两个驱外,只要你能够分的区C-Z,都会被格式化。


为了验证其效果,又不想笔者的硬盘被格式化,笔者把Windows里自带的format.com给改了名字,然后用IE打开该HTML文件,浏览器同样发出一个警告:"该页上的某些软件(ActiveX控件)可能不安全。建议您不要运行。是否允许运行?"。


当你选择"是"的时候,会弹出几十个DOS窗口,可能是因为它找不到format.com这个文件,找开的所有DOS窗口都是什么显示也没有。


它不但调用了format.com,另外还加上了一些参数,如快速格式化等,再加上格式化时窗口就已经自动完成了硬盘格式化的工作,等你发现时也已经悔之晚矣。幸好笔者事先已经把硬盘里的format.com给改了名字,否则后果可想而知。


看来现在通过HTML文件来格式化中文版的Windows确实是可以做到的。以后大家上网可要小心点啦。不过,大家也不必怕被噎着而不吃饭,只要你按下面的方法做,照样能痛快淋漓地进行网上冲浪。


一、不要随便打开陌生人寄来的Email的附件,现在对于HTML文件,打开时如果出现所谓的"页面含有不安全的ActiveX"等信息时都该小心了,最好不要运行该ActiveX控件。


二、将Windows系统里比较危险的一些程序改名,比如format.com、deltree.exe等。我们在Windows下真正用到这些DOS命令的情况并不是很多,所以对直接调用DOS命令来恶意破坏系统的代码,改名不失为一种对付的好方法。你可以改为一些容易记的名字,如format.com改为format-1.com。


三、注意更新自己的系统,系统不一定是要最新的版本,但是其安全性方面的补丁就一定要注意,最好能去下载并安装上。我们常用的反病毒、反黑客程序要定期去更新。


值得注意的是:对于笔者这次用到的格式化硬盘的HTML文件,还没有什么反病毒、反黑客程序能够做出反应(这也难怪,因为这个恶意代码并不属于病毒和黑客程序的范畴)。


四、在网上遇到的一些非法网站,如果它要求你下载或者点击什么东西,要先看看说明,最好不要轻易相信。以前报纸上介绍的因为下载一个程序而造成拨号上网用户支付国际长途电话费就是一个惨痛的教训。


像笔者的朋友那样因为在网上不听网页版主的劝告,硬要去试一试那些程序,结果糊里糊涂地硬盘被格,这个教训大家也要好好地汲取。