Posts for: #Translation

了解你的敌人:动机

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

该篇文章是系列之一,该系列主要介绍黑客社团使用的工具和策略。该文章不像该系列其他的文章主要介绍黑客社团怎样怎样、特别是他们使用的技术和工具的实现,而是分析他们的动机和心理。第一部分介绍一台Solaris 2.6系统被入侵,第二部分所提到的很少有相关信息发布,介绍在黑客入侵系统后14天内在“蜜罐”中的通话和行动记录,通过这些信息我们可以了解他们为什么和怎样攻击计算机系统。在入侵后,他们紧接着在系统中放置了一个IRC bot,这个东西是由黑客们所配置和实现的,用来抓取在IRC频道中的所有聊天记录。我们在这两个星期当中一直监视这些记录,所有的信息都罗列在下面。这篇文章并不是要对整个黑客社团的行为作一个概括,相反,我们通过在事件当中一些个体行为的介绍,来给大家一些提示”他们当中某些人怎样想和怎样做“,这也是我们在安全领域所面对的一些普通现象,我们真诚的希望其他安全人员能够从中受益。

下面的所有信息是通过"honeynet"得到的。“honeynet”,顾名思义,就是由网络上大量的"蜜罐"所组成,“蜜罐"最简单的定义就是通过精心设计的将被黑客社团所攻击的目标主机。一些"蜜罐"是用来分散攻击者攻击真正主机的注意力,另外一些是用来学习攻击者所使用的工具和策略的,我们这里所提到是属于后者。在本文中提到的很多信息被做了一些修改,特别是用户名和口令、信用卡号、以及很多主机名,其他如确切技术细节、工具以及聊天记录我们并没有作修改。所有信息在被发布之前都已经递交给CERT和FBI,同时对于哪些我们确信遭受入侵的系统,大约发了370份通告给它们的管理员。

Foreword, by Brad Powell

**第一部分:入侵 **

我们这里使用的"蜜罐"是缺省安装的Solaris 2.6系统,没有任何修改和安装补丁程序。在此讨论的漏洞在任何缺省安装没有使用补丁程序的Solaris 2.6系统上都存在。这也是整个"蜜罐"的设计意图,在系统上布置漏洞并学习它是如何被攻破的。在被攻击过程中,我们可以学习黑客社团所使用的工具和策略。同时"蜜罐"本身也被设计跟踪黑客的每一步行为。

在2000年6月4日,我们的缺省安装Solaris 2.6的"蜜罐"遭受到针对rpc.ttdbserv漏洞的攻击,该漏洞允许在ToolTalk 对象数据库服务上通过溢出远程执行代码(见CVE-1999-0003)。该漏洞在SANS组织的TOP 10上名列第三。我们使用基于sniffer的免费IDS系统Snort检测到该攻击的。

Jun 4 11:37:58 lisa snort[5894]: IDS241/rpc.ttdbserv-solaris-kill: 192.168.78.12:877 -> 172.16.1.107:32775

rpc.ttdbserv漏洞允许远程用户通过缓冲溢出攻击在目标系统上以root权限执行任意命令。下面是攻击者在攻击成功后,在系统上安装后门,具体如下所示:攻击者在’/tmp/bob’文件中加上ingreslock服务(在/etc/service预定义的,端口1524),然后以改文件作为配置文件重新启动inetd,这样/bin/sh被以root权限帮定在1524端口,给予了远程用户root存取权限。

/bin/ksh -c echo ‘ingreslock stream tcp nowait root /bin/sh sh -i’ »/tmp/bob ; /usr/sbin/inetd -s /tmp/bob.

当黑客安装了后门,他紧接着连接到1524端口,作为root获得一个shell,并开始执行如下命令。他增加了两个系统用户帐号,以便以后可以telnet上来,注意这里的错误和”;“控制字符(因为1524端口的shell没有正确的环境)。

cp /etc/passwd /etc/.tp;

^Mcp /etc/shadow /etc/.ts;

echo “r:x:0:0:User:/:/sbin/sh”

/etc/passwd;

echo “re:x:500:1000:daemon:/:/sbin/sh”

/etc/passwd;

echo “r::10891::::::”

/etc/shadow;

echo “re::6445::::::”

/etc/shadow;

: not found

[阅读全文]

了解你的敌人:被动式指纹探测

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

网络安全的挑战之一就是你需要了解攻击者,要了解你存在的威胁并保护你自己的资源,你需要了解你的敌人,被动特征探测是了解攻击者而不被攻击者觉察的方法之一,虽然这种方法可能不是100%正确,但你会获得一些令你诧异的结果。Craig Smith开发基本本文概念的工具passfing.另外subterrain crew也开发了siphon,一个可以被动探测端口和OS的工具。Fingerprinting

传统上,操作系统特征可以通过"积极性"的工具,如queso或者nmap,这些工具是在每一个操作系统上的IP堆栈有自己不同特性的原理上来操作的,每个操作系统响应通过的多种信息包。所以这些工具只要建立一个基于不同的操作系统对应不同的信息包的数据库,然后,要判断远程主机的操作系统,发送多种不寻常的信息包,检测其是怎样响应这些信息包的,再与数据库进行对比做出判断。Fyodor的 nmap工具就是利用这种方法的,他也写了一份具体的文档

而被动特征探测(Passive Fingerprinting )遵循相同的概念,但实现的方法不同。被动特征探测(Passive Fingerprinting )基于嗅探远程主机上的通信来代替主动的去查询远程主机,所有你需要做的是抓取从远程主机上发送的信息包。在嗅探这些信息包的基础上,你可以判断远程主机的操作系统,就象主动特征探测一样,被动特征探测(Passive Fingerprinting )也是由每个操作系统的有自己的IP堆栈特征,通过分析sniffer traces 和鉴别他们之间的不同之处,就可以判断远程主机的操作系统了。

信号

判断主机的操作系统一般可以由4个方面来着手(当然也有其他信号存在):

  • TTL - 这个数据是操作系统对出站的信息包设置的存活时间。

  • Window Size - 是操作系统设置的窗口大小,这个窗口大小是在发送FIN信息包时包含的选项。

  • DF - 可以查看是否操作系统设置了不准分片位

  • TOS - 是否操作系统设置了服务类型

通过分析信息包这些因数,你可以判断一个远程的操作系统,当然探测到的系统不可能100%正确,也不能依靠上面单个的信号特征来判断系统,但是,通过查看多个信号特征和组合这些信息,你可以增加对远程主机的精确程度。下面是一个简单的例子,下面是被探测的系统发送一个信息包,这个系统发起了一个mountd的漏洞攻击,因此我想了解这个主机, 我现在不使用finger或者NMAP等工具,而想要了解被动接受到的信息,使用snort得到了下面的一些信号特征:

04/20-21:41:48.129662 129.142.224.3:659 -> 172.16.1.107:604

TCP TTL:45 TOS:0x0 ID:56257

FA Seq: 0x9DD90553   Ack: 0xE3C65D7   Win: 0x7D78

根据上面的四条准则,我们可以达到下面的情况:

  • TTL: 45

  • Window Size: 0x7D78  (or 32120 in decimal)

  • DF: The Don’t Fragment bit is set

  • TOS: 0x0

我们在比较信号特征数据库,首先,我们查看使用在远程系统上的TTL,从我们的获得信息可以看到TTL是45,这多数表示它通过19跳才到达我们主机,因此原始的TTL应该是设置为64,基于这个TTL,这个信息包应该看来是由LINUX和FREEBSD系统发来的(当然更多的系统信号特征需要放到数据库中),这个TTL通过了traceroute远程主机得到证实,如果你考虑到远程主机在检测你的traceroute,你可以设置你traceroute的time-to-live(默认是30跳),使用-m选项来设定到主机的跳数少1到2跳的数值,如,刚才的例子里,我们可以使用traceroute -m 18来设置跳数为18跳,这样做可以让你看到到达主机的路径而不碰到远程主机。要更多关于TTL的信息,请查看这篇文章

[阅读全文]

了解你的敌人:一次公开的分析

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

此文章是Know Your Enemy系列,前三篇文章涵盖了关于black-hat团体所使用的工具和策略,这文章的目的是怎样一步步成功攻击系统的,这里的重点是在我们怎样知道发生的攻击者和获得信息。也提供你一些分析和熟悉你自身系统上存在的威胁。这里也有一在线,交互的版本发布在MSNBC上。

背景

此文信息通过honeypot获得,这里的Honeypot安装在REDHAT6.0上,REDHAT是默认的服务安装,所以讨论的漏洞存在在任意默认安装的REDHAT系统上。而且所有数据没有被处理过。下面分析的所有IP地址,用户帐号,和击键的信息是真实的,除了密码信息,这样是为了更直接的了解整个过程。所有SNIFF信息是通过SNORT格式体现的;SNORT是一个常用的嗅探器,对于检测系统入侵分析来说是一个不错的工具,我使用了在http://www.whitehats.com/上的MAX VISION 的IDS特征。你可以在arachNIDS数据库中查更多有关在此文章中的所有警告信息。你可以在这里找到我的SNORT配置信息和特征文件,包括我使用的命令行选项。

攻击行为

在四月26号,snort提醒我其中的一个系统正受到一个’noop’攻击,信息包装载包含noops的信息,在此情况下,SNORT探测到攻击和记录了警告信息到/var/log/messages文件中(使用swatch来监控),注意这文中172.16.1.107的IP地址是含有honeypot的机器,其他的地址是black-hat(黑帽子)使用的IP地址。

Apr 26 06:43:05 lisa snort[6283]: IDS181/nops-x86: 63.226.81.13:1351 -> 172.16.1.107:53

我的honeypots每天接受无数探测,扫描和查询,而且下面的一个警告信息使我注意到其中一个系统可能被破坏,下面的系统LOG信息指示攻击者正开始了一个连接和LOGIN了系统:

Apr 26 06:44:25 victim7 PAM_pwdb[12509]: (login) session opened for user twin by (uid=0)

Apr 26 06:44:36 victim7 PAM_pwdb[12521]: (su) session opened for user hantu by twin(uid=506)

从上面的情况可以看到,入侵者已经获得超级用户权利和控制了整个系统,但这是怎样完成的呢,我们下面开始分析:

分析

当分析一攻击的时候,最好的位置是在开始端,即攻击者是从哪里开始的,攻击者一般开始是收集系统信息,可以让他获得系统所存在的漏洞,如果你的系统被破坏,这就表明攻击者不是第一次与你的系统通信了,大多数攻击者必须通过对你系统的连接获得初始化的信息。

所以我们从最开始的信息收集开始,从第一条信息可以知道攻击初于53端口,这表示在我们系统上发动了一个DNS攻击,所以我通过我的snort alerts来发现一些DNS可能的信息探测,我们发现一DNS版本查询探测的信息:

Apr 25 02:08:07 lisa snort[5875]: IDS277/DNS-version-query: 63.226.81.13:4499 -> 172.16.1.107:53

Apr 25 02:08:07 lisa snort[5875]: IDS277/DNS-version-query: 63.226.81.13:4630 -> 172.16.1.101:53

注意,这个探测日期是4月25日,我们系统被攻击是在4月26号,系统是在被探测后的一天被入侵的,所以我猜测攻击者是使用一些扫描器扫描出一些关于DNS漏洞的信息,扫描以后,攻击者查看扫描结果,获得系统漏洞信息,然后启用他们的EXPLOIT。这样我们可以得到如下结论:在4月25号被检测后,后一天被侵入,通过我们的IDS警告,我们获知我们是被DNS漏洞攻击。

[阅读全文]

了解你的敌人:III

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

本文是对入侵者进行研究系列文章中的第三篇。第一篇讲述了入侵者们的探测行为、分类及利用漏洞的过程,第二篇聚焦于如何探测这些入侵企图、鉴别他们使用了哪些工具、他们所寻找的漏洞有哪些……这篇文章,则讲述了当他们获得root权限后,所做的事情,重点放在他们是如何隐藏踪迹以及之后如何做。可以从这里下载原始数据进行分析。

入侵者是谁

就象我们在第一篇文章里所说的,多数的入侵者并没有考虑太多的策略方面的问题,他们更重视的是轻易地入侵,而非针对某些特定的信息或者某个特定的公司。他们把注意力集中于最有效的几个漏洞利用程序上,然后在互联网上寻找相应的主机――迟早他们会找到适合入侵的机器的……

当他们获得root权限这后,第一件事往往是抹去他们的踪迹,他们需要确保系统管理员没有发现系统被侵袭,并且不希望留下任何日志或者他们活动的记录。然后,他们会使用你的机器来扫描网络中的其它系统,或者静静地潜伏,以求获得更多的资料。为了更好地了解他们是如何侵害系统的,我们将沿着一个入侵者的入侵步骤来观察。我们的系统――mozart,上面运行的操作系统是RedHat 5.1。系统在1999年4月27日受到攻击,下面的一些入侵过程的记录,是从系统日志及击键记录中提取的,我们对系统日志及击键都做了验证,所有的系统日志都是在一个受保护的syslog服务器上的,所有的击键都是由一个被嗅探器――称为sniffit捕获的。如果你想了解更多关于这些记录获得的技巧的话,请参见另一篇文章――建立网络陷阱。在本文中,我们称这个入侵者为“他”――因为我们无法得知其真正的性别。

漏洞利用

在4月27日的00:13,有一个家伙在域名为1Cust174.tnt2.long-branch.nj.da.uu.net的地方对我们进行扫描,针对了包括imap漏洞在内的几个特定的漏洞,这些入侵者是比较讨厌的,因为他们一下扫描了整个网段,(想了解更多关于这次探测的信息,可以参见系列文章中的第二篇 )。

Apr 27 00:12:25 mozart imapd[939]: connect from 208.252.226.174

Apr 27 00:12:27 bach imapd[1190]: connect from 208.252.226.174

Apr 27 00:12:30 vivaldi imapd[1225]: connect from 208.252.226.174

很显然地,他找到了一些他所乐见的东西,并且在06:52和16:47又回来了。他开始了一次针对mozart机器的彻底扫描,并且确定了这台机器存在着mountd的安全漏洞,这个漏洞是Red Hat 5.1中存在的一个会危及root安全的漏洞,我们可以从/var/log/messages中看到,这个入侵者应该已经获得了超级用户权限,他所使用的工具看上去象是ADMmountd.c或者一些极其类似的程序。

Apr 27 16:47:28 mozart mountd[306]: Unauthorized access by NFS client 208.252.226.174.

Apr 27 16:47:28 mozart syslogd: Cannot glue message parts together

Apr 27 16:47:28 mozart mountd[306]: Blocked attempt of 208.252.226.174 to mount

[阅读全文]