拉网还是电?(用于配置已根目录的服务器)


11

当服务器扎根时(例如,类似这样的情况),您可能要决定做的第一件事就是遏制。一些安全专家建议不要立即进行补救,并在完成取证之前使服务器保持在线。这些建议通常是针对APT的。如果您偶尔遇到脚本小子违规情况,则情况有所不同,因此您可以决定尽早进行补救(修复问题)。补救步骤之一是控制服务器。引用罗伯特·莫尔(Robert Moir)的答案 -“断开受害者与抢劫者的联系”。

可以通过拉动网络电缆电源电缆来容纳服务器。

哪种方法更好?

考虑到以下需求:

  1. 保护受害者免受进一步损害
  2. 执行成功的取证
  3. (可能)保护服务器上的重要数据

编辑:5个假设

假设:

  1. 您检测得很早:24小时。
  2. 您想早日恢复:1名系统管理员需要3天的工作时间(取证和恢复)。
  3. 该服务器不是虚拟机或能够拍摄快照以捕获服务器内存内容的容器。
  4. 您决定不尝试起诉。
  5. 您怀疑攻击者可能正在使用某种形式的软件(可能是复杂的),并且该软件仍在服务器上运行。

2
您可能也想在这里逛逛:security.stackexchange.com
sysadmin1138


2
@Tom-不是骗子,而是对该问题特定问题的扩展讨论。
mfinni 2011年

3
@ sysadmin1138,请特别尝试security.stackexchange.com/q/181/33
AviD 2011年

Answers:


6

如果您要面对的是APT,那么最好的选择是设置一个蜜罐,并彻底监视流入和流出它的所有流量,以及监视服务器。

就时间和精力而言,通过内存的方法非常昂贵,因此除非您尝试了所有其他方法,否则通常不值得使用,并且如果您确定这样做是值得的,通常最好设置一个蜜罐,以便您轻松转储实时将内存和系统状态传递给另一台计算机,因此您可以在计算机启动和运行时进行分析,从而减少被检测到的威胁。

在一种情况下,攻击者将所有内容保存在内存中,除了日志,机器在关闭电源后重新启动后看上去就像其映像一样。然后,他们会再次入侵并再次使用它,因为该漏洞仍然存在-他们不需要自己留任何后门。在这里进行内存评估可能会有所帮助,但是在这种情况下,观察流量足以迅速识别漏洞。

因此:

避免拉动电源并进行脱机磁盘评估的唯一原因是,如果要在威胁到位和运行期间进行彻底的内存分析,就很费劲。如果您已达到必须这样做的地步,则没有理由拔下任何一个插头。

如果您不进行内存分析,那么最好拔下电源插头-拔出以太网(或使用关机命令)只会提前通知攻击者的软件-有时很重要。

所以:

除非要进行内存分析,否则请两者都拉。


16

RAM取证(例如/ dev / shm)可能会有所帮助。

但是我更喜欢拔下电源线(但是尝试在之前登录并rsync / proc)。

使用电源线的原因有:

  1. 当您在被黑系统中进行取证时,您就是“跨整个犯罪现场”
  2. 根工具包一直在运行-恶意软件在Network Link Down事件上执行某些操作(例如,系统清除)并不难。

凯尔·兰金(Kyle Rankin)在取证演讲中作了精彩的介绍 -他建议拉电源线。


+1为“遍及整个犯罪现场”。除非您确切地知道自己在做什么,或者不是很在意收集确切的法证证据,否则您可能想请专家而不是在学习如何进行法证研究时污染证据……
dunxd

10

断开网络连接。如果没有网络连接,攻击者将无法获取任何其他信息。没有权力很难进行任何取证。


3
您可以(并且应该)通过离线(A)通过实时CD进行取证,(B)将硬盘驱动器移至其他系统,或者(C)在对受影响的硬盘进行映像后(通过实时CD)进行取证。 。
2011年

3
通常有用的证据在记忆中。在建议任何功率损耗之前,必须允许这样做。
Sirex

还可以考虑通过安全断开LOM接口:)
Kedare 2011年

7

在当今时代,它可以使用虚拟机,因此这两种方法都很容易,甚至可以远程完成。(当然,虚拟机也有可能使用快照)

我建议您自动断开与网络的连接,因为这使您有时间思考下一步应该是什么,无论下一步是拔掉电源线还是其他。如果您知道公司的“安全响应程序”不允许您花时间详细研究计算机,那么保留RAM的内容可能就没那么重要了。

我建议以任何方式完成“使受害者与抢劫者分离”比如何实现更为重要,因此这两种方法都是有效的。我自己拉电源线不会有任何问题,让我们这样说。


虚拟机+1。如果您断开网络连接,则Rootkit会继续运行-恶意软件在Network Link Down事件中执行某些操作(例如,系统清除)的
难度并不大

6
正在运行的系统状态的快照真是个好主意,我为自己没想到而生气。
jgoldschrafe 2011年

@Alexsandr-我一直在想一个实际的例子,我在画一个空白,但是我似乎想起了一个完全保留在内存中的rootkit,因此拔下插头后会丢失。我认为无论哪种情况都有丢失证据的风险。
罗伯·摩尔

6

这不是一个非此即彼的情况。通常,您都想做这两种事情-您要在已从网络中删除的系统上执行某些取证(正在运行的进程的转储,侦听套接字,/ tmp中的文件等),然后从安全的位置执行剩余的诊断环境(即实时CD)。在某些情况下,两种方法都不是正确的方法,并且您需要考虑并了解组织中可能存在的方法。


如果您断开网络连接,则rootkit会继续运行-恶意代码在Network Link Down事件上执行某些操作(例如,系统清除)并不难。
2011年

的确是这样,您有机会根据情况的敏感性来评估并决定是否要接受。某些rootkit仅驻留在内存中,如果您切断了系统的电源,则将无法确定系统的运行方式。您可以尝试在保持链接状态的同时阻止流量流出交换机端口,但是任何rootkit都是软件,并且可以执行任何其他软件可以做的任何事情-不能阻止它们探测默认网关并在无法访问同一枚炸弹的情况下启动它。
jgoldschrafe 2011年

4

在执行任何操作之前,请弄清楚是否需要保留证据以进行最终起诉。证据处理是一个非常棘手的主题,而不是经过微弱训练的。回答完之后,受过训练的计算机取证人员可以从那里取走。


1
首先,我认为应该决定起诉还是不起诉?。凯尔·兰金(Kyle Rankin)在演讲中(goo.gl/g21Ok)。从讨论开始。要起诉,将需要提供大量监控损失的证据。
亚历山大·列夫丘克

1
@Aleksander通常,您需要非常非常早地了解流程中是否可以重新使用受损的硬件和数据,或者是否必须将其存储起来并从全新的部分构建新的系统。在您甚至证明财务或业务声誉损失之前,这很有可能。当有人意识到可能发生的事件发生时,就需要保存证据链。
sysadmin1138

通常最好从保持选择权是否重新起诉开始,因为您可能不知道是否存在金钱损失,因此,在按书规定的一切早期阶段,保持监管链非常重要。
罗里·阿尔索普

3

无需关闭服务器电源。您可以仅禁用来自边界网关/路由器的连接。一个防火墙规则足以丢弃任何进一步的发送/接收的数据包。


+1这就是拥有网关是一个好主意的原因之一。但是,如果您没有一个怎么办?如果拔下直接网络电缆,则Rootkit会收到Network Link Down事件。并且登录到根服务器并在第0天在那里做某事不是一个坏主意吗?
2011年

2

答案很大程度上取决于您“扎根”的意思。通常,拉动网络领导力是一个好主意,尤其是如果您认为这是活跃的人类攻击者正在寻找敏感信息。

拔电要难得多。如果您认为正在运行的恶意代码可能掩盖了其踪迹,请这样做。但是,如果您感觉到仍有可能侵入内存,请继续运行。

总体而言,这取决于您要处理的是恶意代码,精打细算的员工,还是怀有特定目标的人员。

如果谨慎行事,请拉电源。您将损失少量的潜在证据,但可能会阻止自动代码大量删除其他证据。

-再说一次,如果您认为计算机已受到威胁,并且知道计算机上没有敏感数据,则您对其他地方的网络安全非常有信心,并了解这样做的后果,也许会尽快获得法医鉴定。看看您是否可以跟踪或了解攻击并从那里去。不过,通常这不是一个好主意


1

我的回答是在编辑之前,有5个假设。
我的假设是,如果您的服务器已扎根,您将与一个成熟的针对性攻击者打交道,并且您无法知道攻击的时间和来源。(由于计算机已经扎根,显然您无法信任它告诉您的任何信息。但是,您可能拥有一些现成的信息,例如IDS...。)
我还假设您有兴趣与攻击者打交道,而不仅仅是挥舞他像烦人的苍蝇一样飞走了。如果假定的攻击者是脚本小子,那就不一样了。我还假设,由于攻击者是有针对性的并且是复杂的,因此他们很可能在您的计算机上运行了自定义软件,可以响应您对计算机的操作...


都不行
查看/security//q/181/33,无论哪种方式都不好。
这就像给黑人骑士几个创可贴……太少,太晚了,只会帮不上什么忙。


对于所有认为此答案太过远,或者只是“安全意识不足”的人,您需要意识到它已经为时已晚
即使完全断开连接,它也不再是您的服务器。即使你关闭,运行所有的AVS和什么-你不拥有它了,他们做的。
那就是“扎根”的定义。

现在,假设他们拥有它,并且可以向您隐藏他们的所有权,那么您需要考虑-断开它的作用是什么?它会实现
唯一目的 -因为无论如何它都会继续扎根-是让您的对手知道您对他们负有责任。这只会使他们的警卫站起来,并让他们开始清理自己(如果他们还没有的话),这只会扼杀任何取证的希望。
您仍然没有保护该服务器或其任何数据。有多久一直扎根?你怎么知道的?

您最好做的是:

  • 让服务器启动并运行...
  • 将其与内部网络的其余部分,其他服务器等隔离开来-但最好插入某种模拟,因此看起来似乎已连接。
  • 安静地启动实时/网络取证,运行跟踪等。
  • 尝试找出损坏的程度和持续时间(如果在2个小时前或2个月前发生,显然会有所不同)。
  • 从那里继续...仅在减轻实际损坏之后,继续进行清理。
  • 当然不要忘记调查根本原因,并执行任何控制措施以确保它不再发生。

2
我认为这可以在您可以将其快速移至模拟/隔离环境的情况下使用,但是很少有组织可以这样做,以至于实际上他们希望实现“最小化影响”,因此要切断电源或网络通常是立即消除该威胁。(我还是希望自己像这样+1 :-)
罗里·阿尔索普

@Rory问题是您无法最小化影响,服务器已被伪装。您不会将其取回,而且任何敏感数据也可能会被盗,因为您不知道它们已经访问了多长时间。就是说,模拟环境只是锦上添花,重要的是隔离-我相信大多数组织都拥有一个可靠的防火墙,翻转一些访问规则,您就是金牌。这是可访问服务器应位于DMZ中的另一个原因-使该部分更容易....
AviD 2011年

另外,我想澄清一点-以上内容适用于植根操作系统。如果您的网站中存在某种形式的应用程序级别漏洞(例如SQL注入),请绝对将其关闭并拉起所有线缆!但是OS根目录有所不同-它们控制着计算机的整个基础结构。您不再具有任何控制权。
AviD 2011年

2
不,我的意思是最大程度地减少对该根计算机造成的影响。我同意它完全丢失了,但是除非您能迅速将其隔离,否则您将无法知道控制器可能会对其余系统产生什么影响
Rory Alsop

0

复习您的假设后,两者都会做。使用基于CD / DVD的媒体转储当前状态。首先,您将希望能够确定自己是如何受到损害的。您可能还想尝试恢复不在备份映像上的用户数据。哟

然后从没有被污染的最新备份介质重建系统。如有可能,请使用校验和进行验证。或者,从安装媒体重新安装软件,然后重新配置。如果您一直在使用Puppet或cfEngine配置服务器,则重新配置应该是自动的。

重新加载用户数据并扫描root kit组件。确认数据目录中没有setuid或setgid程序。

确定并关闭用于感染系统的访问方法。阶段重新激活服务器,以便有时间验证应用程序是否按预期运行。仔细监视是否有新的感染尝试。

所有这些都假定感染是在根目录下进行的。可以通过更改Web服务器运行的代码来完成Web感染。允许Web服务器对其代码进行写访问可以使此操作更容易实现。您可能仍然希望将这种情况视为root帐户已被盗用。

如果一个系统上的root已在一个系统上遭到入侵,则可能有更多系统受到入侵。仔细考虑哪些系统可以在没有密码的情况下从受感染的系统访问。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.