社会工程学入门By:HUC缘生社会工程学(SocialEngineering)社会工程学是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段。取得自身利益的手法,近年来已成迅速上升甚至滥用的趋势。那么,什么算是社会工程学呢?它并不能等同于一般的欺骗手法,社会工程学尤其复杂,即使自认为最警惕最小心的人,一样会被高明的社会工程学手段损害利益。社会工程学陷阱就是通常以交谈、欺骗、假冒或口语等方式,从合法用户中套取用户系统的秘密。社会工程学是一种与普通的欺骗和诈骗不同层次的手法。因为社会工程学需要搜集大量的信息针对对方的实际情况,进行心理战术的一种手法。系统以及程序所带来的安全往往是可以避免的。而在人性以及心理的方面来说。社会工程学往往是一种利用人性脆弱点、贪婪等等的心理表现进行攻击,是防不胜防的。借此我们从现有的社会工程学攻击的手法来进行分析,借用分析来提高我们对于社会工程学的一些防范方法。熟练的社会工程师都是擅长进行信息收集的身体力行者。很多表面上看起来一点用都没有的信息都会被这些人利用起来进行渗透。比如说一个电话号码,一个人的名字。后者工作ID的号码,都可能会被社会工程师所利用。在猫扑网上发现流传着一句话,那就是我们所说的→人肉搜索达人,社会工程学身体力行者。许多人都说,关掉了的计算机才是安全的计算机,但这是错误的,找个借口让人去办公室打开它就是了。你的对手不仅仅有一种方法可以从你那里得到他想要的信息,这只是时间的问题。耐心、个性和坚持,这正是欺骗的艺术的切入点。要击败安全措施,一个攻击者、入侵者,或是社会工程师,必须找到一个方法,从可信用户那里骗取信息,或是不露痕迹的获得访问权。当可信用户被欺骗、影响,并被操纵而吐露出敏感信息时,或是做出了不当的举动,从而让攻击者有漏洞可钻时,什么样的安全技术也无法保护住你的业务了。正如同密码专家有时通过寻找漏洞来绕过加密技术解出密文一样,社会工程师通过欺骗你的雇员来绕过安全技术。信任的弊端大多数情况下,成功的社会工程师都有着很强的人际交往能力。他们有魅力、讲礼貌、讨人喜欢,并具有快速建立起可亲、可信感的特点。一个经验丰富的社会工程师,使用他自已的战略、战术,几乎能够接近任何他感兴趣的信息。精干的技术专家辛辛苦苦地设计出安全解决方案来最小化使用计算机的风险,然而却没有解决最大的漏洞――人为因素。尽管我们很聪明,但对我们人类――你、我、他的安全最严重的威胁,来自于我们彼此之间。每个读者都一直在被社工――他们的父母所控制着,他们有办法(比如:“这是为了你好”)让你去做他们认为最应该做的事。父母们就是使用类似社会工程学的方法,巧妙的编出看似有理的故事、理由以及借口,来达到他们的目的。是的,我们都被我们的父母所引导――那些乐善好施的(偶尔也不完全如此)社会工程师们。如果某个陌生人帮了你的忙,然后要你帮他,不要不经过慎重考虑就回报他的帮助,要看对方要你做的是什么。社会工程师找了一个计算机知识很少的人。他知道的越多,就越可能产生怀疑,或越能断定是被骗了。计算机白痴――对计算机操作和知识了解很少的人,则很容易遵从你的指示。他太容易掉入“只需下一个小程序”这样的陷井了,因为他对一个软件程序可能造成的损害一无所知。而且,他很可能不知道他冒着风险放到网络上的信息的价值。一、社会工程学的应用与防护1、假冒技术支持社会工程攻击的方法何很多,下面介绍假冒技术支持战术:可以考察以下用于获取数据网络访问权的不同伪装示例。最成功的社会工程师是那些能够以创新的方法劝导其他人向其提信息的人。社会工程的最常见形式是假冒技术支持.这里.假冒一名正在手机信息的技术支持工程师,收集的信息包括口令。渗透测试者:你好,我是技术支持部的张涛你注意到你的系统变慢了吗?受骗用户:还好,似乎还不太慢渗透测试者:嗯,我们看到网络速度下降很多好的.让我登录你的PC上,测试一下你的机器。你的用户名是jeouser,对吗?受骗用户:是。一般来说,用户名与电子邮件地址中的名称相同。比如,如果电子邮件地址为jeouse@somecompany.com。那么在企业网络中的用户名很可能就是jeouser。我们可以从大多数企业的Web网站收集电子邮什地址。渗透测试者:很好,让我查一查你的口令嗯,系统太慢了,你的口令是什么?受骗用户:是abc123。渗透测试者:好,我进去了。似乎还不太坏。一定是没有受到同楼层其他用户的影响,奇怪。好了,我要查一查其他楼层的情况。谢谢你。受骗用户:也谢谢你的帮助。这个示例展示了一个技术支持假冒的策略。在现实场景中,应该向用户询问更多问题.以便建立用户对你的信任。在了解企业内部网络的过程中加入一些幽默元素。企业网络中最容易被忽略和未加保护的区域是在家庭中办公的远程工作人员使用的机器。作为渗透测试人员,应该测试这些远程用户。通常情况下,对这些人实施社会工程更容易获得成功,原因在于他们远离办公室,而在办公室的人员可能会受到安全培训和提醒。远程用户通常是通过电话或支持人员的帮助来处理一些设置情况的。2、第三方假冒技术支持假冒的缺点之一是这个假冒是在太常见了。公司已经意识到这种假冒技巧并要求防范。另一种技巧是第三方假冒,它能够更成功的获取内部信息。渗透测试者:你好,我是“值得信赖咨询公司”的工作人员,我想给你介绍一下我们公司新的防火墙产品。受骗用户:不错,但我们对现有产品已经很满意了渗透测试者:真的吗?你们正在使用哪种类型的防火墙·受骗用户:我们现在用PlX和Netscreell防火墙渗透测试者:好,这两款产品都十分优秀,但你注意到了像Smurl和PingOfDeath这样的拒绝服务攻击的风险了吗。你的防火墙能够抵挡这些类型的攻击吗?(Smurf攻击是以最初发动这种攻击的程序名Smurl来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务)(这种攻击通过发送大于65536字节的ICMP包促操作系统崩溃;通常不可能发送大于65536个字节的ICMP包,但可以把报文分割成片段,然后在目标主机上重组:最终会导致被攻击目标缓冲区溢出。)受骗用户:当然能。渗透测试者:不错,我知道你对现有的产品很满意现在,我们的产品能够通过特殊过滤有效地保护电子邮件服务器。你的产品能够保护邮件服务器吗?受骗用户:这个问题我们并不关心,因为我们不允许互联网上的邮件进入到我们的系统中。我们的邮件都来自总部。渗透测试者:喔,看起来你对现有产品很满意。我不浪费你的时间了。我把我的电话号码和姓名留给你,在你需要的时候可以给我打电话(留下一个假名和假的电话号码原因在于目标或许永远不会打这个电话)。在这个简短的示倒中,你能够发现防火墙的类型及它的一些配置。你会了解到,该公司或许阻塞或限制了ICMP协议,Smurf、和PingOfDeath攻击使用了这个协议。你还知道电子邮件系统使用的TCP端口25不能通过互联网访问。这样就节省了扫描这些协议的大量时间,减少了被发现的风险。第三方假冒的另一个示例是你假装为某个贸易杂志的记者,你正在做公司产品的评论。绝大多数员工期待知道他们会在杂志中出现。在他们的热功期待中,经常会送出免费产品,泄露不应该与外界分享的内部信息。这就是为什么公关人员应该出现在会面中.样品产品只应该在验证了访问者的身份之后才能够发放的原因。你或许会发现,当IT经理认为他正在面谈有关他的数据安伞时.他愿意泄露什么的信息。渗透测试者:到目前为止,你为保护你的基础设施的安奎采取的步骤给我留下了很深刻的印象、(拍马屁是打开更多信息大门的第一步,)受骗用户:谢谢,在我们公司,我们把安全看得十分重要。渗透测试者:我已经感受到了。你们公司强制实施什么安全策略了吗?受骗用户:嗯,当然,我们制定了可接受的互联网采略和口令策略,公司的所有员工在进入公司时都要签署这些策略。渗透测试者:很不错.详细谈一谈,这很有趣。受骗用户:嗯,例如,我们的口令策略要求所有用户的口令至少要八个字符长.并且同时包含字母和数字。要求口令每三个月就要更换一次口令。渗透测试者:真的不错,我听说,有些公司也强制实施这样的策略,但员工可能会写下他们的口令,并把它放在键盘下面你们公司存在这样的问题吗?受骗用户:哈哈哈.是的,总是滋生这样的情况我希望能蝣杜绝发生这样的事情.我敢打赌.我们的用户中有50%上的用户会把口令写在他们办公桌的某个地方。这个简短的会面揭示,获取进入公司权限的最容易的办法就是在用户的办公桌上寻找口令。你可在当天的晚些时候进入办公楼.许要求使接待休息事。在下班之后(以及打扫卫生人员进来之前),你可以离开休息室.走进办公率.在办公桌上寻找能够得到访问权的口令。这里是曾经发生的一个示例。几年前,马杰去一家不动产公公司在管理员离开之后的安全性。当他走到管理员的办公桌前他发现了几张马匹的照片,马杰猜想他一定拥有其中的一些马匹,就故意对旁边的小隔间大声感叹,“哇,多么漂亮的马呀!,这是他的马吗?”在得到了肯定之后,马杰问“他们叫什么名字?”果然,网络管理员使用的口令是这些马匹的名字之一。3、末端用户假冒、客户假冒、反向社会工程一、末端用户假冒如果你能够进入到企业办公楼中,你可以假冒末端用户打电话给支持中心。从找到一台未用的工作站开始。当它引导起来后,工作站通常显示最后一个使用它的用户的名称。按下来,多次在密码提示框中键入一些伪造的口令。正常情况下这将导致该账户被锁起来并要求出系统管理员解锁。打电话给支持中心,并假装你就是那个用户。告诉IT工作人员你忘记了口令,并且已经把自己锁在了网络之外。之后他会解锁你的账户并向你提供一个新的口令。现在你就以那个用户置录到网络上。你会为这个伎俩成功的概率之高感到吃惊。二、客户假冒如果说还有什么地方需要社会工程师进行测试,那就是客户服务中心。客户服务代表有权限访问账号、信用卡号码以及社会安全号码(在美国,其他国家往往是身份证号码)。假设渗透测试人员使用下面的场景打电话给信用卡客户服务中心:渗透测试者:喂,我要查一查我卡上的余额。受骗用户:没问题,你的账号是多少?渗透测试者:不好意思,信用卡现在没有在我手边。但我有我的地址。(你会发现可以很容易地使用电话号码本采查到地址)受骗用户:没有你的账号号码,我无法给你查账户信息。渗透测试者:帮帮忙吧。今天是我50周年结婚纪念日,我的妻子现在正在医院。我想在下班后给她买一些补品,但不能肯定我的账户上是否还有足够的钱。你能帮我查一查余额还有多少吗?谢谢你。受骗用户:好吧。你的地址是什么?假设告诉了对方某个地址,客户服务人员说出了余额,继续下面的谈话:渗透测试者:真是太感谢你了。我想网上订购一些东西,在今天就交竹到我妻子那里。给她一个惊喜。嗯,但我现在手头没有账户号码。你可以帮我念一念账户号码吗?受骗用户:好的。号码是……但是信用卡公司不会落入这样的陷阱。他们为什么不会落入这类陷阱的原因是他们雇佣了渗透测试人员作为社会工程师对客户代表进行了测试,并制定了严厉的惩罚措施。正是这个原因,伪装为公司内部人员打电话通常会更容易成功。三、反向社会工程反向社会工翟比前面舶示例要略微复杂一些,但它的有效性不容怀疑。反向社会工程(ReverseSocialEngineering,RSE)由下述三步组成:·破坏·广告·支持在反向社会工程中,角色颠倒了过来。这里,不是像前一节讲述的那样打电话寻求帮助.攻击者让用户给他打电话来寻求帮助。反向社会工程的操作方法是.首先破坏目标网络,这可以通过拒绝服务攻击(DoS)来实现。之后.向该公司发送广告,以网结安全工程师的身份推荐你的服务,说明在对抗拒绝服务攻击方面体的特殊技能。当公司雇用了你的服务之后,你开始提供支持井修复问题,与此同时。在公司网络中安装后门程序,这样你可以在以后需要的时候进入到公司网络中。成功实施反向社会工程的最佳途径并不是一开始就发起攻击,而足等待到互联网上传播一种新的病毒时发起攻击。以在病毒防护方面的特殊技能作为内容发布你的服务广告,当你在修复公司问题的时候,建立一种通过开启防火墙或安装后门程序的