社会工程学与物理攻击
一次性进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:16004488
微信公众号:计算机与网络安全
ID:Computer-network
在渗透测试和真实攻击中,社会工程学是最有效的攻击方法之一,特别是在与目标系统的物理访问相结合的时候。
作为一种支持攻击杀链的攻击路径,社会工程学关注的是非技术方面的攻击,具体来说就是利用人的信任关系或者内部人员的帮助,通过欺骗的手段入侵一个网络及其资源。
社会工程学攻击能够成功的关键因素有以下两个:
在侦察阶段获取的信息,攻击者必须知道目标的名称和用户名称;更重要的是,攻击者要弄清楚目标网络中用户所关注的东西。
弄清楚如何利用这些信息,劝说可能的目标点击某个链接或者执行某个程序,从而进行攻击。例如,如果目标企业与之前的竞争对手合并不久,那么员工的工作安全就是最受关注的。因此,标题的内容与上述话题有关的邮件或者文档,更容易被目标企业的员工打开。
Kali Linux提供了一些工具和框架,再利用社会工程去影响受害者,使其打开文件或执行某些操作时,这些工具和框架能够增加成功的机会。在提供的实例中,包括了脚本攻击(例如Visual Basic、WMI和PowerShell脚本)、使用Metasploit框架生成的可执行文件和浏览器攻击框架(The Browser Exploitation Framework,BeEF)。
一、社会工程工具包
社会工程工具包(SEToolkit)由David Kennedy(ReL1K)设计并开发,并由一群活跃的合作者进行维护(www.social-engineer.org)。该工具包是开源的python驱动(python-driven)框架,主要为协助社会工程攻击而设计。
SEToolkit的一个重要的优点在于它可以和Metasploit框架进行相互连接,而Metasplot框架提供了攻击,通过加密绕过防火墙,以及当目标系统返回shell时进行连接的监听等模块所需要的平台。
在运行SEToolkit之前,可能需要对配置文件进行一些必要的修改。
社会工程工具包的预配置使用一般的默认设置,这些配置可以进行修改,以适应工具在特殊的攻击场景中的使用。在Kali linux中,配置文件的路径为“/usr/share/set/config/set_config”。通过对配置文件进行修改,可以改变以下功能:
Metasploit的变量,包括路径、使用的数据库、一个载荷被编码的次数、建立一个meterpreter会话后需要自动执行的命令等。
Ettercap和dsniff开关,用于协助进行DNS重定向攻击,窃取认证所需的证书。通过对DNS的控制,攻击者可以将一组用户的网站访问转移到一个由SEToolkit生成的网站。
sendmail和其他邮件程序的配置,用于为攻击提供伪造的email地址,通过使用可信的email地址,例如同一个公司中职位较高的管理人员的email地址,使得社会工程攻击更容易被相信。
邮件提供商的设置,例如Gmail、Hotmail和Yahoo。
使用伪造的发布者、活跃的SSL认证和窃取得到的数字签名,创建自签名的Java小程序。
其他变量,例如IP地址、端口分配、编码参数等。
为了在Kali的发行版中打开社会工程工具包(SET),可以进入以下路径“Applications/Kali Linux/Exploitation Tools/Socail Engineering Toolkit/setoolkit”,或者在命令行中输入“setoolkit”。打开SET后,首先会看到如下图所示的主界面。
社会工程工具包SEToolkit主界面
如果选择社会工程攻击(“1)Social-Engineering Attacks”),会出现如下图所示的子菜单。
SEToolkit的Social-Engineering Attacks子菜单
以下对社会工程攻击做简单介绍:
网络钓鱼攻击向量(Spear-Phishing Attack Vector),攻击者创建邮件信息,并使用附加漏洞将信息发送给目标受害者。
网站攻击向量(Website Attack Vectors),使用多重基于Web的攻击,包括:
Java小程序攻击方法(Java Applet Attack Method),伪造一份Java证书,并且运行一个基于Metasploit的载荷。该攻击是最成功的攻击之一,可以有效地针对Windows、Linux和OSX目标进行攻击。
Metasploit浏览器利用方法(Metasploit Browser Exploit Method),使用iFrame攻击,运行一个Metasploit载荷。
凭据收割机攻击方法(Credential Harvester Attack Method),对网站进行复制,并且通过对POST参数进行重写,使得攻击者可以拦截并且窃取用户的凭证。当窃取完成后,将受害者重定向回原来的网站。
标签钓鱼攻击方法(Tabnabbing Attack Method),对一个非活动的浏览器标签页面进行复制,修改复制后的页面,使其与攻击者相连接,最后使用该页面替换原有标签信息。当用户登录该页面时,用户的凭证将会发送给攻击者。
网页顶进攻击方法(Web Jacking Attack Method),使用iFrame替代,合法地将某些URL连接设置为高亮度。当该链接被点击时弹出一个窗口,该窗口连接到一个恶意链接。
综合攻击网页方法(Multi-Attack Web Method),允许一个攻击者选择若干,或者全部可以同时使用的攻击手段,包括Java小程序攻击方法、Metasploit浏览器攻击方法、凭证收割攻击方法、标签钓鱼攻击方法,以及中间人攻击方法等。
介质感染攻击发生器(Infectious Media Generator),生成一个autorun.inf文件和Metasploit载荷。一旦受感染USB设备或者物理介质(CD或DVD)插入到目标系统,会自动运行(前提是开启autorun选项)并且感染(compromise)目标系统。
创建负载并进行监听(Create a Payload and Listener)模块,是创建一个Metasploit载荷的快速菜单驱动方法。攻击者必须使用单独的社会工程攻击欺骗目标运行该模块。
大规模邮件攻击(MassMailer Attack),允许攻击者使用多个用户向某个email地址,或者一组接收者发送邮件。
基于Arduino的攻击向量(Arduino-Based Attack Vector),通过对基于Arduino的设备写入程序实现,例如Teensy。因为,这些设备在物理连接Windows操作系统时,注册为USB接口的键盘设备,因此可以禁用autorun,或者对其他的终端进行安全保护。
短信欺骗攻击向量(SMS Spoofing Attack Vector),可以让攻击者向某人的移动设备发送自定义的短信服务(Short Message Service)文本,并且对消息的来源进行伪造。
无线接入点攻击向量(Wireless Access Point Attack Vector),可以在攻击者的操作系统中创建一个伪造的无线接入点和DHCP服务器,并且将DNS解析请求重定向到攻击者的系统。攻击者随后可以进行一系列攻击,例如Java小程序攻击或者凭证收割攻击。
二维码生成攻击向量(QRcode Generator Attack Vector),生成一个与攻击的URL有关的二维码。
Powershell攻击向量(Powershell Attack Vectors),支持攻击者进行依赖于PowerShell(所有Windows Vista及其以后版本,拥有的命令行解释器和脚本语言)的攻击。
第三方模块(Third Party Modules),支持攻击者使用远程管理工具汤米版(Remote Administration Tool Tommy Edition,RATTE)作为Java小程序攻击的一部分,或者作为一个独立的载荷。RATTE是一个文本驱动的远程访问工具。
SEToolkit也提供了支持快速跟踪渗透测试(Fast-Track Penetration Testing)的菜单项。快速跟踪渗透测试支持对一些特殊工具的快速访问,例如支持暴力破解认证和SQL数据库密码破解,还有一些基于Python、SCCM攻击向量、Dell computer DRAC/chassis攻击、用户枚举和PSEXEC PowerShell注入等的客户端攻击。
快速跟踪渗透测试菜单项同时也提供对Metasploit Framework、SEToolkit和SEToolkit配置的升级功能。但是,由于Kali并不支持全部的额外选项,而且这些额外选项可能会造成依赖性干扰,因此要尽量避免使用。
SEToolkit也提供了支持快速跟踪渗透测试(Fast-Track Penetration Testing)的菜单项。快速跟踪渗透测试支持对一些特殊工具的快速访问,例如支持暴力破解认证和SQL数据库密码破解,还有一些基于Python、SCCM攻击向量、Dell computer DRAC/chassis攻击、用户枚举和PSEXEC PowerShell注入等的客户端攻击。
快速跟踪渗透测试菜单项同时也提供对Metasploit Framework、SEToolkit和SEToolkit配置的升级功能。但是,由于Kali并不支持全部的额外选项,而且这些额外选项可能会造成依赖性干扰,因此要尽量避免使用。
作为展示SEToolkit的强大功能的第一个例子,将会展示如何获取一个远程shell,通过被入侵系统连接攻击者的系统。
1、网络钓鱼攻击
钓鱼攻击是针对大量受害者的邮件诈骗攻击,例如,对已知的互联网用户列表进行攻击。一般情况下,无法直接连接目标,并且邮件也不针对某个指定目标。相反,邮件一般包含很多人都感兴趣的话题(例如,点击此处购买药品),并且包含恶意链接或附件。出于好奇心,总会有一些人会点击链接或者附件,从而触发攻击。
从另一方面来说,网络钓鱼是钓鱼攻击的一种特殊的方式。通过特殊的方法,手工生成email消息,攻击者希望吸引特定人群的注意。例如,如果攻击者得知销售部门使用特殊的系统管理客户关系,他可以伪造一封来自系统开发商的邮件,主题为“<应用>紧急修复补丁——点击链接下载”。
一般情况下,钓鱼攻击的成功率低于5%,然而,鱼叉攻击成功率的范围达到40%~80%。这也证明了前期信息搜集阶段是该类攻击成功的决定性因素。在平均情况下,每发送10~15封邮件才会有1人进行点击。
在发起攻击之前,要确保Kali中已安装了Sendmail(apt-get install sendmail),并且将配置文件set_config中的SENDMAIL=OFF选项,修改为SENDMAIL=ON。
为了加载一个攻击,从SEToolkit菜单中选择社会工程攻击(Social Engineering Attacks),然后在子菜单中选择网络钓鱼攻击选项(Spear-Phishing Attack Vectors)。此时会加载该攻击的开始选项,如下图所示。
SEToolkit的网络钓鱼攻击子菜单
选择1进行一次大量email攻击,然后会显示多个攻击载荷的列表,如下图所示。
email攻击
最有效的攻击方式之一是选项15)Adobe PDF Embedded EXE Social Engineering(在PDF中嵌入可执行程序的社会工程)。但是,攻击方式的选取随着攻击者对目标的了解而改变,攻击者对攻击目标的了解取决于信息收集阶段。
当攻击者决定选择自己的PDF,或者用一个内嵌的空白PDF文档进行攻击时,如下图所示,选择2加载内嵌空白载荷。然后,攻击者将会被提示选择载荷。
在PDF中嵌入可执行程序攻击
通过在多个网络中测试,发现选项1和选项2是最可靠的载荷(Window Reverse TCP shell(Windows逆向TCP壳)、Windows Meterpreter Reverse TCP(Windows的Meterpreter逆向TCP))。在本次实例中,选择Windows Meterpreter Reverse TCP。在该选项中,当PDF被打开时,会执行一个逆向shell,连接攻击者的系统。
在隐蔽性比可靠性更重要的环境下,Windows Meterpreter Reverse HTTPS(Windows的Meterpreter反向HTTPS)是最佳的选择。
SEToolkit将会提示监听载荷(攻击者的IP地址)和监听端口,默认为443。
下一个菜单提示修改PDF文件的文件名;moo.pdf是默认的名称,如下图所示。
修改PDF文件名
默认的名字不会吸引潜在的受害者打开该文件,而且它可能会被确定为客户端安全。因为这些原因,文件名应改。这个名字应该反映出被攻击的关注趣向。例如,如果你的目标是金融集团,那么可将PDF文件的标题命名为“税法修正案”。
你现在可以选择攻击一个单一的电子邮件地址,或群发邮件(例如,一个目标公司的员工名单,或该公司的特定集团)。以选项1作为一个例子。
SEToolkit会提示使用预定义的模板,或者一次性电子邮件草稿模板。如果您选择了一个预定义的模板,模板提供的选项如下图所示。
使用预定义邮件模板
一种有效的社会工程攻击是针对目标写草稿;因此,选择选项2,使用一次性电子邮件模板(One-Time Use Email Template),创建一个一次性电子邮件模板,如下图所示。
使用一次性邮件模板
你有两种选择发起攻击:(1)用你自己的Gmail账户,(2)使用自己的服务器或开放中继。如果你使用一个Gmail账户,它的攻击可能失败,这时,你将收到以下消息:
[!]Unable to deliver email.Printing exceptions message below,this is most likely due to an illegal attachment.If using GMAIL they inspect PDFs and it is most likely getting caught.(无法发送电子邮件。下面打印异常消息,这最有可能是因为非法附件。如果使用Gmail,他们检查PDF文件,并且,它最有可能被抓。)
Gmail检查发送的邮件的恶意文件,能非常有效地识别setoolkit和metasploit框架产生的载荷。如果你必须使用Gmail发送有效载荷,首先用Veil-Evasion编码。
建议您使用sendmail选项发送可执行文件;进一步,它允许你恶搞电子邮件的来源,使它看起来好像来自受信任的来源。
目标将收到以下电子邮件,如下图所示。
使用一次性邮件模板
为了确保电子邮件是有效的,攻击者应该关注以下几点:
内容应该提供一个“胡萝卜”(新的服务器更快,反病毒措施有改进)和一个“棒”(在你可以访问你的电子邮件之前,你不得不做一些更改)。大多数人都会立即采取行动,特别是在影响到他们的时候。
在前面给出的例子中,所附文件的标题是template.doc。在真实的场景中,这将改变Email instructions.doc。
确保你的拼写和语法是正确的,并且在信息的语调匹配信息的内容。
个人发送电子邮件的标题应该与内容匹配。如果目标的组织很小,你可能要恶搞真正的人的名字,并且发送电子邮件给一个小组,一般不与个人交互。
包含一个电话号码,它能使邮件看起来更“官方”,并且,有不同的使用商业语音的IP解决方案,获得本地区号短期的电话号码。
一旦攻击的电子邮件发送到目标,成功激活(收件人启动可执行文件)将创建一个反向的Meterpreter隧道到攻击者的系统。攻击者会利用Meterpreter和其他工具进行典型的后期利用活动。
2、使用网站攻击向量:Java小程序攻击方法
Java小程序攻击方法(Java Applet Attack Method),是使用一个受感染的Java小程序将恶意应用程序加载到目标系统中。这种攻击受到许多攻击者的青睐,因为它是非常可靠的,它对Windows、Linux、Mac OS X系统都是有效的。
要发动攻击,打开SEToolkit,并从主菜单选择选项2)Website Attack Vectors(网站攻击向量),然后再选择选项1)Java Applet Attack Method,以启动初始菜单,如下图所示。
Java小程序攻击
网页模板的选项有Java Required、Gmail、Google、Facebook、Twitter和Yahoo。Java Required的页面,如下图所示,通常是有效的,因为它直接提示用户,在继续前更新一个重要的软件部分。
Java Required页面
你也可以选择克隆一个现有的网站,比如目标企业网站。
经过选择,攻击者会被提示,是否使用Port/NAT转发,并提供反向连接的攻击机IP地址,如下图所示。
是否使用Port/NAT转发
SEToolkit不能处理好换行,这是常见的,典型的响应将换行并覆盖命令行的一部分。
提供所需的URL后,SEToolkit将启动网站的克隆过程,如下图所示。完成后,应用程序将开始产生有效载荷和支持文件(.jar归档和克隆index.html文件)。
克隆网站
下一阶段包括选择有效载荷。如果隐身是特别重要的,使用选项17选择一个可执行的、已经使用veil编码的载荷,如下图所示。
选择载荷
选择编码选项,绕过在目标系统上的本地杀毒系统;最有效的是第4个选项,Backdoored Executable(后门程序),如下图所示。
选择编码
该应用程序将提示监听端口,然后开始为受害者的机器生成通用端口(53、25、80、443等)的代码,如下图所示。
生成端口代码
接下来是社会工程阶段,攻击者必须说服目标人群连接到监听系统的IP地址。如果目标进入该系统,他们将被定向到该监听器的克隆位置上。
该网站将对目标人群提出安全警告,如下图所示,表明如果要访问该网站,有一个应用程序需要执行。
安全警告
如果此人选择执行该应用程序,则将在其计算机和攻击者的计算机之间形成反向外壳(取决于选定的负载)。
这两种攻击展示了不同的攻击方法,通过这两种方法,SEToolkit使用反向外壳或类似的有效载荷,获得目标计算机的控制权。攻击者可以通过多种方式扩展控制,如使用VNC的有效载荷,或放置一个RATTE。
然而,这些攻击是侵入性的,当它连接到攻击者的机器时,反向外壳可能触发防火墙出口报警。更重要的是,可以反向利用该有效载荷,确定攻击者的信息。
最后,攻击的目标可能不是一个即时的入侵,相反,攻击者可能希望收集用户凭据来支持后续的攻击,或在多个地方的互联网上重用该凭证。下面我们介绍一下凭据收割攻击方法。
3、使用网站攻击向量:凭据收割攻击方法
凭据,通常为用户名和密码,是一个人访问网络、计算系统和数据的依据。攻击者可以使用这种间接信息(登录受害者的Gmail账户,发送电子邮件,帮助攻击受害者的信任连接),或直接攻击用户的账户。这种攻击与广泛重用的凭据用户高度相关,典型情况是,一个用户通常在多个地方重复使用密码。
特别珍贵的是有访问特权的用户凭证,如系统管理员或数据库管理员,它可以提供给攻击者访问多个账户和数据库的凭据。
SEToolkit的凭证收割攻击,使用克隆的网站收集凭据。
要发动攻击,从主菜单中选择Website Attack Vectors(网站攻击向量),然后选择Credential Harvester Attack Method(凭据收割攻击方法)。作为例子,我们将按照菜单选项来克隆一个网站,如Facebook。
接着,目标地址必须发送到预定目标。当目标点击链接或输入IP地址,会出现一个克隆页面,类似于Facebook的登录页面,他们会被提示输入用户名和密码。
一旦这样做,用户将被重定向到普通的脸谱网站,在那里他们将登录到自己的账户。
在后台中,他们的访问凭据将被收集并转发给攻击者。在监听者窗口将看到下面的条目,如下图所示。
收集凭证的监听者窗口
当攻击者已经完成收集凭据后,输入Ctrl+C,在/SET/reports/目录中,将产生XML和HTML两种格式的报告。
类似的攻击选择是Web Jacking Attack(网页顶进攻击)。当受害者打开攻击者的链接时,他们会见到一个页面通知,他们选定的页面已经被删除,如下图所示。
受害者见到的页面
当用户点击链接到新的位置,他们将见到一个克隆页面,似乎是一个与预期相符的页码,如下图所示,该网页将收获他们的登录凭据。
受害者见到的克隆页面
请注意,在URL栏的地址不是谷歌的有效地址,大多数用户都知道,如果他们查看地址,这个地址是错误的。一个成功的利用,攻击者需要一个合适的借口或故事,使受害者接受不寻常的网址。例如,发送一封电子邮件给一组非技术性管理者的目标群,宣称:“本地谷歌邮件网站正在减少邮件系统的延误。”
凭证收割攻击是评估企业网络安全的一个很好的工具。要使其充分发挥作用,该组织必须首先培训所有员工识别和应对网络钓鱼攻击。大约2周后,发送一个企业范围内的电子邮件,包含一些明显的错误(不正确的企业总裁名或包含错误地址的地址块)和一个链接到收获凭据的程序。计算收件人中使用他们的凭据回应的百分比,然后调整培训计划,以减少这一比例。
4、使用网站攻击向量:标签钓鱼攻击方法
标签钓鱼(tabnabbing)利用用户的信任,在一个浏览器打开的标签页中加载一个假网页。通过模拟网页的网站如Gmail、facebook或任何其他网站发布的数据(通常是用户名和密码),一个标签钓鱼攻击可以收集受害者的凭据。社会工程工具包调用凭据收割攻击,如之前所述。
为了发动这次攻击,从一个控制台提示符启动社会工程工具包,然后选择1)Social-Engineering Attacks。在下一个菜单中,选择2)Website Attack Vectors。最后,标签钓鱼攻击通过选择4)Tabnabbing Attack Method来启动。
当攻击被启动时,你将看到有三个选项来生成的假网站,假网站用来收集凭证。攻击者可以让setoolkit导入一个预定义Web应用的列表,克隆一个网站(比如Gmail),或者导入自己的网站。在这个例子中,我们将选择2)Site Cloner(网站克隆)。
这将促使攻击者进入服务器将发布的IP地址,这通常是攻击者的系统的IP地址。然后,攻击者将被提示输入将被克隆的网址。在下图中,Gmail的网站已被选中。攻击者必须使用社会工程,迫使受害者访问地址后,产生返回的行动(例如,缩短URL)。受害者会收到一个消息,该网站正在加载(如在浏览器的不同标签下攻击脚本加载克隆网站,如下图所示)。
加载克隆网站
然后,假网页将被呈现(虚假的IP地址仍然可见)。如果用户输入他们的用户名和密码,数据将被发送到攻击者的监听器。正如你在下图中看到的那样,它捕获了用户名和密码。
标签钓鱼攻击捕获用户名和密码
5、使用网站攻击向量:综合攻击网页方法
“玛丽冰雹”攻击的网站攻击向量就是综合攻击网页方法(Multi-Attack Web Method),它允许攻击者在一次执行几种他们所选的不同的攻击。默认情况下,所有的攻击都是被禁用的,并且攻击者选择一个受害者,如下图所示。
选择多种攻击方法进行综合攻击
这是一个有效的选择,如果不能确定攻击对目标组织的攻击是有效的;攻击者会先选择一名员工进行攻击,确定成功攻击后,再利用这些方法攻击其他员工。
二、使用PowerShell字母数字的shellcode注入攻击曝光
社会工程学工具包还包含基于PowerShell的更有效的攻击,适用于所有微软Vista发布后的微软操作系统。因为PowerShell的shellcode可以很容易地被注入到目标的物理内存中,使用该载体的攻击不会触发病毒警报。
为了使用SEToolkit发起PowerShell的注入攻击,从主菜单选择1)Social-Engineering Attacks。然后从下一级菜单选择10)Powershell AttackVectors。
这会给攻击者四种攻击类型以供选择;例如,选择1,使用PowerShell Alphanumeric Shellcode Injector。
这将设置攻击参数,并提示攻击者输入有效载荷监听器的地址,通常是攻击者的地址。当这个已被输入,程序将创建利用代码,并开启一个本地监听器。
PowerShell展开攻击的shellcode,是存储在/root/.set/reports/powershell/x86_powershell_injection.txt中的。
当攻击者说服受害者在命令提示符下复制x86_powershell_injection.txt文本的内容时,攻击的社会工程行为发生,并执行代码,如下图所示。
PowerShell攻击成功
如下图所示,Shellcode的执行没有触发目标系统上的反病毒报警。相反,当代码被执行时,它在攻击系统上打开了Meterpreter会话,并允许攻击者攻击系统与远程系统交互shell。
Meterpreter会话
三、隐藏可执行文件与伪装攻击者的URL
正如前面的例子所述,在发起一个社会工程攻击,有两个成功的关键因素。首先需要获得一些必要的攻击信息,如用户名、商业信息、网络细节、系统,以及应用等。
然而,大多数的工作努力都集中在第二方面,各具特色的攻击,以吸引目标进入一个位置,打开一个可执行文件,或点击一个链接为目的。
想成功攻击,就要求受害者执行一些攻击生成模块。如今用户对执行未知的软件变得越来越谨慎小心。然而,有一些方法可以增加成功执行攻击模块的可能性,主要包括以下几点:
攻击来自受害者信任和已知的系统,或伪装了的攻击源地址。如果攻击来自于帮助平台或IT支持位置,并声称是一个“紧急软件更新”,软件可能会被执行。
将可执行程序重命名为类似于可信的软件,例如“Java更新”。
将恶意的有效载荷嵌入良性文件,如使用Metasploit的adobe_pdf_embedded_exe_nojs攻击,嵌入到一个PDF文件中。可执行文件也可以绑定到微软Office文件、MSI安装文件,或BAT文件,配置在桌面上默默地运行。
有用户点击下载该恶意可执行文件的链接。
由于SEToolkit使用攻击者的URL作为其攻击的目标,一个关键的成功因素是确保攻击者的URL对受害者是可信的。有几种技术来完成这一任务,包括以下内容:
缩短的URL,使用如goo.gl或tinyurl.com的服务。缩短的网址常见于社会媒体,如Twitter,受害者点击这样的链接时很少使用注意事项。
在社交媒体网站如Facebook或LinkedIn进入链接;网站会创建自己的链接来代替你的,使用目标页面的映像。然后,删除你输入的链接,留下新的社交媒体链接。
在LinkedIn或Facebook上创建假网页。作为攻击者,你应控制内容,并能创造一个令人信服的故事,驱动成员点击链接或下载可执行文件。一个良好的执行页面将不仅针对员工,而且针对供应商、合作伙伴和他们的客户,最大限度地提高社会工程攻击的成功率。
将链接嵌入文件,如嵌入PowerPoint。
要在PowerPoint中嵌入一个链接,启动它,创建一个幻灯片,保存的扩展名为.pps。给出一个目标群体感兴趣的标题,并创建一个通用内容文件。在第一页,插入一个文本框并拖动该框以覆盖该幻灯片的整个表面。点击Insert(插入),然后选择动作标签。在对话框中,单击Hyperlink(超链接)按钮,从下拉菜单中选择URL(网址)。输入用来发动攻击的URL,如下图所示。
在PowerPoint中嵌入链接
当文件被打开时,它开始作为一个全屏幻灯片。由于攻击是通过鼠标发射的,用户在试图关闭该文件时,将发动攻击。
四、使用DNS重定向攻击的升级攻击
如果一个攻击者或渗透测试者,已经侵入内部网络中的一个主机,他们可以使用DNS重定向升级攻击。这通常被认为是一个横向攻击(它侵入的人有大致相同的访问权限),但是,如果捕获了特权人员的凭据,它也可以垂直升级。
在这个例子中,我们将用ettercap作为嗅探器,拦截和记录交换式局域网。它有利于中间人攻击,但是我们将用它来启动一个DNS重定向攻击,转移用户到我们的社会工程攻击的网站。
开始攻击,我们必须首先修改ettercap位于/etc/ettercap/etter.dns的配置文件,重定向查询我们的恶意网站。使用微软网站的样本,在配置文件中发现,并复制同样的细节,直接到目标网站请求的恶意地址,如下图所示。
重定向配置文件
通过键入ettercap–G,在命令提示符下启动图形模式。从Sniff表选项的下拉菜单中选择Unified(统一)嗅闻,如下图所示。
ettercap的sniff选项
当提示选择网络接口时,选择内部网络eth0(你可以看到,当你选择一个不同的接口时,ettercap还将支持无线攻击)。你应该看到,标签菜单已经改变,给你更多选择内容。
在Hosts(主机)选项卡中,从下拉菜单中选择Scan for hosts(主机扫描)。它将进行快速扫描,然后报告说“×主机添加到主机列表”。从Hosts选项卡中,选择Hosts list(主机列表),以查看到可能的目标系统的列表,如下图所示。
ettercap的Hosts list选项
突出显示的系统是你的希望目标(例如,所有位于同一个交换局域网的主机),选择Add to Target 1(添加到目标1)选项卡。
当这样做时,选择Plugins(插件)标签,这将为你提供一个可供使用的ettercap插件清单。选择ec_dns_spoof.so插件,如下图所示。
ettercap的Plugins选项
发动攻击,选择Mitm(中间人)选项卡,并选择下拉菜单中的Arp poisoning(Arp染毒),如下图所示。在选定的系统上,Ettercap将感染地址解析协议表(Address Resolution Protocol table)或缓存。
Mitm选项
当ARP poisoning被选中,你将提供可选参数。选择参数来嗅探远程连接。然后,转到Start选项卡,并选择unified sniffing。
当任何目标系统上的一个用户,试图去Facebook时,他们的缓存表将不提供他们在互联网上的位置。ettercap将转移他们的查询网址,也就是你在配置文件中提供的网址,用户将被定向到由攻击者编写的恶意网页,并受到攻击,如凭证收割。
在任何时候,被攻击的人在他们的浏览器窗口中,看到的都是正确的网址。
DNS重定向可以用于所有的攻击,依靠用户点击URL链接发起攻击,同时适用于有线和无线网络。
五、物理访问与敌对设备
当入侵者用直接的物理设备访问系统和网络时,Kali和SEToolkit也是有利于攻击的。这可能是一个冒险的攻击,因为入侵者可能被细心的人或被监控设备发现。然而,“奖励”可能是丰厚的,因为入侵者可以入侵的系统中有重要价值的数据。
物理访问通常是社会工程的直接结果,尤其是模仿应用。模仿包括以下内容:
一个自称是帮助平台或IT支持的人,只需要通过安装系统升级,就能快速地打扰受害者。
一个小商贩和一个客户聊天,然后假装有某人要聊天,或者去洗手间。
·一个投递员丢弃一个包裹。攻击者可以选择在线购买一套制服;然而,因为大多数人都认为,一身穿着棕色衣服、推着堆满箱子的手推车的人就是UPS的快递员,制服对社会工程不是必要的!
工人穿着工作服,背着一个“工作序号”,他们打印出来的,通常允许进入配线间和其他地区,特别是,当他们声称这是建筑管理者的要求时。
穿着昂贵的西装,夹着一个写字板,来去匆匆。员工会认为你是一个新来的经理。在进行这种渗透时,我们通常会告知人们,我们是审计师,而我们的检查很少受到质疑。
对敌对的物理访问的目标是快速入侵选定的系统,这通常是通过在目标上安装一个后门,或类似的设备。
一个经典的攻击是在系统中放置一个CD-ROM、DVD或USB密钥,让系统自动播放选项安装它;然而,许多组织禁用在网络上自动播放。
攻击者还可以创建带有“有毒诱饵”(poisoned bait)陷阱的移动设备,包含文件的名称,邀请一个人点击文件,并检查其内容。一些例子如下:
带标签的USB钥匙,如员工工资或医疗保险更新。
Metasploit允许攻击者绑定一个有效载荷,如反向外壳,可执行文件,如屏幕保护程序。攻击者可以使用公开可用的企业形象,创建一个屏幕保护程序,并邮寄CD给员工,标有新的endorsed screensaver字样。当用户安装程序时,也安装了后门,它连接到攻击者。
如果你知道员工参加了最近的一次会议,攻击者可以冒充一个供应商,并且发送给目标一封信件,暗示它是供应商给定的后续服务。一个典型的信息是,“如果你错过了我们的产品演示和为期一年的免费试用,请查阅USB钥匙上的幻灯片,单击start.exe文件”。
一个有趣的变种是SanDisk U3 USB钥匙,或Smart Drive(智能驱动)。U3钥匙被预装软件,当插入协助启动批准程序时,启动允许钥匙直接写入文件或注册表信息。u3-pwn工具(KaliLinux|Maintaining Access|OS Backdoors|u3-pwn)从SanDisk U3删除原来的ISO文件,并且用一个敌对的Metasploit载荷代替它,然后编码以避免目标系统的检测。
不幸的是,这些USB设备的支持正在减少,但是,面对相同程度的Metasploit其他工具载荷,他们仍有漏洞。
一个新出现的选项是使用Teensy(一个小型集成电路器件),当插入一个基于Windows的系统时,注册为一个USB键盘。这允许它绕过系统的禁用自动运行或客户端反病毒软件。Teensy可以从亚马逊网上购买,价格约为20美元。
SEToolkit产生的代码,需要通过Teensy变成一个攻击向量,如下图所示。
使用Teensy
一个Teensy配置为一个敌对代理是相当强大的;在企业客户的渗透测试过程中,我们的测试表明,对每个测试网络,100%能感染至少一个系统!
不幸的是,这些设备受到了一个显著的限制,它们只能作自身程序的内容,攻击者或渗透测者在他们入侵的目标上,任何发现的能力都被限制。
为了弥补这一不足,攻击者现在使用微型计算机,如Raspberry Pi,作为攻击向量。
Raspberry Pi攻击向量
Raspberry Pi是一个微型计算机—它的尺寸约8.5cm×5.5cm,但能包含512 MB RAM、两个USB端口和一个以太网端口,采用Broadcom芯片,使用ARM处理器,运行频率700 MHz(可超频至1 GHz)。它不包括硬盘,但使用SD卡进行数据存储。如下图所示,Raspberry Pi约为笔长度的2/3,很容易隐藏在网络中(藏在工作站或服务器后面、放置在服务器柜中,或隐藏在数据中心的地板下)。
Teensy实物图
要将Raspberry Pi配置为攻击向量,以下项目是必需的:
Raspberry Pi模型B,或较新版本。
一个HDMI电缆。
微型USB电缆充电设备。
一种以太网电缆或小型无线适配器。
一个SD卡,10级,至少8GB。
所有的设备通常可以在网上买到,费用总计少于100美元。
为了配置Raspberry,下载Kali Linux ARM的最新版本,并取出源档案。如果你的计算机基于Windows的桌面配置,然后下载并提取Win32DiskImager(http://sourceforge.net/projects/win32diskimager/)。
使用一个读卡器,连接SD卡到基于Windows的计算机,并且打开Win32DiskImager。选择ARM版本的Kali,提前下载和提取kali-custom-rpi.img,并将其写入SD卡。这需要一些时间。
从MAC或Linux系统的独立出来的闪烁的SD卡的指令,在Kali网站上是可用的。
插入新闪烁SD卡到Raspberry Pi,连接以太网电缆,或无线适配器到Windows工作站,通过HDMI电缆连接到显示器,以及使用微型USB电源线供电。一旦通电,它将直接引导到Kali Linux。Raspberry依靠外部电源,没有单独的开关;然而,仍然可以从命令行接受命令关闭Kali。
一旦Kali安装成功,确保迄今为止它使用的是apt-get命令。
确保SSH主机键在不停改变,因为所有的Raspberry Pi的映像具有相同的密钥。使用下面的命令:
同时,确保更改默认的用户名和密码。
下一步是配置Raspberry连接,回到一个攻击者的计算机(使用静态IP地址,或动态DNS寻址服务),固定间隔时间使用cron。
攻击者必须在物理上访问目标的处所,并连接Raspberry到网络。大多数网络自动分配设备的DHCP地址,并且有限地控制对这种类型的攻击。
一旦Raspberry连接到攻击者的IP地址,攻击者可以执行侦察,利用从远程位置使用的SSH命令,对受害者的内部网络进行攻击、渗透、利用。
如果连接了无线适配器,如EW-7811Un,150 Mbps无线802.11b/g/nNano USB适配器,攻击者可以进行无线连接,或者使用Pi发起无线攻击。
六、结语
社会工程学是一种黑客社会学(hacking the human)——利用人们与生俱来的信任和乐于助人的品质来攻击网络及其设备。
在本文中,我们研究了社会工程如何用来促进攻击、收获网络凭据、激活恶意软件,或协助发起进一步的攻击。大部分的攻击依赖于社会工程工具SEToolkit;然而,Kali有几个其他的应用程序,可以改进使用社会工程学的方法。我们还研究了如何进行物理访问,通常需要与社会工程相结合,可以用来在目标网络上放置敌对设备。
微信公众号:计算机与网络安全
ID:Computer-network