网络安全 渗透测试
渗透测试与社会工程学
渗透测试是一种主动措施,旨在在其他攻击者之前尝试识别服务和组织中的漏洞。
渗透测试可以在许多领域提供,例如:
- Web 应用程序。存在大量新开发的 Web 应用程序正在发布。
- 网络和基础设施。许多应用程序不是 Web 应用程序,而是使用其他协议。这些组织应用程序可以驻留在外部和内部。
- 内部测试/受感染计算机模拟。如果用户在其系统上收到恶意软件怎么办?这几乎等于攻击者能够直接操作该系统,这对任何组织都构成严重风险。
- 外部组织测试。一个将整个组织作为渗透测试范围的测试。这是理想的情况,但通常需要组织拥有自己的内部渗透测试团队来长期关注,或者需要支付高昂的费用聘请外部团队进行此测试。
- 丢失的笔记本电脑场景。在我们的场景中将进一步描述。
- 客户端应用程序。企业中存在许多使用不同语言(如 C、C++、Java、Flash、Silverlight 或其他编译软件)编写的应用程序。渗透测试也可以关注这些资产。
- 无线网络。一项旨在弄清楚 WIFI 是否可能被入侵、设备是否拥有过时且易受攻击的软件,以及无线网络与其他网络之间是否建立了适当的隔离。
- 移动应用程序(Android、Windows Phone、IOS)。移动应用程序可能存在漏洞,并且还包括与企业内部托管的系统的连接和引用。移动应用程序还可能包含 API 密钥等机密信息,攻击者可以轻易利用这些信息。
- 社会工程学。在我们的场景中将进一步描述。
- 网络钓鱼和语音钓鱼。在我们的场景中将进一步描述。
- 物理。渗透测试团队可以尝试模拟他们带着笔记本电脑出现在一个地点并插入网络连接时会发生什么。物理攻击还可以包括针对地点的其他类型隐蔽攻击。
- ICS(“工业控制系统”)/SCADA(“监督控制和数据采集”)。这些系统通常控制着组织中最易受攻击和关键的资产,因此它们应该受到严格审查。
无知识、部分知识和全知识渗透测试
根据参与程度,组织可以决定向进行渗透测试的团队提供信息。无知识渗透,有时称为黑盒测试,意味着攻击者事先一无所知。部分知识,有时称为灰盒测试,意味着攻击者会获得一些知识。而全知识渗透测试,有时称为白盒测试,则渗透测试人员拥有他们所需的一切,包括源代码、网络图、日志等。
组织向渗透测试团队提供的信息越多,团队提供的价值就越高。
丢失的笔记本电脑场景
一个很好的渗透测试场景是证明丢失或遗失笔记本电脑的后果。系统上拥有特权和凭据,攻击者可以利用这些信息进入目标组织。
系统可能受密码保护,但存在许多技术可能允许攻击者绕过此保护。例如:
- 系统的硬盘驱动器可能未完全加密,允许攻击者将硬盘驱动器挂载到自己的系统上以提取数据和凭据。这些凭据又可以被破解并重新用于组织的许多登录页面。
- 用户可能已锁定系统,但用户仍处于登录状态。即使系统已锁定,该用户仍有应用程序和进程在后台运行。攻击者可以尝试通过例如 USB 添加一个恶意的网络卡到系统。这张网络卡会尝试成为系统访问互联网的首选方式。如果系统使用这张网络卡,攻击者现在可以看到网络流量并尝试找到敏感数据,甚至更改数据。
一旦攻击者能够访问该系统,他们就可以开始从中搜刮信息,这些信息可用于进一步推进攻击者的目标。
社会工程学
一个系统的强度只与其最薄弱的成员一样强,而这通常是人。社会工程学涉及针对用户进行攻击,试图欺骗他们采取他们原本不打算采取的行动。这类技术非常流行,世界上许多最重大的黑客事件都涉及使用社会工程学技术。
社会工程学经常试图滥用某些方面来让受害者服从行动,例如:
- 大多数人都有礼貌的愿望,尤其是对陌生人。
- 专业人士希望显得知识渊博和聪明。
- 如果你受到称赞,你往往会说更多并且透露更多。
- 大多数人不会仅仅为了撒谎而撒谎。
- 大多数人会对那些关心他们的人表现出友善的回应。
当某人遭到成功的社会工程学攻击时,他们通常根本没有意识到自己已经被攻击了。
社会工程学场景:乐于助人
人类通常希望互相帮助。我们喜欢做善事!
设想一个场景:Eve 带着被咖啡浸湿的纸张冲进一家大型公司办公室的前台。接待员清楚地看到 Eve 深感痛苦,并想知道发生了什么。Eve 解释说她将在 5 分钟后进行面试,并且她真的需要打印出她的文件供面试使用。
Eve 事先准备了一个恶意的 USB 驱动器,其中包含旨在破坏插入它的计算机的文档。她将恶意的 USB 驱动器交给接待员,并微笑着问接待员是否可以为她打印文件。这可能就是攻击者感染内部网络中的一台系统,并允许他们进一步(横向移动)感染更多系统所需的一切。
社会工程学场景:利用恐惧
人们经常害怕失败或不服从命令。攻击者经常利用恐惧来胁迫受害者做攻击者需要的事情。例如,他们可以尝试冒充公司董事要求提供信息。也许社交媒体更新会透露该董事正在休假,这可以被用来策划攻击。
受害者可能不想挑战董事,而且由于董事正在休假,可能更难核实信息。
社会工程学场景:利用互惠
互惠是指做某事以作为回应,就像对某人向你表示善意的回应一样。
如果我们考虑某人为你开门让你进入你的办公楼。因此,你可能会想为下一个人开门以示回报。这扇门可能需要刷卡进入,需要员工出示他们的徽章,但为了回馈同样的善意,门被一直开着。这被称为尾随。
社会工程学场景:利用好奇心
人类天生就充满好奇心。如果你在办公室大楼外面发现一个 USB 驱动器,你会怎么做?插入它?如果 USB 驱动器包含一个标题为“薪资信息 - 当前更新”的文件怎么办?
攻击者可以故意在员工居住的区域附近丢弃许多恶意的 USB 驱动器,希望有人会插入它们。
文档可能包含恶意宏或漏洞利用,或者仅仅是欺骗用户执行某些操作,这些操作会使他们自己受到损害。
网络钓鱼
网络钓鱼通常是通过电子邮件进行的技术。攻击者会试图胁迫和欺骗员工交出敏感详细信息,例如他们的凭据,或者让他们安装恶意应用程序,从而使攻击者能够控制系统。
网络钓鱼是攻击者入侵的常用技术,渗透测试人员也可以尝试利用这一点。在网络安全中,永远不要低估人的因素。只要有人参与,网络钓鱼就一直是攻击者访问系统的可能途径。
网络钓鱼不应被用来证明人类会犯错,而应试图证明这些错误的后果。它也可以用来测试反垃圾邮件过滤器和用户意识的强度。
可以进行一系列多次网络钓鱼尝试,而不是进行单一轮次。多轮网络钓鱼活动有助于确定组织的整体意识,并让他们知道,不仅是攻击者在试图欺骗我们的用户,甚至是安全部门。
语音钓鱼
语音钓鱼是指通过电话试图让毫无戒心的员工为攻击者执行操作。如果员工认为他们正在与他们认识的人通话,最好是具有权威的人,那么员工可能会被欺骗执行不受欢迎的操作。
这是一个 Eve 打电话给 Alice 的例子:
Eve:你好,我是 Eve 小姐。CEO Margarethe 让我亲自给你打电话;她说你会帮忙。
Alice:好吧……我能为你做些什么?
Eve:Margarethe 现在正在旅行,但迫切需要重置她的密码,以便在她着陆时能继续进行业务会议。
Eve:我们迫切需要重置她的电子邮件密码,以便她能够主持会议。
Eve:你能把她的密码重置为 Margareth123 吗?
Alice:我不确定……
Eve:请,Margarethe 特别要求你遵守此请求。必须立即完成,我不想考虑不做的后果……
Alice:好的。密码已重置。
语音钓鱼试图让受害者泄露信息,透露敏感信息。攻击者可能会要求一份敏感文件或电子表格的副本。