社会工程学工具解析
1. 基于电话的工具
电话是社会工程学中最古老的工具之一。如今,随着手机、VoIP 和自制电话服务器的出现,社会工程人员利用电话的方式大大增加。
由于人们每天都会收到大量的电话营销、销售话术和广告,社会工程人员要想在审计中成功使用电话,就需要具备一定的技能。尽管存在这些限制,但将电话作为社会工程工具,有可能在很短的时间内完全攻破一家公司的防线。
在这个人人都有手机的时代,人们会在公交车、地铁或任何公共场所进行私人和深入的对话,电话的使用方式变得多种多样。监听目标的手机通话或者直接给目标打电话,为社会工程人员提供了更多的攻击途径。而且,市场上智能手机和类似电脑功能的手机越来越多,人们开始在手机上存储密码、个人数据和私人信息,这使得社会工程人员在很多情况下都有机会获取目标及其数据。
此外,人们随时在线的状态使得他们更容易在来电者符合某些“标准”时快速提供信息。例如,如果手机来电显示是公司总部的号码,很多人可能会在未核实的情况下就提供信息。iPhone 和安卓智能手机都有可以将来电显示号码伪装成任意号码的应用程序,像 SpoofApp(www.spoofapp.com)这样的应用,能让社会工程人员以较低的成本打出看似来自世界各地的电话,这有助于建立借口的可信度。
使用电话进行社会工程可以分为两个不同的领域:电话背后的技术和通话内容的规划。
1.1 来电显示伪装
来电显示在商业和家庭使用中已经非常普遍,尤其是现在手机逐渐取代了许多固定电话,来电显示成为了日常生活的一部分。成功的社会工程人员必须了解这一事实,并学会利用它。
来电显示伪装本质上是改变目标来电显示上显示的信息。也就是说,虽然你用一个号码拨打电话,但目标的来电显示上会显示另一个号码。
可以利用这种技术伪装成以下地方的来电:
- 远程办公室
- 公司内部办公室
- 合作伙伴组织
- 公用事业/服务公司(电话、水、互联网、灭虫等)
- 上级领导
- 快递公司
以下是一些社会工程人员可以用来伪装号码的方法和设备:
1.1.1 SpoofCard
SpoofCard(www.spoofcard.com/)是最受欢迎的来电显示伪装方法之一。使用这种卡片时,你拨打卡片上提供的 800 号码,输入 PIN 码、你想要显示的来电显示号码,然后输入你要拨打的号码。
SpoofCard 还有一些新功能,比如可以录制电话通话,还能将声音伪装成男性或女性。这些功能有助于隐藏来电者的身份,诱使目标泄露社会工程人员想要的信息。
优点:使用简单,除了手机不需要额外的硬件或软件,并且有数千名客户证明其服务可靠。
缺点:购买成本较高。
1.1.2 SpoofApp
随着越来越多的人使用 iPhone、安卓或黑莓等智能手机,出现了许多用于辅助来电显示伪装的应用程序。SpoofApp 使用 SpoofCard 的功能,并将其集成到手机应用中。
使用时,你只需在应用中输入要拨打的号码,然后输入想要显示的号码,SpoofApp 就会将你连接到目标,并向目标显示你所要求的信息,操作简单,只需点击一下按钮。
1.1.3 Asterisk
如果你有一台闲置的计算机和 VoIP 服务,也可以使用 Asterisk 服务器来伪装来电显示。你可以在 www.social-engineer.org/wiki/archives/CallerIDspoofing/CallerID - SpoofingWithAsterisk.html 上找到有关此方法的一些信息。Asterisk 服务器的工作原理与 SpoofCard 非常相似,不同之处在于你拥有自己的服务器,这提供了更多的自由,不用担心被切断连接或通话时长用尽。
优点:免费,设置后易于使用且灵活,完全由你自己控制。
缺点:需要额外的计算机或虚拟机,需要具备 Linux 知识,并且需要当前的 VoIP 服务提供商。
1.2 使用脚本
电话是社会工程人员常用的工具,它提供了匿名性,并且可以通过稍微改变借口在多个目标上进行练习。
使用电话进行社会工程时,必须考虑使用脚本。脚本可以确保涵盖所有必要的元素,但不应该是逐字逐句的演讲。没有什么比让目标感觉到你在照本宣科更让他们恼火的了。
编写脚本后,你应该反复练习,让自己听起来真实、真诚且可信。信息收集环节在这里至关重要,社会工程人员收集的信息越详细,脚本就会越清晰。了解目标的爱好和兴趣等信息,有助于建立融洽的关系。
当你收集好所有信息后,制定一个攻击计划会很有帮助。例如,在之前提到的印刷公司 CEO 的案例中,需要制定一个计划,明确推销的关键部分、想要强调的要点,以及给自己的提示,如“说话清晰”“别忘了提及慈善事业”“放慢语速”等,这些提示可以让你在通话过程中保持专注。
使用脚本或大纲而不是完整的文稿,可以让你的表达更加流畅自然,在遇到未计划的情况时也能自由发挥。
电话仍然是社会工程人员的有力工具,结合相关原则使用,能为社会工程人员带来成功。
1.3 密码分析工具
人们每年都会收到许多关于密码安全的警告,但仍有越来越多的人成为简单攻击的受害者。很多人会在互联网上公开自己、家人和生活的各种信息,这使得社会工程人员可以通过分析他们的社交媒体使用情况以及在网络上找到的其他信息,勾勒出一个人的全貌。
许多人选择密码的方式也使得密码很容易被破解。研究表明,很多人会反复使用相同的密码,而且很多密码很容易被猜到。例如,BitDefender 对超过 25 万用户的密码使用情况进行分析后发现,75% 的用户在电子邮件和所有社交媒体账户中使用相同的密码。2009 年,黑客 Tonu 的研究也显示,在 73.4 万用户中,有 3 万人使用自己的名字作为密码,近 1.45 万人使用自己的姓氏作为密码。以下是最常用的前八个密码:
| 密码 | 性别 | 用户数量 |
| ---- | ---- | ---- |
| 123456 | M | 17601 |
| password | M | 4545 |
| 12345 | M | 3480 |
| 1234 | M | 2911 |
| 123 | M | 2492 |
| 123456789 | M | 2225 |
| 123456 | F | 1885 |
| qwerty | M | 1883 |
从这些数据可以看出,大多数人的密码都很简单。使用像 Cain and Abel 这样的流行密码破解工具来破解简单密码,对于社会工程人员来说并非难事。如果用户将密码长度增加到 14 - 16 个字符,并包含大小写字母和非字母数字字符,那么黑客通过暴力破解获取密码的可能性几乎为零。
以下是一些帮助分析潜在密码的工具:
1.3.1 常见用户密码分析器(CUPP)
常见用户密码分析器(CUPP)是为了简化密码分析而创建的工具。它由 Muris Kurgan(也被称为 j0rgan)开发,可以作为脚本在领先的渗透测试发行版 BackTrack 中运行,也可以从 www.social-engineer.org/cupps.tar.gz 下载。
以下是在 BackTrack 4 中使用 CUPP 的示例:
root@bt4:/pentest/passwords/cupp# ./cupp.py -i
[+] Insert the information about the victim to make a dictionary
[low cases!]
[+] If you don’t know all the info, just hit enter when asked!
;)
> Name: John
> Surname: Smith
> Nickname: Johnny
> Birthdate (DDMMYYYY; i.e. 04111985): 03031965
> Wife’s(husband’s) name: Sally
> Wife’s(husband’s) nickname: Sals
> Wife’s(husband’s) birthdate (DDMMYYYY; i.e. 04111985):
05011966
> Child’s name: Roger
> Child’s nickname: Roggie
> Child’s birthdate (DDMMYYYY; i.e. 04111985): 05042004
> Pet’s name: Max
> Company name: ABC Paper
> Do you want to add some key words about the victim? Y/[N]: Y
> Please enter the words, separated by comma. [i.e. hacker,
juice, black]: christian,polish,sales person
> Do you want to add special chars at the end of words? Y/[N]: N
> Do you want to add some random numbers at the end of words? Y/
[N]n
> Leet mode? (i.e. leet = 1337) Y/[N]: Y
[+] Now making a dictionary...
[+] Sorting list and removing duplicates...
[+] Saving dictionary to John.txt, counting 13672 words.
[+] Now load your pistolero with John.txt and shoot! Good luck!
最后会创建一个包含 13672 个密码的字典文件,这个工具可以大大减少社会工程中密码猜测的工作量。
1.3.2 CeWL
CeWL 是一个 Ruby 应用程序,它可以对给定的 URL 进行指定深度的爬取,还可以选择跟随外部链接,然后返回一个单词列表,这些单词可以用于像 John the Ripper 这样的密码破解工具。更多信息可以在其网站 www.digininja.org/projects/cewl.php 上查看。
以下是在 BackTrack4 中使用 CeWL 的示例:
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 是帮助分析和生成潜在密码列表的两个工具。你可以尝试使用自己的信息运行这些工具,看看生成的列表中是否包含你使用的密码,这可能会让你更加重视密码安全。
1.4 工具总结
工具在社会工程中很重要,但它们本身并不能造就一个社会工程人员。工具只有在被正确使用时才有价值,掌握如何利用和使用工具的知识才是无价的。
实践是成功的关键。无论是使用电话、基于软件的工具、网络还是其他间谍小工具,练习如何使用它们对于成功至关重要。例如,使用电话进行社会工程时,即使拥有先进的伪装技术和变声技术,如果通话时听起来像在念脚本、紧张慌乱、准备不足或缺乏知识,那么社会工程的成功希望就会破灭,可信度也会丧失。这就要求社会工程人员非常熟悉借口的编造,要思考自己试图冒充的人会如何说话、说什么、怎么说、具备什么知识以及会询问什么信息。
无论是使用软件工具、硬件工具还是两者结合,花时间了解每个工具及其功能的细节,都可能决定审计的成败。工具可以大大缩短审计时间,填补审计人员的不足。
2. 工具使用的综合考量与案例分析
2.1 工具使用的关键要点
在社会工程中运用各种工具时,有几个关键要点需要特别注意。首先,工具的选择要与目标和场景相匹配。比如,若目标是获取某公司员工的密码,使用 CUPP 或 CeWL 这类密码分析工具就比较合适;若要与目标进行直接沟通并获取信息,电话及相关的伪装技术就会派上用场。
其次,对工具的熟悉程度至关重要。以 Asterisk 为例,虽然它有诸多优点,但由于需要额外的计算机或虚拟机以及 Linux 知识,若社会工程人员对这些技术不熟悉,就可能无法充分发挥其优势,甚至在操作过程中出现失误,导致行动失败。
再者,信息的保密性也不容忽视。使用 Asterisk 时,所有通话信息都由社会工程人员自己掌控,避免了个人和账户数据落入第三方手中。而使用一些需要依赖第三方服务的工具时,就需要谨慎考虑数据的安全性。
2.2 案例分析
为了更好地理解工具在社会工程中的应用,我们来看几个具体的案例。
2.2.1 电话伪装案例
假设社会工程人员想要获取一家大型企业的内部网络访问权限。他们首先通过公开渠道了解到该企业使用 ABC Tech 进行计算机支持。然后,利用 SpoofCard 将来电显示伪装成 ABC Tech 的号码,给企业的 IT 部门打电话。
graph LR
A[社会工程人员] -->|使用SpoofCard伪装号码| B[拨打企业IT部门电话]
B --> C[表明是ABC Tech技术支持]
C --> D[以系统维护为由索要网络访问权限]
D --> E{IT部门回应}
E -->|同意| F[获取网络访问权限]
E -->|拒绝| G[调整策略再次尝试]
在电话中,社会工程人员以系统维护为由,向 IT 部门人员索要网络访问权限。由于来电显示是熟悉的技术支持公司号码,IT 部门人员可能会在未充分核实的情况下提供相关信息。
2.2.2 密码分析案例
某黑客组织想要入侵一家小型电商公司的后台系统。他们先使用 CeWL 对该公司的官方网站进行爬取。
root@bt:/pentest/passwords/cewl# ./cewl.rb -d 2 -w ecom_pass.txt http://www.ecommercecompany.com
通过 CeWL 生成了一个包含大量潜在密码的列表。然后,他们又使用 CUPP,根据从社交媒体等渠道收集到的公司老板、员工的基本信息,如姓名、生日、爱好等,生成了另一个密码字典。
root@bt4:/pentest/passwords/cupp# ./cupp.py -i
[+] Insert the information about the victim to make a dictionary
[low cases!]
[+] If you don’t know all the info, just hit enter when asked!
;)
> Name: Tom
> Surname: Brown
> Nickname: Tommy
> Birthdate (DDMMYYYY; i.e. 04111985): 12081990
> Company name: Ecommerce Company
...
最后,他们使用这些密码字典,结合密码破解工具,尝试破解公司后台系统的登录密码。
2.3 应对社会工程工具的防御措施
对于企业和个人来说,了解社会工程工具的使用方法,才能更好地采取防御措施。
2.3.1 电话方面
- 核实身份 :接到重要电话时,不要仅凭来电显示就相信对方的身份。可以通过其他渠道,如公司的官方电话、邮件等,核实来电者的身份。
- 培训员工 :对员工进行社会工程防范培训,让他们了解常见的电话诈骗手段,提高警惕。
2.3.2 密码方面
- 使用强密码 :密码应包含大小写字母、数字和特殊字符,长度不少于 14 位。避免使用与个人信息相关的密码,如生日、姓名等。
- 定期更换密码 :定期更换重要账户的密码,降低密码被破解的风险。
2.3.3 网络方面
- 安装安全软件 :安装防火墙、杀毒软件等安全软件,防止黑客通过网络入侵。
- 监控网络活动 :对网络活动进行实时监控,及时发现异常行为。
2.4 社会工程工具的未来发展趋势
随着技术的不断发展,社会工程工具也在不断演变。未来,可能会出现更加智能化、自动化的工具。例如,人工智能可能会被应用到社会工程中,自动生成更加逼真的借口和脚本。同时,工具的隐蔽性也会不断提高,更难被察觉。
另外,随着物联网的发展,社会工程的攻击目标可能会从传统的计算机系统扩展到各种智能设备,如智能家居、智能汽车等。这就要求我们不断提升安全意识,加强对新技术的研究和防范。
总之,社会工程工具是一把双刃剑,既可以被不法分子利用进行攻击,也可以被安全人员用于安全审计和防范。我们需要正确认识和使用这些工具,不断提升自身的安全防护能力。
2.5 总结
社会工程中的工具种类繁多,包括基于电话的工具、密码分析工具等。这些工具各有优缺点,在不同的场景中发挥着不同的作用。然而,工具本身并不能决定社会工程的成败,关键在于使用者对工具的掌握和运用能力,以及对目标和场景的分析判断能力。
在使用工具时,要注重实践,不断提高自己的技能水平。同时,要遵守法律法规,将工具用于合法的安全审计和防范工作中。对于企业和个人来说,要加强安全意识,采取有效的防御措施,应对社会工程带来的威胁。只有这样,才能在日益复杂的网络安全环境中保护好自己的信息和资产。
通过深入了解社会工程工具的原理、使用方法和发展趋势,我们可以更好地应对各种安全挑战,保障网络空间的安全和稳定。
超级会员免费看

2万+

被折叠的 条评论
为什么被折叠?



