Posts for: #Security

分布式入侵监测系统设计与实现

(inburst_at_263.net)

随着黑客入侵事件的日益猖獗,人们发现只从防御的角度构造安全系统是不够的。入侵检测技术是继“防火墙”、“数据加密”等传统安全保护措施后新一代的安全保障技术。他对计算机和网络资源上的恶意使用行为进行识别和响应,它不仅检测来自外部的入侵行为,同时也监督内部用户的未授权活动。

本文提出一种基于部件的入侵检测系统,具有良好的分布性能和可扩展性。他将基于网络和基于主机的入侵检测系统有机地结合在一起,提供集成化的检测、报告和响应功能。

在网络引擎的实现上,使用了协议分析和模式匹配相结合的方法,有效减小目标的匹配范围,提高了检测速度。同时改进了匹配算法,使得网络引擎具有更好的实时性能。在主机代理中的网络接口检测功能,有效地解决了未来交换式网络中入侵检测系统无法检测的致命弱点。

分布式入侵监测系统设计与实现

系统遭受入侵后使用TCT进行紧急恢复并分析

(inburst_at_263.net)

系统遭受入侵后使用TCT进行紧急恢复并分析

by inburst[email protected]

http://xfocus.org;http://inburst.org

2001-6-10

    从事系统管理工作,就算你非常小心翼翼地做好了一切防护,还是可能有入侵者能够突破你

的防护进入系统,并且更改或者删除一些文件。这里,我们借用honeynet project里面的一些实

例,来对一个unix下的实用工具软件tct及其相关辅助软件做简要说明。并且在最后再介绍另外

一个比较不错的能恢复ext2文件系统的软件recover。

    首先说一下相关的软件:

    1、The Coroners Toolkit:也就是我们所说的TCT,想要在国内下载的话,您可以到安全焦

点(http://xfocus.org/tool/other/tct-1.07.tar.gz)下载。这是一个unix下的命令行文件系统

工具集,支持FFS及ext2fs,从块及结点处来对数据进行恢复。它能够针对文件的最后修改、访

问或者改变(MAC)的时间来进行分析,并且根据数据节点的值提取出文件列表以进行恢复。

    2、TCTUTILs:在http://xfocus.org/tool/other/tctutils-1.01.tar.gz可以下载当前最新

版本。它是对TCT的补充,提供了根据文件名对数据进行恢复的命令行工具。这两个工具都需要

使用者对一些底层基本知识比较了解。

    3、Autopsy Forensic Browser:可以从http://xfocus.org/tool/other/autopsy-1.01.tar.gz

下载。它提供了一个友好的html界面给tct及tctutils。它能使枯燥的分析工作相对轻松些:)

    一、安装:TCT在各种unix平台下都经过了比较好的测试。现在能够支持FreeBSD、OpenBSD、

SunOS、Linux等平台。TCTUTILs和Autopsy则不一定能跑得起来,我测试的平台是一台默认安装

的Red Hat 6.2系统。

    1、tct

    # tar zvfx tct-1.07.tar.gz -C /usr/local/tct/; cd /usr/local/tct/tct*; make

    这样把tct展开到/usr/local/tct/tct-1.07/的目录下,并且进入,make。这里,如果是make

过之后,需要重新在编译的话,需要运行perl reconfig命令重新配置。

    2、tctutils:

    # tar zvfx tctutils-1.01.tar.gz -C /usr/local/tct;cd /usr/local/tct/tctu*;make

    现在tctutils似乎只在OpenBSD 2.8、Debian Linux 2.2、Solaris 2.7下经过详尽测试,而

对FreeBSD还支持不好。通常make不会出现什么问题,如果有,自己改下代码或者Makefile即可。

    3、Autopsy:

    解包后运行./configure后,它会自己寻找一些实用工具如grep、strings、md5sum的路径,

并要求确认tct以及tctutils的路径(如果没找到会要求你输入正确路径)。最后要求输入需要检

查的文件系统所在,才生成程序autopsy。

    二、honeynet scan15简介:

    关于honeynet project的详情,可以参见安全焦点(http://xfocus.org/honeynet/),他们

现在维护着国外honeynet项目的中文镜像。

    scan15是honeynet在2001年3月15日于一台受入侵的Linux机器上搜集到的数据而面临的问题。

入侵者下载了一些rootkit放在根目录下,成功安装后删除了。而honeynet project将当时的原始

数据镜像下来,作为题目出给网络安全爱好者,要求对这一被删除的rootkit进行恢复。

[阅读全文]

了解你的敌人:Honeynets

本文是 Honeynet Project 的"了解你的敌人:Honeynets"系列文章的中文翻译,原文发布于 project.honeynet.org,中文翻译来自 xfocus.net

http://www.xfocus.net

在过去的几年中 Honeynet Project专注于对网络入侵者这一群体使用的各种工具、攻击策略及目的进行研究,并且分享我们的经验,这里我们使用的主要工具就是Honeynet。本文阐述了Honeynet究竟是什么、它对安全组织的价值、它的工作方式、会带来的风险、技术难题等等。我们将使用技术手段尝试自己去了解入侵者群体。同时我们希望这里讨论的这些技术可以帮助大家更好地构建Honeynet,更好了了解我们的敌人,我们也希望各种组织能够了解Honeynet的基本状况。

什么是Honeynet

Honeynet可以说是一个学习工具!它是一个专门设计来让人“攻陷”的网络,一旦被入侵者所攻破,入侵者的一切信息、工具等都将被用来分析学习。其想法与honeypot相似,但两者之间还是有些不同点的:honeypot也是一个用来让人攻击的网络,通常是用来诱骗入侵者的,通常情况下,honeypot会模拟某些常见的漏洞、摸拟其它操作系统或者是在某个系统上做了设置使其成为一台“牢笼”主机。比如The Deception Toolkit(下载), CyberCop Sting, 以及 Mantrap. 是一些脚本的集合,它模拟出了一些常的系统漏洞;CyberCop Sting运行于NT平台,它模拟出多个不同系统的IP堆栈及inetd服务。Mantrap则是将Solaris系统进行了一些设置,建立起了一些“牢笼主机”。毫无疑义,这些都是相当不错的想法,但在现在的环境下,它们有些不适合了,需要更多的改进。

Honeynet与传统意义上的honeypot有两个最大的不同点在于:

  • 一个Honeynet是一个网络系统,而并非某台单一主机,这一网络系统是隐藏在防火墙后面的,所有进出的数据都受到关注、捕获及控制。这些被捕获的数据可以对我们研究分析入侵者们使用的工具、方法及动机。在这个Honeynet中,我们可以使用各种不同的操作系统及设备,如Solaris, Linux, Windows NT, Cisco Switch, 等等。这样建立的网络环境看上去会更加真实可信,同时我们还有不同的系统平台上面运行着不同的服务,比如Linux的DNS server,Windows NT的webserver或者一个Solaris的FTP server,我们可以学习不同的工具以及不同的策略――或许某些入侵者仅仅把目标定于几个特定的系统漏洞上,而我们这种多样化的系统,就可能更多了揭示出他们的一些特性。

  • 在Honeynet中的所有系统都是标准的机器,上面运行的都是真实完整的操作系统及应用程序――就象你在互联网上找到的系统一样。我们没有刻意地模拟某种环境或者故意地使系统不安全。在Honeynet里面找到的存在风险的系统,与在互联网上一些公司组织的毫无二致。你可以简单地把你的操作系统放到Honeynet中,并不会对整个网络造成影响。

我们的Honeynet ProjectIt使用的是在互联网上最常见到的操作系统,比如默认安装的Linux, Solaris, Windows98以及Windows NT,正因为我们使用的是最常见、普通的系统,我们的研究成果才会对大多数的互联网组织有实用意义。

Honeynet 的价值、法律相关事务

传统意义上的信息安全,一般都是防御性质的,比如防火墙、入侵检测系统、加密等等,它们都是用来保护我们的信息资产的,他们的策略是,先考虑系统可能出现哪些问题,然后对问题一一进行分析解决。而Honeynet希望做到的是改变这一思路,使其更具交互性――它的主要功能是用来学习了解敌人(入侵者)的思路、工具、目的。通过获取这些技能,互联网上的组织将会更好地理解他们所遇到的威胁,并且理解如何防止这些威胁。通过honeynet,组织可以在与入侵者的“游击战争”中获得最大的主动权。

例如,Honeynet能够收集的信息的主要来源之一是入侵者团体之间的通信,诸如IRC(Internet在线聊天系统)。入侵者经常在彼此之间自由交谈,揭示了他们的动机,目的,和行动。我们通过使用Honeynets,已经捕获了这些谈话内容,监控了他们之间说过的每一句话,我们甚至已经捕获了与攻击我们的系统有牵连的入侵者的实时录像。这使我们能够清楚地洞察入侵者们是如何针对特定系统以及他们攻击系统的能力。你可以参见Know Your Enemy: Motives中的例子。在这份文件中,我们追踪了把一个特殊的国家作为攻击目标的一组入侵者。经过三个周的时间,我们不仅了解了他们是如何把系统作为目标和如何攻击系统的,而且更重要的是,了解了他们这样做的原因。根据这种详细的信息,我们现在能够更好的理解和防护这种常见的威胁。

Honeynets也为组织提供了关于他们自己的安全风险和脆弱性的一些经验。Honeynets的内容涵盖了组织在其特定环境下系统和应用软件。公司或者组织可以通过对Honeynet的学习及使用,提高增强自己的能力。例如,某家公司可能想提供一个新的网络服务器,以便其网上支付系统。其操作系统和应用程序如果能够先在一Honeynet的中得到检验以识别任何未知的风险和脆弱性,将会在很大程度上提高其可靠程度。我们自己在Honeynet的工作平台上检验IDS、防火墙等过程中就得到了相当多的经验。

最后,一个Honeynet能够帮助一个组织发展它的事件响应能力。在过去的两年中,我们已经极大地提高了我们检测、响应、恢复、和分析受侵害系统的能力。根据这些经验,我们已经发表了两篇文章,就是 Know Your Enemy: Forensic AnalysisThe Forensic Challenge 其中提到的一些技巧是:如果你发现了一个受到入侵的系统,你或许可以把它当成一个挑战,使用各种技术来捕获或者分析入侵者的行为并且不被他察觉。同时,你捕获的数据也可以存储在一个攻击特征库中,今后你如果在其它事件中发现类似的特征代码,你就可以轻易地判断出其攻击方式了。

但是这些方法在法律上遇上了一些麻烦

诱捕的问题:

诱捕是一个法律术语,用于执法人员诱使一个罪犯从事一项非法行为,否则他们可能不会从事该非法行为。我们不是执法部门,我们不是在执法部门的控制下行动,而且我们甚至没有起诉的意图,所以,我们不认为安装一个Honeynet是诱捕行为。其他人将争论说我们正在提供一个“吸引人的目标”,意味着我们把不可靠的系统置于网上,以诱使人们攻击他们,从而把他们作为攻击别人的手段来使用。这也是错误的,因为我们并没有通过任何方式来宣传这些系统。如果有人发现了我们的一个系统,损害了它,并且使用它作他们不应当做的事情,那是因为他们在主动地和有意地从事这种非授权的行为。

保密的问题:

而关于这些活动有一些道德上的和伦理上的问题(我们在内部一直在努力解决这些问题),最近由美国司法局,刑事庭,计算机犯罪和知识产权部门出版的Searching and Seizing Computers and Obtaining Electronic Evidence in Criminal Investigations这本书中,提供了几个案例参考,受理上诉的法官裁定,反对对于在计算机入侵和欺骗的犯罪案件中,对侵犯隐私权进行辩护。包括下面一些问题:

  • 入侵这些系统的人是未经授权的,如果他们把任何文件置于系统上(当他们没有合法的帐号或使用特权时),我们认为他们已经不能保有在我们系统上的隐私权。

  • 通过使用我们的系统进行通信,他们就已经在通信中放弃了他们的隐私权。

  • 我们不提供公用的帐号,所以我们不是一个服务供应商,不受为服务供应商所设计的保密要求的限制。

  • 不管怎样,我们不是执法部门,我们也不是在执法部门的控制下行动,或甚至起诉入侵我们系统的入侵者,所以,我们不受证据收集规定的限制,而执法部门和他们的执法人员却要受到其限制。

  • 即使我们真的目击了一起严重的计算机犯罪,并且决定告发它,我们收集日志和记录网络流量,将其作为一个“商业运营”的常规过程,如果我们决定告发的时候,我们可以自由地将其交给执法部门。

[阅读全文]

我是如何黑掉PacketStorm论坛的

(quack_at_xfocus.org)

我是如何黑掉PacketStorm论坛的

                      —-通过SQL黑wwwthreads论坛

——————————- rain forest puppy / [email protected]

翻译:isno

内容目录:

-1.问题的范围

-2.SQL攻击的详细解释

-3.解决办法

-4.结论

-5.本文涉及的perl程序


—-[ 1. 问题的范围

    许多应用程序都可以通过SQL来进行攻击。现在许多程序知道了避免使用strcpy(),

并且不把用户数据传递给system()调用,但是很多程序还不知道SQL查询可以被黑客

篡改来达到攻击的目的。

    写一篇技术文章要比写个安全建议麻烦得多,但是技术文章能够全面地解释我是

如何利用wwwthreads程序的漏洞得到PacketStorm论坛管理员权限和将近800个用户密

码的。

—-[ 2. SQL攻击的详细解释

    某日,我正在PacketStorm的论坛上浏览,发现这个论坛使用的是wwwthreads。

我突然注意到了URL的参数(URL中’?‘后面的部分)。作为一个web安全爱好者,我

对它感到极为好奇。使用试验的攻击方法,我把showpost.pl程序中的’Board=general’

参数改为了’Board=rfp’。提交并发现传回来以下错误信息:

We cannot complete your request. The reason reported was:

Can’t execute query:

SELECT B_Main,B_Last_Post

FROM rfp

WHERE B_Number=1

. Reason: Table ‘WWWThreads.rfp’ doesn’t exist

    可以发现这儿还有一个参数’Number=1’,我们可以推断出查询请求是这样构造的:

SELECT B_Main,B_Last_Post FROM $Board WHERE B_Number=$Number

    如果你读过我在phrack 54上发表过的文章的话(可以到

http://www.wiretrip.net/rfp/p/doc.asp?id=7&iface;=2阅读),你就应该明白我要

做什么了。我们不仅可以修改$Board和$Number参数,而且还可以提交额外的SQL命令。

试想一下,如果我们提交的$Board参数是下面的样子:

‘general; DROP TABLE general; SELECT * FROM general '

[阅读全文]