题 你如何从以前的IT人员那里搜索后门?


我们都知道它发生了。一个苦涩的老IT人离开了 后门 进入系统和网络,以获得新人的乐趣,并向公司展示没有他的事情是多么糟糕。

我从来没有亲身经历过这个。我经历过的最多的就是那些在离开之前破坏并偷走东西的人。不过我确信会发生这种情况。

因此,当接管一个不太可靠的网络时,应采取哪些措施来确保一切安全可靠?


355
2017-08-18 15:04




+1,我喜欢这个问题。在与新客户打交道时,这是我最不喜欢的事情,特别是如果最后一个人留下了不好的条款。 - DanBig
我离开的大多数地方,我不在那里说“不要那样做”足以让网络崩溃。我不需要离开后门。 - Paul Tomblin
@Paul,这表明你没有正确记录。让我们希望新人能够正确地完成他们的工作。 - John Gardeniers
@John,您的用户和同事阅读文档?我在哪里可以得到一些? - Paul Tomblin
@Paul,用户 - 不,他们为什么要这样?同事(假设你的意思是IT人员) - 是的。阅读文档应该是开始新工作的第一步。 - John Gardeniers


答案:


这真的非常非常难。它需要非常完整的审核。如果你非常确定那个老人会留下一些东西,那就是热潮,或者需要他们重新雇用,因为他们是唯一一个可以灭火的人,那么现在是时候假设你已经扎根了敌对党。像一群黑客进来一样对待它并偷走东西,你必须在他们的烂摊子后清理。因为那就是它。

  • 审核每个系统上的每个帐户,以确保它与特定实体相关联。
    • 似乎与系统相关但没有人可以考虑的帐户将被不信任。
    • 与任何事物无关的帐户都需要清除(无论如何都需要这样做,但在这种情况下尤为重要)
  • 更改他们可能已经接触过的任何和所有密码。
    • 这对于公用事业帐户来说可能是一个真正的问题,因为这些密码往往会被硬编码到事物中。
    • 如果他们是响应最终用户呼叫的帮助台类型,则假设他们拥有他们协助的任何人的密码。
    • 如果他们有企业管理员或域管理员到Active Directory,假设他们在离开之前抓取了密码哈希的副本。由于公司范围内的密码更改需要在几天内强制执行,因此可以快速破解这些问题。
    • 如果他们对任何* nix框具有root权限,则假设他们使用密码哈希值离开。
    • 检查所有公钥SSH密钥用法以确保其密钥被清除,并审核是否有任何私钥在您访问时暴露。
    • 如果他们可以访问任何电信设备,请更改任何路由器/交换机/网关/ PBX密码。这可能是一种真正的王室痛苦,因为这可能会导致严重的中断。
  • 全面审核您的周边安全安排。
    • 确保所有防火墙漏洞都跟踪已知的授权设备和端口。
    • 确保所有远程访问方法(VPN,SSH,BlackBerry,ActiveSync,Citrix,SMTP,IMAP,WebMail等)都没有附加额外的身份验证,并完全审查它们是否存在未经授权的访问方法。
    • 确保远程WAN链接跟踪到完全雇用的人员并进行验证。特别是无线连接。你不希望他们与公司付费的手机调制解调器或智能手机一起走。联系所有此类用户以确保他们拥有合适的设备。
  • 全面审核内部特权访问安排。这些是诸如SSH / VNC / RDP / DRAC / iLO / IMPI访问一般用户没有的服务器,或者对工资单等敏感系统的任何访问。
  • 与所有外部供应商和服务提供商合作,确保联系人正确无误。
    • 确保从所有联系和服务列表中删除它们。这应该在任何离开之后完成,但现在非常重要。
    • 验证所有联系人是否合法并且具有正确的联系信息,这是为了找到可以冒充的鬼魂。
  • 开始寻找逻辑炸弹。
    • 检查所有自动化(任务调度程序,cron作业,UPS调出列表,或按计划运行或事件触发的任何事物)以查找恶意迹象。 “全部”我的意思是全部。检查每个crontab。检查监控系统中的每个自动操作,包括探头本身。检查每个Windows任务计划程序;甚至是工作站。除非你在高度敏感的地区为政府工作,否则你将无法负担得起“全部”,尽可能多地做。
    • 验证每台服务器上的密钥系统二进制文件,以确保它们应该是什么。这很棘手,特别是在Windows上,几乎不可能在一次性系统上追溯。
    • 开始寻找rootkit。根据定义,他们很难找到,但有扫描仪。

至少不容易,甚至远程关闭。如果没有明确的证据证明现在的前管理员实际上是邪恶的,那么证明所有这些费用的合理性是非常困难的。上述全部内容甚至不适用于公司资产,这将需要聘请安全顾问来完成部分工作。

如果检测到真正的邪恶,特别是如果邪恶是在某种软件中,训练有素的安全专业人员是最好的确定问题的广度。这也是刑事案件可以开始建立的时刻,也是你  希望接受过处理证据培训的人员进行这种分析。


但是,真的,你要走多远?这是哪里 风险管理 发挥作用。简单地说,这是平衡预期风险与损失的方法。系统管理员在我们决定时这样做 哪一个 我们想放置备份的异地位置;银行保险箱与区域外数据中心。弄清楚这份清单需要遵循多少是风险管理的练习。

在这种情况下,评估将从以下几点开始:

  • 离去的预期技能水平
  • 离去的人的访问
  • 邪恶的期望已经完成
  • 任何邪恶的潜在伤害
  • 报告的规定要求犯下邪恶与先发制人的邪恶。一般来说,你必须报告前者,而不是后者。

上述兔子洞潜水多远的决定将取决于这些问题的答案。对于邪恶期望非常轻微的例行管理员离职,不需要完整的马戏团;更改管理员级密码并重新键入任何面向外部的SSH主机可能就足够了。同样,企业风险管理安全态势决定了这一点。

对于因原因而被终止的管理员,或者在他们正常离开后出现邪恶的管理员,马戏团变得更加需要。最糟糕的情况是一个偏执的BOFH型,他被告知他们的位置将在2周内变得多余,因为这给了他们足够的时间来做好准备;在这样的情况下 凯尔关于慷慨遣散费的想法 可以缓解各种问题。在支付4个月的支票到达之后,即使是偏执狂也可以原谅很多罪。这项检查的成本可能低于安全顾问挖掘邪恶所需的成本。

但最终,它归结为确定邪恶是否完成的成本与实际所做的任何邪恶的潜在成本。


329
2017-08-18 15:40



+1 - 关于审计系统二进制文件的最新技术今天非常糟糕。计算机取证工具可以帮助您验证二进制文件上的签名,但随着不同二进制版本的激增(特别是在Windows上,每个月发生的所有更新),很难找到令人信服的方案,您可以接近100%二进制验证。 (如果可以,我会给你+10,因为你已经很好地总结了整个问题。这是一个很难的问题,特别是如果没有分工和职责分离的话。) - Evan Anderson
+++ Re:更改服务帐户密码。无论如何都应该对此进行全面记录,因此,如果您需要做好自己的工作,这个过程就非常重要。 - Kara Marfia
@Joe H。:不要忘记独立于生产基础架构验证所述备份的内容。备份软件可以被木马化。 (我的一个客户有一个第三方w /独立安装他们的LOb应用程序,他们签约恢复备份,将它们加载到应用程序中,并验证从备份生成的财务报表与生产系统生成的财务报表相匹配。野生...) - Evan Anderson
很好的答案。此外,不要忘记将已离职的员工移除为服务提供商和供应商的授权联系人。域名注册商。互联网服务商。电信公司。确保所有这些外部各方都得到雇员不再有权进行任何更改或讨论公司帐户的信息。 - Mox
“上述全部内容甚至可能不适用于公司资产,这将需要聘请安全顾问来完成部分工作。” - 当然可能是 这个 暴露导致妥协。这种级别的审计需要极低级别的系统访问 - 以及个人 知道 如何隐藏东西。 - MightyE


我想说这是你所关注的钱与你愿意支付的钱之间的平衡。

非常关心:
如果您非常担心,那么您可能希望聘请外部安全顾问从外部和内部角度对所有内容进行全面扫描。如果这个人特别聪明,你可能会遇到麻烦,他们可能会有一段时间处于休眠状态。另一种选择是简单地重建一切。这可能听起来非常过分,但您将很好地学习环境,并且您也可以进行灾难恢复项目。

温和关注:
如果您只是轻度担心,您可能只想做:

  • 从外面扫描端口。
  • 病毒/间谍软件扫描。适用于Linux机器的Rootkit扫描。
  • 查看防火墙配置,了解您不理解的任何内容。
  • 更改所有密码并查找任何未知帐户(确保他们没有激活不再与公司合作的人,以便他们可以使用该帐户等)。
  • 这也可能是安装入侵检测系统(IDS)的好时机。
  • 比平常更密切地观察日志。

为未来:
当管理员离开时,向前走,给他一个很好的派对,然后当他喝醉时,就让他回家 - 然后将他丢弃在最近的河流,沼泽或湖泊中。更严重的是,这是给予管理员慷慨解雇费的一个很好的理由。你希望他们对尽可能多的离开感到满意。即使他们不应该感觉良好,谁在乎?,吸吮它并使他们快乐。假装这是你的错,而不是他们的错。失业保险和遣散费用的成本上涨与他们可能造成的损失相比并不相同。这完全是关于阻力最小的道路,并尽可能少地创造戏剧性。


98
2017-08-18 15:18



不包括谋杀的答案可能是首选:-) - Jason Berg
为BOFH建议+1。 - jscott
@Kyle:这应该是我们的小秘密...... - GregD
死人转换,凯尔。我们把它们放在那里以防我们离开一段时间:)通过“我们”,我的意思是,呃,他们? - Bill Weiss
+1 - 这是一个实用的答案,我喜欢基于风险/成本分析的讨论(因为它就是这样)。 Sysadmin1138的答案是一个更全面的回答:“橡胶遇到了道路”,但不一定会进入风险/成本分析,而且在大多数情况下,你必须将一些假设放在一边“远程”。 (这可能是错误的决定,但没有人有无限的时间/金钱。) - Evan Anderson


别忘了像Teamviewer,LogmeIn等...我知道这已经提到了,但每个服务器/工作站的软件审核(很多应用程序)都不会受到伤害,包括用nmap扫描的子网扫描NSE脚本。


19
2017-08-24 22:40





首先要做的是 - 在场外存储上备份所有内容(例如磁带,或者断开连接并放入存储的硬盘)。这样,如果发生恶意事件,您可能会恢复一点。

接下来,梳理防火墙规则。任何可疑的开放端口都应该关闭。如果有后门,那么阻止访问它将是一件好事。

用户帐户 - 查找心怀不满的用户,并确保尽快删除他们的访问权限。如果存在SSH密钥,或/ etc / passwd文件或LDAP条目,甚至.htaccess文件都应扫描。

在您的重要服务器上查找应用程序和活动侦听端口。确保附加到它们的运行进程看起来合理。

最终,一个坚定不满的员工可以做任何事情 - 毕竟,他们了解所有内部系统。人们希望他们有诚信不采取消极行动。


18
2017-08-18 15:25



如果发生某些事情,备份也可能很重要,并且您决定采用起诉路线,因此您可能想要找出证据处理规则是什么,并确保您遵循它们,以防万一。 - Joe H.
但是不要忘记你刚刚备份的内容可能包括rooted apps / config / data等。 - Shannon Nelson
如果您有根系统的备份,那么您就有证据。 - XTL


运行良好的基础设施将具备适当的工具,监控和控制,以在很大程度上防止这种情况发生。这些包括:

如果这些工具正确就位,您将拥有审计跟踪。否则,你将不得不执行一个完整的 渗透测试

第一步是审核所有访问权限并更改所有密码。专注于外部访问和潜在的切入点 - 这是您最好的时间。如果外部足迹不合理,则将其消除或缩小。这样您就可以在内部专注于更多细节。请注意所有出站流量,因为程序化解决方案可能会在外部传输受限数据。

最终,作为系统和网络管理员将允许完全访问大多数(如果不是全部的话)。有了这个,就来了很高的责任感。不应轻视雇用这种责任,应采取措施从一开始就将风险降至最低。如果雇用一名专业人员,即使留下不好的条款,他们也不会采取那些不专业或非法的行为。

有关服务器故障的许多详细帖子涵盖了适当的系统审核以确保安全以及在终止某人时应采取的措施。这种情况并非独一无二。


17
2017-08-18 15:31





聪明的BOFH可以执行以下任何操作:

  1. 定期程序,在已知端口上启动netcat出站连接以获取命令。例如。端口80.如果做得好,来回流量会出现该端口的流量。因此,如果在端口80上,它将具有HTTP头,并且有效载荷将是嵌入在图像中的块。

  2. 非周期性命令,在特定位置查找要执行的文件。位置可以位于用户计算机,网络计算机,数据库中的额外表,临时假脱机文件目录中。

  3. 检查一个或多个其他后门是否仍然存在的程序。如果不是,则安装其中的变体,并通过电子邮件将详细信息发送给BOFH

  4. 由于备份的大部分内容现在都是通过磁盘完成的,因此请修改备份以包含至少一些根工具包。

保护自己免受此类事情的方法:

  1. 当BOFH班级员工离开时,在DMZ中安装一个新箱子。它获取通过防火墙的所有流量的副本。查找此流量中的异常情况。后者是非平凡的,特别是如果BOFH擅长模仿正常的交通模式。

  2. 重做您的服务器,以便将关键二进制文件存储在只读媒体上。也就是说,如果你想修改/ bin / ps,你必须去机器,物理地将一个开关从RO转移到RW,重新启动单个用户,重新安装该分区rw,安装你的新副本ps,同步,重启,拨动开关。以这种方式完成的系统至少具有一些可信程序和可信内核以进行进一步的工作。

当然,如果你使用的是窗户,那么你就是软管。

  1. 划分您的基础设施。中小型企业不合理。

如何防止这种事情。

  1. 仔细审核申请人。

  2. 了解这些人是否心怀不满并提前解决人事问题。

  3. 当你解雇一个拥有这些权力的管理员时,这个派对变甜了:

    一个。他的薪水或工资的一小部分会持续一段时间,或者直到IT员工无法解释系统行为发生重大变化。这可能是指数衰减。例如。他获得6个月的全薪,6个月的80%,80%的  在接下来的6个月里。

    湾他的部分工资是股票期权的形式,在他离开后的一到五年内没有生效。他离开时不会删除这些选项。他有动力确保公司在5年内运转良好。


16
2017-08-25 15:37



WTF是BOFH ?? - Chloe
Chloe,BOFH代表来自Hell的Bastard Operator,这是一个标志性的偏执狂 - 妄想型的大型反社会流氓系统管理员,IT人们花费太多时间从地板上捡起某人的老鼠梦想成为。最初提交给alt.sysadmin.recovery的一系列故事 bofh.ntk.net/Bastard.html  en.wikipedia.org/wiki/Bastard_Operator_From_Hell - Stephanie
您的ServerFault得分越高,您作为BOFH的机会越高:-) - dunxd
“当然,如果你使用的是窗户,你就会受到冲击。”我希望这能在我的墙上。 - programmer5000


甚至在管理员离开之前,问题就存在了。只是当时人们更多地注意到这个问题。

- >需要一个流程来审核每个变更,而流程的一部分是只通过它来应用变更。


13
2017-08-24 22:55



我很好奇你是如何执行这种过程的? - Mr. Shiny and New 安宇
在一家小公司(即1-2 Sys Admin类型的人)这很难做到 - Beep beep
执行是一种痛苦,但它是可执行的。其中一个重要的基本规则是,即使是通过sudo,也没有人只需登录一个盒子并管理它。更改应通过配置管理工具进行,或者应在firecall类型事件的上下文中进行。对系统的每个例程更改都应该通过puppet,cfengine,chef或类似工具,并且系统管理员的整个工作应该作为这些脚本的版本控制存储库存在。 - Stephanie


一旦他们离开,一定要告诉公司里的每个人。这将消除社会工程攻击向量。如果公司很大,那么请确保需要知道的人知道。

如果管理员还负责编写代码(公司网站等),那么您还需要进行代码审计。


12
2017-08-25 02:51