一次性进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:16004488
微信公众号:计算机与网络安全
ID:Computer-network
工欲善其事,必先利其器。工具是否合适将直接影响社会工程人员的能力和成败。然而,仅有工具还远远不够,还得知道如何熟练地使用工具,这样才能取得成功。
信息收集是社会工程的一个关键方面。若在这一点上投入的精力不足,可能会导致社会工程行动的失败。现在,社会工程人员可以通过多种工具来收集、分类以及运用信息。
这些工具完全改变了社会工程人员查看和使用数据的方式。他们将不再局限于使用常规的搜索方式找寻数据,这些工具为他们打开了互联网的资源之门。
一、Maltego
收集和分类信息可能是很多社会工程人员的薄弱环节。如果存在一个工具,它可以同时对一个域名、IP地址,甚至是一个人进行几十种搜索;能提示各项信息的权重,显示信息重要与否;有一个GUI界面,可以用不同颜色表示不同的对象,可以导出利用;最重要的是有免费的版本可用,怎么样?
Maltego就是社会工程人员梦想的工具。这个神奇的工具是由Paterva公司(www.paterva.com)的员工开发的。Maltego有一个免费的社区版本,可以从他们的网站下载,BackTrack4的每一个版本中都集成了Maltego程序。如果想要解除免费版在功能上的限制,如可转换的次数及保存数据,花费大约600美元就可以得到完整的授权。
将Maltego视为一个信息的关系型数据库,能发现互联网上信息之间的联系(在应用中称为实体)。Maltego在后台做了很多工作,如挖掘电子邮件地址、网站、IP地址和域信息。举例来说,点击几下鼠标你就可以通过目标域名自动地搜索到所有相关电子邮件的地址信息。只需在屏幕上简单地增加“电子邮件”转换器,输入想要搜索的电子邮件地址,就可以得到下图所示的效果。
Maltego收集的信息展示
使用Maltego的原因:Maltego能自动采集大量信息并为用户实现数据的自动关联,可以为用户节省数小时的搜索时间,并展示信息的关联图。Maltego真正的强大之处在于找到这些数据之间的关系。尽管数据挖掘很有用,但是展示信息之间的关系对社会工程人员更有价值。
二、社会工程人员工具包
社会工程人员花费了大量时间来完善自身的技能,然而,许多攻击方式需要通过创建附加恶意代码的邮件或PDF文档来实现。
这些事情都可以利用BackTrack中包含的诸多工具来手动完成。起初搭建www.social-engineer.org网站的时候,作者决定创建一些简单的Python脚本,让社会工程人员可以创建附加恶意代码的PDF文件并随邮件发送。于是社会工程人员工具包(Social Engineer Toolkit,SET)就诞生了。至今,SET已经被下载了上百万次,而且很快成为社会工程人员审计时配备的标准工具包。下面将介绍SET的主要特点及使用方法。
1、安装
安装步骤十分简单,只需安装Python和Metasploit框架。这两个软件在BackTrack发行版中已经存在,所以不用担心。BackTrack 4甚至已经包含了SET。如果需要从头开始安装,过程也十分简单。依据导航进入安装目录,在控制台窗口上运行如下命令:
svn co http://svn.secmaniac.com/social_engineering_toolkit set/
执行完命令之后,将得到一个名为set的目录,该目录下包含了所有SET工具。
2、运行SET
运行SET的过程也很简单。只需在set目录下输入./set,就会启动初始SET菜单。
请访问www.social-engineer.org/framework/Computer_Based_Social_Engineering_Tools:_Social_Engineer_Toolkit_%28SET%29,这里有SET菜单的完整展示图,以及对每个菜单选项全面、深入的介绍。接下来介绍SET中两个最常用的功能。
首先讨论鱼叉式网络钓鱼攻击,然后讨论网站克隆攻击。
(1)鱼叉式网络钓鱼
网络钓鱼是一个术语,描述恶意诈骗犯如何通过定向设计的电子邮件“广泛撒网”,吸引人们访问特定的网站、打开恶意文件或者输入个人敏感信息,为以后的攻击做准备。要在今天的互联网世界生存,必须能够检测并防御此类攻击。
社会工程审计人员使用SET可以创建有针对性的电子邮件对客户进行测试,然后记录有多少雇员上当了。这个信息随后可用于培训,以帮助员工识别和避免这些陷阱。
使用SET进行鱼叉式网络钓鱼攻击,选择选项1。选择1后,会看到如下几个选项:
执行群发邮件攻击
创建一个文件格式负载
创建一个社会工程模板
要进行邮件式钓鱼攻击,选择第一个选项。第二个选项用于创建一个恶意的PDF或其他文件,以备作为邮件附件发送。第三个选项用以创建模板,待日后使用。
在SET中发起攻击十分简便,只需选择正确的菜单选项然后点击启动。例如,如果我想发动邮件攻击,向受害者发送伪装成技术报告的恶意PDF文件,我会选择选项1——执行群发邮件攻击。
接下来,我会选择一个攻击向量(选项6),这种攻击对很多版本的Adobe Acrobat Reader软件都有效——应用了Adobe util.printf() Buffer Overflow漏洞。
接下来几个选项会设置攻击的技术问题。点击选项2——Windows Meterpreter Reverse_TCP。使用Metasploit接收反向会话或者受害者电脑的IP和端口,以避免入侵检测系统(IDS)或其他系统的报警。
选择443端口,使数据流看起来好像是加密的SSL数据。SET会创建恶意PDF文件并设置监听功能。
执行上述步骤后,SET会询问是否要更改PDF的文件名,例如改成类似TechnicalSupport.pdf等更加隐蔽的名称,然后输入邮件信息以备收发。最后,SET发出一封看起来很专业的电子邮件,引诱用户打开附件中的PDF文件。受害者收到的邮件如下图所示。
一封无害的电子邮件与一个简单的附件
邮件发送之后,SET会创建一个网络监听器等待目标打开文件。一旦目标点击了PDF,监听器就会执行恶意代码,让攻击者得以进入受害者的计算机中。
真是惊人(也许有人并不这样认为),所有这一切只需点击六七下鼠标,审计者便可将精力集中在攻击中真正的社会工程方面了。
这是一个破坏性很强的攻击,因为它利用了客户端软件的漏洞,而且在大多数情况下,屏幕上不会出现任何提示。
这只是应用SET可以发动的众多攻击中的一种。
(2) Web攻击
SET也允许审计人员克隆任何网站并在本地运行。这种攻击类型的强大之处在于可以让社会工程人员以多种方式诱骗他人访问克隆网站并从中获利。社会工程人员既可以伪装成更新网站的开发者,也可以仅仅对网址进行细微的修改(填加或删除一个字母),最终诱使他人访问克隆的网站。
一旦有人访问了克隆网站,社会工程人员便可以发动多种不同的攻击,包括信息收集、证书收集和直接入侵等。
要在SET中运行此攻击可从主菜单中选择选项2(网站攻击),选择之后,可以看到以下几个选项:
Java Applet攻击方法
Metasploit浏览器的入侵模式
证书获取的攻击方式
标签绑架攻击方法
中间人攻击方式
回到前面的菜单
选项1中的Java Applet攻击是一种特别邪恶的攻击。一般情况下,Java Applet攻击会在用户界面上弹出一个Java安全警告,说该网站已被ABC公司签名,并让用户同意这一警告。
进行这种攻击,先选择选项1,然后选择选项2——网站克隆(Site Cloner)。
选择网站克隆的时候,需要输入你想克隆的网站地址。这里可以选择想克隆的任何网站——客户的官方网站、客户供应商网站或者政府网站。正如你所想象的,重点在于选择一个对目标有意义的网站。
在这个练习中,假设是克隆Gmail网站。屏幕上会显示如下信息:
SET supports both HTTP and HTTPS
Example: http://www.thisisafakesite.com
Enter the url to clone: http://www.gmail.com
[*] Cloning the website: http://www.gmail.com
[*] This could take a little bit...
[*] Injecting Java Applet attack into the newly cloned website.
[*] Filename obfuscation complete. Payload name is: DAUPMWIAHh7v.
exe
[*] Malicious java applet website prepped for deployment
上述工作完成之后,SET会询问你想要在自己与被害者之间创造什么类型的连接。要想使用本书讨论的技术,选择Metasploit的反向会话界面,也就是Meterpreter。
SET为负载加密提供了多种选项,这是为了避开反病毒系统的检测。
下一步,SET启动内嵌的网站服务器为克隆网站提供服务,同时启动监听器准备捕获浏览该网站的受害者。
现在只需要社会工程人员构造一封电子邮件或给目标打个电话,让目标访问该假冒的网站。最后,用户会看到如下图所示的界面。
谁会不相信微软签名的小程序呢?
最终结果是,一个Java Applet出现在用户面前,告诉他该网站已被微软签名,他需要允许安全证书运行,才能继续访问网站。
只要用户允许了该安全证书,攻击者就可以立刻入侵他的计算机了。
3、SET的其他特性
SET是具有实战思维的社会工程人员开发出来的,所以工具集所提供的都是审计过程中常常会用到的攻击方法。
SET在不断更新和发展。除网站克隆和网络钓鱼攻击之外,SET又增加了一些其他的攻击方式,还增加了一个传染性媒体生成器。传染性媒体生成器允许用户创建带恶意文件的DVD、CD或USB,这些传染源可以混杂在目标对象的办公大楼里。当它们被插入计算机时,将触发恶意负载程序的执行,从而开启受害人机器的入侵之门。
SET也能创建简单的负载和相应的监听器。如果社会工程人员想要通过一个提供反向会话功能的EXE可执行程序连接回他的服务器,可以在审计过程中携带一个U盘。如果面前的机器是他想要远程访问的,便可将U盘插入,导入负载文件,然后点击运行。这样可以在目标机器和自己的机器之间建立起一个快速连接。
有一种较新的攻击方式叫Teensy HID攻击。Teensy设备是一个小的可编程电路板,可嵌入键盘、鼠标或其他可插入电脑的电子设备。
SET可对Teensy编程,设置这个小电路板在插入电脑时将执行何种命令。常见的命令包括创建反向会话或监听端口等。
SET的最新特性之一是提供了一个Web界面。这意味着SET会自动启动Web服务器程序,从而更易于应用。下图显示了这个网页界面的概貌。
SET的新Web界面
SET是一款强大的工具,它能帮助社会工程审计人员测试出公司存在的常见弱点。SET工具的开发者总是善于听取他人的意见,在工具中增添新的应用,使得其不断完善、越来越流行。如果想更深一步了解这个强大的工具,可以登录www.social-engineer.org网站,上面包含每个菜单选项的详细说明。在使用过程中,可以通过www.social-engineer.org和www.secmaniac.com这两个网站不断更新SET。
三、基于电话的工具
社会工程书籍中最早介绍的工具之一就是电话。如今,随着手机、网络语音以及自制电话服务器的出现,社会工程人员使用电话的方式越来越多样。
社会工程人员需要熟练掌握电话的使用技巧以便进行成功的审计,因为人们经常会受到电话销售、推销和广告的骚扰。尽管有一些限制,但作为社会工程的工具,电话还是可以用来在短时间内搞定一家公司的。
在一个人人都有手机的时代,人们会在公共汽车、地铁或者其他公共场合,使用手机接打私人电话或进行深入的交谈,使用手机的方式多种多样。利用手机进行窃听或与目标直接通话,这些攻击方式在过去是不可能实现的。随着市场上智能手机和具有计算机功能的手机日益增多,越来越多的人在手机上储存密码、个人数据和私人资料。这为社会工程人员通过不同场合接触目标、获取数据打开了一扇新的大门。
如果拨号者可以通过某种“方式”提高其可信度,那么每天24小时开机就增加了信息泄露的几率。例如,如果来电显示表明电话是从公司总部打来的,则许多人会毫不犹豫地提供信息。苹果和安卓智能手机都有可供利用的应用程序,可以将来电显示号码篡改成任何号码。利用类似SpoofApp(www.spoofapp.com)的应用程序,社会工程人员能够以较低的成本将拨出的号码伪装成从任何地方打来的电话号码。这一切都将提高伪装的可信度。
社会工程中电话的使用可以分为两个不同的领域:背后的技术和编造的借口。
1、篡改来电显示
来电显示在商务和家用电话中都已成为一项普遍的技术,特别是在当前手机普遍取代固定电话的情况下,来电显示已成为日常生活的一部分。成功的社会工程人员必须意识到这一事实并且知道如何加以利用。
来电显示篡改主要是篡改目标的来电显示信息。换句话说,尽管你使用某一号码拨号,但显示在对方屏幕上的却是另一个号码。
利用该技术的一种方法是伪装成在垃圾箱里找到的目标公司的供应商的号码。如果社会工程人员发现ABC公司是目标的计算机技术支持单位,就可以找到该公司的号码,在打电话跟目标预约下午见面时伪装该号码。通过篡改来电显示,你可以伪装成以下机构或个人:
远程办公室
办公室内部
合作伙伴
公用事业/服务公司(电话、水、网络及专业灭虫人员等)
上司
快递公司
到底怎样篡改来电显示呢?下面将讨论一些可供社会工程人员使用的方法和设备。
2、SpoofCard
最流行的一种篡改来电显示的方法是使用SpoofCard(www.spoofcard.com/)。使用这种卡,可以假冒随卡提供的800个号码,输入PIN码和希望显示的号码,然后输入想拨打的电话号码就可以了。
SpoofCard的一些新特性也很有用,比如对通话内容进行录音、伪装成男声或女声等。这些特性大大提高了拨号者的伪装能力,社会工程人员可以借此欺骗对方提供其所需要的信息。
从另一方面来说,SpoofCard简单易用,除了电话不需要其他额外的硬件或软件,并且有成千上万的用户证实了它的有效性。SpoofCard唯一不好的一点就是需要付费购买。
3、SpoofApp
很多人都在使用苹果、安卓等智能手机,这些手机上都有大量的应用可以用来伪造来电显示。SpoofApp将SpoofCard技术实现在了软件包中。
不用真的拨打指定的号码,只需在应用程序中输入想要拨打的电话号码,然后输入想要显示的号码,SpoofApp就会和目标建立连接,而目标电话上显示的就是你输入的想要显示的号码。所有操作只需点击几下按钮即可完成。
4、Asterisk
如果有一台多余的计算机和一个VoIP服务,也可以使用Asterisk服务器来篡改来电显示。可以在www.social-engineer.org/wiki/archives/CallerIDspoofing/CallerID-SpoofingWithAsterisk.html页面上找到一些有关这种手段的信息。Asterisk服务器的运行机制与SpoofCard非常相似,只是用于篡改来电显示的服务器不一样。在这种情况下,你使用的是自己的服务器。这一点很有吸引力,因为它提供更多的自由并且不必担心线路中断或时间耗尽。
Asterisk的优点在于免费、安装好后使用简单并具有很大的灵活性,你可以自己控制它。缺点在于不仅需要额外的计算机或虚拟机,还需要知道如何使用Linux,此外还需要一个可用的VoIP服务提供商。
使用Asterisk的最大好处就是,有关呼叫方和被叫方的信息完全由社会工程人员自己控制。个人信息和账号数据不在第三方手中。
5、使用脚本
电话是社会工程人员最喜爱的工具。只需稍稍改变一下伪装,社会工程人员就能在不泄露身份的情况下攻击很多目标。
在使用电话进行社会工程活动的过程中,必须考虑使用脚本。脚本是电话社会工程中必不可少的部分,它能确保所有需要的要素都被涵盖和涉及。不过,脚本不是按部就班的演讲稿。对目标来说,没有什么比对方像背台词般说话更不快的了。
写完脚本之后,应该反复练习,这样才能令你听上去真实、真诚、可信。
这就是信息收集至关重要的原因。信息收集得越全面,脚本编写也就越清晰。我发现掌握目标的一些兴趣和爱好很有帮助,这样更易于构建共识。
搜集的信息充足有助于你勾勒出攻击计划。使用脚本或大纲(而非照本宣科的草稿)可以让你流利且自然地与对方交流,而且在应对意外状况时也能从容镇定。
电话仍然是社会工程人员十分重要的工具。
四、密码分析工具
另一组不得不提的工具就是密码(口令)分析工具,它们能帮助你分析目标及其可能使用的口令。在目标信息收集完成之后,下一步就是分析其可能使用的口令和攻击他的方式。社会工程人员可以构建一个潜在的口令列表用于暴力破解。从工具的角度来看,构建可能的口令列表可以加速攻击。下面将介绍几个可用的密码分析工具。
为了完成任务,密码分析工具可能需要持续运行几小时甚至几天。
尽管发出了很多警告,但每年遭到简单攻击的人数仍在不断上升。在网上公开个人信息的人数是惊人的,公开的信息各种各样,关于自己、家庭以及生活琐事等。基于人们在社交媒体上泄露的信息,以及在网络上可以找到的其他信息,凭借下面讨论的工具,社会工程人员甚者能勾勒出某些人的全部生活。
密码分析卓有成效的原因之一是人们选择密码的方式。实践证实很多人反复使用相同的密码。更糟糕的是很多人使用的密码很容易猜测,而且不需要什么技巧。
BitDefender(一家网络安全公司)的一项研究证实了这一点。BitDefender分析了25万多名用户使用的密码,结果十分惊人:其中75%的用户所使用的邮箱密码和社交媒体账户的密码是相同的。再想想近期有1.71亿Facebook用户的个人信息被人以P2P种子的方式发布到网上,这多么恐怖啊。完整的文章内容参见www.securityweek.com/study-reveals-75-percent-individuals-use-same-password-social-networking-and-email。
2009年,一名昵称为Tonu的黑客做了一项很有趣的研究。通过获取某个流行社交网站近期弃用的URL,他伪造了页面,对试图登录的人进行了一段时间的记录。不过他这样做并没什么恶意。
你可以在www.social-engineer.org/wiki/archives/BlogPosts/MenAndWomenPasswords.html看到研究结果。
其中的一些信息甚至震惊了资深的社会安全专家。在734 000人中,有30 000人使用自己的名字作为密码,有约14 500人使用他们的姓氏作为密码。更惊人的是下面的统计数字,最常使用的8个密码如下表所示。
17 601位男性使用的密码是123456?真是令人震惊啊。
如果这还不够令人震惊,再看看Tonu公开的统计数据吧:66%以上的用户使用的密码长度为6到8个字符。由于大多数人使用的都是弱口令,通过使用流行的密码破解工具,例如下图中展示的“Cain and Abel”,社会工程人员破解这些弱口令并非难事。
破解弱口令只需要3天
请注意剩余时间栏写着3.03909天。对大多数黑客来说,三天就能获得服务器的访问权限算是短的了。难道用三天获取管理员密码算很长吗?
为使这一信息真正切中要害,请看下图。如果同一个用户使用14~16个字符的密码,其中包含大小写字母和非字母字符,破解所需要的时间就不是一般地长了。
剩余时间栏已经增加到几万亿年
超过5万亿年够长吗?仅仅通过将密码长度增加到14位,并使用一些非基本的字符(即*、&、$、%和^),黑客通过暴力破解获得密码就会变得几乎不可能。
由于许多用户不会设置如此复杂的密码,找到他们所使用密码的弱点并不困难。某些工具(下面将会介绍)可以帮助分析用户可能会选择的密码。
1、通用用户密码分析工具
成功社会工程审计的一项重要工作就是对目标对象进行分析。前面给出的Tonu研究案例显示:734 000人中有228 000人以上只使用6位字符的密码,其中超过17 000人的密码是123456,大约4600人使用password作为密码。
通用用户密码分析工具(Common User Password Profiler,CUPP)使得密码分析工作更加简单。
Muris Kurgas,或称为j0rgan,开发了这个神奇的小工具。它是包含在BackTrack渗透测试工具中的一个脚本,也可以通过www.social-engineer.org/cupps.tar.gz下载。
最普遍的认证形式是用户名加密码或口令短语。如果两个值都与本地存储表中的值匹配,用户就可以成功访问。密码的强度就是猜测、使用加密技术或自动化测试库破解密码的难度。
弱口令可能非常短或只使用数字和字母字符,这样就很容易破解。弱口令也很容易被那些对用户进行分析的人猜到,比如生日、昵称、住址、宠物或亲属的名字,或者God、love、money及password等常用单词。
由于大多数用户使用容易猜到的弱口令,因此CUPP是一个完美的分析工具,它可以用于合法的渗透测试和犯罪取证调查。
以下源自BackTrack 4中使用CUPP会话的内容。
root@bt4:/pentest/passwords/cupp# ./cupp.py -i
[+] 输入对象信息以生成字典[小写!]
[+] 如果不知道相关的信息,只需输入回车!;)
> 名字:John
> 姓氏:Smith
> 昵称:Johnny
> 生日 (DDMMYYYY; i.e. 04111985):03031965
> 配偶名字:Sally
> 配偶昵称:Sals
> 配偶生日 (DDMMYYYY; i.e. 04111985):05011966
> 子女名:Roger
> 子女昵称:Roggie
> 子女生日 (DDMMYYYY; i.e. 04111985):05042004
> 宠物名:Max
> 公司名:ABC Paper
> 还要加入一些与目标有关的关键词吗? Y/[N]: Y
> 请输入每个词,以逗号分隔 [i.e. hacker, juice, black]: christian,polish,sales person
> 需要在每个词的尾部加入特殊字符吗? Y/[N]: N
> 要在每个词的尾部添加一些随机数吗? Y/[N]n
> 黑话模式?(i.e. leet = 1337) Y/[N]: Y
[+] 现在生成字典……
[+] 排序并移除重复字符……
[+] 字典保存到文件中,共生成13 672个密码
[+] 现在你可以使用了,祝好运!
请注意,根据所提供的资料最后创建了包含13 672个密码的字典文件。此类工具的作用在于减少了社会工程人员猜测密码的工作量。
2、CeWL
据其开发者描述,CeWL是一个Ruby应用程序,它可以通过给定的URL进行指定深度的搜索,并可扩展到外部链接,最终生成一个可用于密码破解的字典文件,John the Ripper等密码破解工具可以使用这个字典进行密码破解。有关CeWL的更多资料请参见www.digininja.org/ projects/cewl.php。下面看一下在BackTrack 4中使用的情况。
root@bt:/pentest/passwords/cewl# ruby cewl.rb
--help cewl 3.0 Robin Wood (dninja@gmail.com)
(www.digininja.org)
Usage: cewl [OPTION] ... URL --help, -h: show help --depth x, -d x: depth to spider to, default 2 --min_word_length, -m: minimum word length, default 3 --offsite, -o: let the spider visit other sites --write, -w file: write the output to the file --ua, -u user- agent: useragent to send --no-words, -n: don't
output the wordlist --meta, -a file: include meta data, optional output file --email, -e file: include email addresses, optional output file --meta-temp-dir directory: the temporary directory,default /tmp -v: verbose URL: The site to spider.
root@bt:/pentest/passwords/cewl# ./cewl.rb -d 1 -w pass.txt http://www.targetcompany.
com/about.php
root@bt:/pentest/passwords/cewl# cat passwords.txt |wc -l 430
root@bt:/pentest/passwords/cewl#
这是针对某个目标公司网站使用CeWL的案例,从其网站的一个网页中产生了430个可能的密码。
CUPP和CeWL只是用来帮助分析和生成潜在密码的两个工具。运用这些工具做一个有趣的实验,输入自己的信息,看看你的密码是否能够被生成。这样会使你清醒地认识到密码安全的重要性。
五、结语
工具是社会工程的一个重要方面,但工具本身不足以成就社会工程人员。仅有工具是没有用的,掌握工具的功能并实际运用才是重点。
本文的核心主题在于熟能生巧。无论是使用电话、基于软件的工具、网络还是其他间谍工具,练习使用才是成功的基石。例如,在社会工程活动中使用电话时,可以篡改来电显示甚至变换说话的声音。然而,如果在使用这些神奇的技术时,你的声音听起来过于生硬、紧张、不安或者准备不足、言之无物的话,那么你所期望的成功就会落空,并且很有可能让一切变得不可信。这项原则在应用伪装技术时同样非常适用。你要伪装的那个人如何谈吐?他会说什么?他会怎么说?他掌握了什么样的知识?他会询问什么样的信息?
不管社会工程人员使用软件工具、硬件工具,还是两者都用,都应该花时间去学习每个工具的详细功能,因为工具的每个特征都会影响审计工作的成败。
工具能节省大量的审计时间,并可弥补审计人员潜在的不足。
微信公众号:计算机与网络安全
ID:Computer-network
【推荐书籍】