谈谈社会工程学

社会工程学简称社工,之后都会以社工来称呼。本文只分析网络社工的一些技巧,不会涉及现实生活中对人的直接社工。

社工是一个范围非常广的领域,包括但不局限于目标料收集、推理逻辑、联想、暴力猜解、诱导、欺骗、渗透、反向思维、踩点、密码库匹配等一系列手段。社工在社会上可以说是非常实用的一项技巧,但注意不要用在不正当的领域,不能触犯法律。

缘起

为什么会专门写一篇关于社工的文章呢,主要原因是我本人曾在国内某网络安全公司担任web安全工程师一职,不可避免地接触到很多社工领域的东西。本文主要介绍的是网络社工的一些技巧和实际应用。

网络社工

网络给社工带了很多便利性,利用网络,时常可以通过社工手段了解一个人如下信息:

  1. 姓名
  2. 性别
  3. 出生日期
  4. 籍贯
  5. 学历
  6. 习惯
  7. 兴趣爱好
  8. 职业
  9. 社交网络
  10. 性格
  11. 网络ID

当然能挖掘的远远不止这些信息,如果运气好,甚至能将目标对象的各种密码找出来,之后会看到一个这方面的例子。

对于一个目标对象,一般情况下我们能够在一开始知晓其一部分信息,比如一个人的姓名和性别,网络ID等。从这些已知信息出发,去寻找目标对象的其他信息。

网络社工过程中,可以充分利用:

  1. 各种搜索引擎(Google、百度、搜搜、360搜索、Bing、Duckduckgo等)
  2. 各种社交网络(微博、人人网、豆瓣、博客、百度贴吧、各种论坛等)

对于搜索引擎,需要说明的是部分搜索引擎提供了高级搜索模式,可以使用一些特定语法更快速更精确地进行搜索,典型的比如Google Hack。各大搜索引擎最好都去尝试,增加找到的几率。

对于用来搜索的关键字也要注意,一般可以用于精确搜索的关键字类型:

  1. 网络ID(QQ号、微信号、各种社交网络的昵称、ID等)
  2. 邮箱
  3. 姓名
  4. 所在城市
  5. 所在学校
  6. 所在工作单位

还可以尝试组合各种关键字进行搜索。

对于一些社交网络,可以充分利用其搜索功能。比如人人网和微博。在人人网还比较热门的时期(早期还叫校内网),基本上只要是学生都会去注册,玩的人很多,活跃度也相当高。如果知道姓名,可以尝试去人人网搜索。如果不知道姓名,只知道学校和专业,也可以使用高级搜索功能搜索。任意组合一些已知信息去搜索有时也是必要的。

当知道其网络ID或者邮箱一类的信息时,除了搜索引擎以外,还可以尝试使用Google Hack一类的方式,挖掘其在社交网络中的留言互动信息。

不要忘记微博这个信息宝库,使用其搜索功能搜索姓名、网络ID等信息往往也有惊喜。

比较高阶的网络社工手段还会用到社工库,社工库基本上就是一些网站泄漏出来的账号密码的集合。比较有名是CSDN 600+W条明文密码泄漏,在黑产中社工库很常见,地下黑市甚至有明码标价交易。不过这类信息一般人是拿不到了,专业团队手上才有。可以利用网络ID等信息到社工库里面碰碰运气,说不定有意外收获。

实际案例

这里分享一个之前工作中成功进行社工的案例。

有客户委托调查某个支持台独的民间组织的官方邮箱,想获取其往来邮件进行调查。这个难度其实很高,邮箱是hotmail的,那时候hotmail基本不存在XSS的漏洞,或者是挖掘起来很困难,这也就意味着想要直接套取对方密码基本不可能。当时我的做法是尝试重置邮箱密码,但是问题又来了,重置邮箱密码需要安全邮箱重置邮件或者重置的密码问题。前者我是没有的,只能试试重置密码问题了,不过有尝试次数,貌似是一天三次。问题只有一个:我最喜欢的一首歌是什么?这就很难了,歌曲成千上万,我怎么能猜对,就算有个曲库,我一个个歌名去尝试,一天最多三个,那要等到什么时候。

当然不能这么善罢甘休,我先去调查这个组织的具体情况,获知这个组织是的主要成员是台湾一些中年妇女,就是各种大妈。这对猜密码有什么帮助呢?台湾的一群中年妇女能喜欢什么歌曲呢?首先这群人年轻的时候大概是80年-90年代,当时20-30岁,那个年代有什么歌星比较出名?我第一个想到的人是邓丽君,就你了。邓丽君有名的歌曲很多啊,找了几个来试,第三次居然成功了,歌名就是不说了,这已经不重要了。于是我重置了对方的邮箱密码,使用工具将邮件全部收取下来。

这里案例中,解决的路线是:邮箱->重置密码问题->调查组织人员特点->猜想对方喜好->猜想问题答案。

这里面有运气成分,但更多的还是解决思路。

总结

网络社工的目的是搜集目标资料,获取对方详细的资料,更进一步地就是和人的直接沟通,这需要更多的技巧,复杂性也更高。