网络安全 渗透测试


渗透测试和社会工程

渗透测试是一种主动措施,可在其他攻击者之前尝试识别服务和组织中的漏洞。

渗透测试可以在许多领域提供,例如:

  • 网络应用程序。有新的网络应用程序被开发和发布。
  • 网络和基础设施。许多应用程序不是 Web 应用程序,而是使用其他协议。这些组织应用程序可以驻留在外部和内部。
  • 内部测试/受感染的计算机模拟。如果用户的系统上收到恶意软件怎么办?这几乎相当于攻击者在该系统上手动操作键盘,从而对任何组织构成严重风险。
  • 外部组织测试。在整个组织内进行的测试,作为渗透测试人员的范围。这是理想的,但通常需要拥有自己的内部渗透测试团队来专注于这项长期测试,或者涉及雇用外部团队来进行此测试的高成本。
  • 笔记本电脑被盗场景。在下面的场景中进一步描述。
  • 客户端应用程序。企业中存在许多用不同语言编写的应用程序,例如 C、C++、Java、Flash、Silverlight 或其他编译软件。渗透测试也可以关注这些资产。
  • 无线网络。该测试旨在确定 WIFI 是否可以被侵入、设备是否具有过时且易受攻击的软件,以及无线网络和其他网络之间是否建立了适当的分段。
  • 移动应用程序(Android、Windows Phone、IOS)。移动应用程序可能存在漏洞,并且还包括对企业内部托管系统的连接和引用。移动应用程序还可以保存 API 密钥等秘密,这些秘密很容易被攻击者利用。
  • 社会工程学。在下面的场景中进一步描述。
  • 网络钓鱼和网络钓鱼。在下面的场景中进一步描述。
  • 身体的。渗透测试团队可以尝试看看如果他们带着笔记本电脑出现在某个位置并插入网络连接会发生什么。物理攻击还可以包括针对位置的其他类型的隐蔽攻击。
  • ICS ("Industrial Control Systems") / SCADA ("Supervisory Control And Data Acquisition")。这些系统通常控制组织中一些最脆弱和最关键的资产,因此它们应该受到审查。

无知识、部分知识和全知识渗透测试

根据参与情况,组织可以决定向进行渗透测试的团队提供信息。无知识渗透,有时称为黑匣子,意味着攻击者事先不知道任何信息。部分知识,有时称为灰盒测试,意味着攻击者获得了一些知识,而通过全知识渗透测试,有时称为白盒,渗透测试人员从源代码​​、网络图中获得了他们需要的一切、日志等等。

组织可以为渗透测试团队提供的信息越多,团队可以提供的值就越高。


笔记本电脑被盗场景

一个很好的渗透测试场景是证明笔记本电脑被盗或丢失的后果。系统具有攻击者可以用来进入目标组织的权限和凭据。

系统可能受到密码保护,但存在许多技术可能允许攻击者绕过此保护。例如:

  • 系统硬盘驱动器可能未完全加密,从而允许攻击者将硬盘驱动器安装在自己的系统上以提取数据和凭据。这些凭据反过来可能会被破解并在许多组织的登录页面上重复使用。
  • 用户可能已锁定系统,但用户仍处于登录状态。即使已锁定,该用户也有在后台运行的应用程序和进程。攻击者可能会尝试通过 USB 等方式将恶意网卡添加到系统中。该网卡试图成为系统访问互联网的首选方式。如果系统使用此网卡,攻击者现在可以看到网络流量并尝试查找敏感数据,甚至更改数据。

一旦攻击者能够访问系统,他们就可以开始袭击系统以获取信息,这些信息可用于进一步推动攻击者的目标。


社会工程学

系统的强度取决于最弱的成员,而这个成员通常是人类。社会工程涉及对用户进行攻击,试图愚弄他们采取他们无意的行动。这种技术非常流行,世界上许多最大的黑客攻击都涉及使用社会工程技术。

社会工程经常试图滥用某些方面来使受害者遵守行为,例如:

  • 大多数人都希望有礼貌,尤其是对陌生人
  • 专业人士希望显得消息灵通、聪明
  • 如果你受到表扬,你往往会说得更多、透露得更多
  • 大多数人不会为了说谎而说谎
  • 大多数人会对那些关心他们的人做出友善的回应

当某人遭受良好的社会工程攻击时,他们通常根本没有意识到自己受到了攻击。


社会工程场景:乐于助人

人类通常希望互相帮助。我们喜欢做美好的事情!

考虑这样一个场景:夏娃带着浸泡在咖啡里的文件走进一家大公司办公室的接待处。接待员可以清楚地看到伊芙陷入困境,想知道发生了什么事。 Eve 解释说,她 5 分钟后就要参加工作面试,她确实需要打印面试所需的文件。

Eve 提前准备了一个恶意 USB 记忆棒,其中包含旨在危害其插入的计算机的文档。她将恶意 U 盘递给接待员,并微笑着询问接待员是否可以为她打印文件。这可能是攻击者感染内部网络上的系统所需的方法,从而使他们能够危害(枢转)更多系统。


社会工程场景:利用恐惧

人们常常害怕失败或不按命令行事。攻击者通常会利用恐惧来强迫受害者做攻击者需要的事情。例如,他们可以尝试假装是公司董事来索取信息。也许社交媒体更新显示导演外出度假,这可以用来发动袭击。

受害者可能不想质疑导演,而且由于导演正在度假,核实信息可能会更困难。


社会工程场景:玩互惠

回报是做一些回报,比如对别人向你表示善意的回应。

如果我们考虑有人为你把门让你进入办公楼的前门。正因为如此,你可能会想要握住隔壁的人来回报。这扇门可能位于访问控制后面,需要员工出示徽章,但为了提供同样的善意作为回报,门是开着的。这称为尾随。


社会工程场景:利用好奇心

人类生来就有好奇心。如果你发现办公楼外的地上有一个 U 盘,你会怎么做?插上电源?如果 USB 记忆棒包含标题为 "Salary Information - Current Updates" 的文档怎么办?

攻击者可能会故意在员工居住的区域周围放置许多恶意 USB 记忆棒,希望有人将它们插入。

文档可能包含恶意宏或漏洞,或者只是诱骗用户执行某些操作,从而使他们自己受到危害。


网络钓鱼

网络钓鱼是一种通常通过电子邮件完成的技术。攻击者会试图强迫和欺骗员工泄露敏感详细信息,例如他们的凭据,或者让他们安装恶意应用程序,从而使攻击者能够控制系统。

Phishing

网络钓鱼是攻击者入侵的常见技术,渗透测试人员也可能会尝试利用这种技术。永远不要低估网络安全中的人为因素,这一点很重要。只要有人参与,网络钓鱼就永远是攻击者获取系统访问权限的一种可能方式。

网络钓鱼不应该用来证明人类会犯错误,而应该尝试证明这些错误的后果。它还可以用于测试反垃圾邮件过滤器的强度和用户意识。

可以进行多次网络钓鱼尝试的活动,而不是单轮。多轮网络钓鱼活动可以帮助确定组织的整体意识,并让他们知道不仅攻击者试图欺骗我们的用户,甚至安全部门也在试图欺骗。


语音钓鱼

语音钓鱼意味着使用电话试图让毫无戒心的员工为攻击者执行操作。如果员工认为自己正在与认识的人(最好是有权威的人)通话,那么员工可能会被欺骗而执行不需要的操作。

Vishing

下面是 Eve 调用 Alice 的示例:

Eve: Hello, this is Miss Eve calling. I was told to call you personally by the CEO Margarethe; she said you would be able to help.
Alice: Ok... What can I do for you?
Eve: Margarethe is travelling right now, but urgently requests her password to be reset so we can get on with a business meeting happening the moment she lands.
Eve: We urgently request for her email password to be reset so she can deliver the meeting.
Eve: Can you proceed to reset her password to Margareth123?
Alice: I am not sure...
Eve: Please, Margarethe asked for you personally to comply with this request. It must be done now, I don't want to think of the consequences if not...
Alice: Ok. Password is reset

语音钓鱼可能会试图让受害者进行信息泄露,从而泄露敏感信息。攻击者可能要求提供敏感文档或电子表格的副本。