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