第五章 社会工程艺术

当我阅读一本书时,我通常讨厌冗长的引言,不直接进入主题。所以,让我们进入正题。在本章中,您将学习社会工程和不同的技术,这些技术将帮助您利用人类的弱点。请注意,这本书是关于教你可以在Kali Linux上安装的任何工具中使用的原则。在本章中,您将学习社会工程中的以下主题:

发送网络钓鱼电子邮件

得到凭证

使用社会工程工具包

有效负载和侦听设备的基础知识

使用 USB Rubber Ducky 进行社会工程测试


钓鱼攻击

那么,什么是网络钓鱼?网络钓鱼是针对大量受害者进行的电子邮件欺诈攻击;它包含一个普遍感兴趣的项目,将吸引人们对电子邮件采取行动。例如,它可能会宣传一瓶免费的药品,并包含恶意链接或附件。攻击者利用一些人会点击链接或附件来发起攻击这一事实的攻击。我们大多数人可能会删除恶意电子邮件,但我们可以假设有些人会打开它。鱼叉式网络钓鱼是一种非常特殊的网络钓鱼攻击形式。通过以特定的方式制作电子邮件消息,攻击者希望吸引特定受众的注意(例如,公司的销售部门,开发人员等)。例如,如果攻击者知道销售部门使用特定的应用程序来管理其客户关系,攻击者可能会欺骗电子邮件,假装它来自应用程序供应商,标题为“紧急”,并指示他们点击链接下载副本、补丁、或更新。你认为有多少销售代表会点击这个链接?

发送电子邮件

在我们进入一个实际的例子之前,在你给你的受害者发送电子邮件之前,有两点你应该知道:

首先,你需要有一个SMTP中继帐户(我使用我的GoDaddy中继服务)。做一些调查,找到适合你的服务。你需要一封专业的、令人信服的电子邮件,否则你的攻击将不可避免地失败。

社会工程师工具包

由安全负责人David Kennedy编写的社会工程工具包(SET)旨在对人类的弱点进行高级攻击;这就是所谓的社会工程。Kali Linux已经默认预装了这个工具。要运行它,你需要在终端窗口中执行setoolkit:

这个仅用于测试,请不要恶意操作,重要的看红色部分 

要发送电子邮件,请在第一个菜单中选择“社会工程攻击”:

接下来,选择群发邮件攻击(选项#5):

在下一个窗口中,您可以选择将此电子邮件发送给一组人或单个人。让我们看看我们的电子邮件攻击场景会是什么样子。在本例中,假设您是红队的一员,假装是Microsoft的代表,并向管理员(在公司的道德黑客博客工作的员工)发送电子邮件,说管理员的机器需要更新。该电子邮件包含管理员需要单击的恶意URL。鱼叉式网络钓鱼攻击需要大量的计划,所以在发送电子邮件之前要考虑邮件的内容。回到SET菜单,我们将把电子邮件发送给一个人。让我们选择选项1并按Enter:

在这里,我们将这封电子邮件发送给ethicalhackingblog。com的管理员。(不过,记得用你自己的东西来测试这些练习。)

当您看到前面的选项时,您会忍不住选择Gmail,因为它是免费的,而且您不需要中继帐户,对吗?如果您尝试了,谷歌会很高兴地阻止您的附件文件。总之,不要使用Gmail。我们是专业人士,对吧?不是脚本小子!由于我们使用的是中继帐户,所以我们将选择选项2。这封邮件应该来自微软。因此,填写中继信息。(这部分应该反映你的中继信息,而不是我的!)

注意邮件中的两点:

语法错误是不允许的。例如,“following”在前一条消息中是不正确的,因此这将引起对电子邮件真实性的注意。如果您想使用url,请确保它们接近真实域名。例如,Microsoft(没有r)与Microsoft非常接近。

使用Python发送电子邮件

在渗透测试中,Python是一种很好的语言。在本书的后面,您将学习这种编程语言的来龙去脉。目前,下面的代码展示了如何发送电子邮件,而不依赖于应用程序。你可以调用它sendmail .py,并在你填写了缺失的信息后运行它:

获得凭证

现在是时候揭示您可以用于社会工程攻击的最有益和最有效的方法了。只是一个警告:这不是一个教程,你可以用你的朋友窃取他们的密码。这是一本专业书籍,适合那些想要学习如何在自己的职业生涯中应用这种攻击的人。要开始这种攻击,首先需要准备一个专业的html邮件,并确保当受害者收到它时不会引起任何怀疑。开发人员可以帮助你克隆一个网站,并附加一个数据库,这样每当受害者提交他们的凭据时,他们就会被保存到该数据库中。如果你想练习,你也可以使用SET来完成任务。打开并加载应用程序(你已经学习了如何执行和运行应用程序之前),并按照以下步骤:

1. 选择选项1:社会工程攻击。选择选项

2:网站攻击向量。选择选项

3:凭据采集器攻击方法。选择选项

4:站点克隆器。

set:webattack> IP address for the POST back in Harvester/Tabnabbing 
[10.0.20.140]: [Enter you Kali IP address here]
[-] SET supports both HTTP and HTTPS
[-] Example: http://www.thisisafakesite.com
set:webattack> Enter the url to clone:https://10.0.20.1/#/login
[*] Cloning the website: [Enter the target login URL]
[*] This could take a little bit... 
The best way to use this Attack is if username and password form fields are available. Regardless, this captures all POSTs on a website.
[*] The Social-Engineer Toolkit Credential Harvester Attack
[*] Credential Harvester is running on port 80 
[*] Information will be displayed to you as it arrives below:

第二个重要的部分是你要在电子邮件中添加的链接。混淆URL的最佳方法是什么?简单的答案是创建一个域,然后创建子域,子域是原始域的副本。让我们来看看Facebook。以“。Com”域为例。为了获得成功的结果,创建一个类似于Fcb.com的假域名,然后创建一个子域名Facebook.com。它应该是这样的:

我不鼓励你们在考试中使用Facebook。您没有Facebook的许可来执行此操作。这只是一个例子。在实践中,红队和渗透测试人员将需要使用雇主或客户的网站。一个非常现实的例子是克隆客户/雇主的内部网站点,这样您就可以窃取受害者的域凭据。接下来,您将向您的受害者发送电子邮件,正如您在前一节中看到的那样。理想情况下,您可以使用一封令人信服的电子邮件,说服员工点击将员工重定向到虚假站点的URL。员工将开始编写他们的凭据,当他们单击登录按钮时,他们将被重定向到真实的站点。攻击者现在有了受害者的凭证。

有效负载和侦听器

在本节中,您将学习如何创建有效负载和侦听器。如果你是一个完全的初学者,这里是你需要在继续之前了解的基本知识。有效负载是允许您连接到侦听器的可执行文件。目标是在受害主机和攻击者之间建立TCP连接。一旦建立了这个连接,黑客就可以使用远程shell操纵受害者的操作系统。这个远程shell可以是绑定shell,也可以是反向shell。

绑定shell与反向shell

在我们进入本书的下一章之前,理解绑定shell和反向shell之间的区别是至关重要的。许多安全爱好者和专业人员对这两个概念有一个混淆的概念。我们将用一些实际的例子来帮助你理解它们。

结合shell

在绑定shell中,攻击者直接从Kali连接到已经启动侦听器的受害者机器(参见图5.2)。对于这个场景,我们将使用Netcat来完成这项工作。这个工具对于实施渗透测试、捕获标记(CTF)挑战和认证考试(如OSCP)非常方便。我们将直接从攻击者Kali主机连接到Windows10目标主机。

如果您想在您的终端上进行相同的练习,可以在Kali上保存在/usr/share/ Windows -binaries/nc下的Netcat二进制文件。exe。复制nc。exe文件到您的Windows主机以重现结果。接下来,使用-1选项在监听模式下运行Netcat;此外,使用端口9999侦听传入的连接。之后,使用-e开关将命令行输出重定向到远程连接:

反向shell

反向shell是渗透测试人员最喜欢的选择,您将在本书中读到很多关于它的内容。该方法与bind shell相反。在此场景中,攻击者正在侦听来自任何受害者的传入连接。这里有一个秘密:在反向shell连接中,防火墙通常会允许流量通过。另一方面,防火墙可以使用bind shell阻止来自外部的任何传入连接。这就是为什么在社区中经常使用反向shell的原因。

让我们再次使用Netcat练习反向shell场景。首先,在主机上执行Netcat侦听器(本例中为Kali)。使用端口8888侦听传入的连接:

nc -nlvp 8888

接下来,切换到受害者的Windows主机并连接到端口8888上的侦听器。Kali虚拟机的IP地址为192.168.247.130。

让我们回到我们的卡莉宿主,我们应该看到一个成功的反向壳。

使用SET的反向Shell

posted @ 2023-10-19 18:12  YJlio  阅读(30)  评论(0)    收藏  举报  来源