首先,这里基于社会工程学的攻击该怎么理解?这将是一个讨论的前提。
——————————————————————
我想利用社工进行的攻击就是基于对人性的分析理解而展开的攻击,而不再是基于对机器对编码的理解而进行的解密、规则突破等。

据我所知,很多很多能提权也就是能黑掉小至个人账户大到企业内网的黑客是不需要就编码进行过多分析的,甚至有些人并不具备编码能力。然而,事实是,他们真的把你黑了,把你眼中高大上的企业黑了。

黑客可以黑掉任何网站/企业的技巧-社会工程学-开水网络
社工

所以基于社会工程学的攻击到了什么程度?
——————————————————————
答案是,已经到了理论上可以黑掉任何网站/企业的程度。
这里强调「理论」上,因为这个过程可能需要漫长的时间和精力去寻找突破口。不排除中途攻击者累了就放弃了的情况。

那么我再说说社会工程学攻击通常是怎么进行的。
——————————————————————
也许痴迷于高精尖技术的你或者我都会表示不平,为什么?企业花了那么多财力购置防御设备或系统,雇佣优秀的开发人员、运维人员、安全人员,怎么可能被你一社工手段突破。
这就源于攻防双方的不对等

对于攻击者来说,只需要找到任何一个无论多么微不足道的弱点,防御方看似坚不可摧的防御体系就可能彻底溃败。

然 而对于防御者来说,就算花了巨额投入和人才资源用于防御技术层面的研究,防火墙、WAF 一个又一个,产品代码审计一遍又一遍,测试一遍又一遍。你依然可能因为某一天你司一位几乎与技术沾不上边的员工防线被突破,进而导致你司安全防线全线崩 溃,然而技术人员可能都一时「猜不透是哪里出了错~」。
而且现在看来很多防御者力量用错了地方,准确地说是过于局限在了某些地方,而遗忘了一些地方,你辛辛苦苦想通过技术手段做防御,殊不知攻击者根本不需要去绕你家设置的严密规则,人家根本不要撬锁,直接拿你家大门钥匙就堂而皇之进门了!

所以对于防御者,就算努力拿到 99 分都不算数,少了 1 分就注定与安全无缘,很多情况下少了那 1 分,你的企业安全不是 99 分,而是 0 分了!

那么我想说说哪些地方让你丢了那 1 分
——————————————————————
用一个字来说就是,人!
因为攻击的对象(个人、企业、系统、网站)都是由人来运营、维护、管理的,只要有人参与的活动就不可能万无一失、无懈可击,就会有很多由于人的惰性 or 一时疏忽 or 意识薄弱 or 纪律散漫 or 狗血一点 just 我失恋了精神有点恍惚……带来的问题。

比如经典的花式弱口令
很多、巨多看起来影响巨大的漏洞不过是一个弱口令导致的。
SNS 帐号弱口令、个人通讯软件弱口令、员工邮箱弱口令、WiFi 密码弱口令、各种带权限的管理系统帐号、数据库权限帐号弱口令、代码托管库弱口令…………任何一个入口被逮着就可能被黑。

  • 纯数字 123456、123456789、888888、000000 这些就不说了死定了啦!
  • 类似经典的 admin, admin 这种弱口令,衍生出来的即是密码==用户名的情况;
  • 密码==用户名的变种,密码==域名、产品名称、产品名称缩写、姓名全拼等,再复杂点在其后添加 123456、123 等数字后缀;
  • 充满情怀的弱口令,自己生日,爱人的/暗恋的人的/……的生日,总之即是与日期有关的所有字段组合方式,leehom520,iloveyou ,nishidahuaidan 等有涵义的拼音、英文短语;
  • 看似很机智其实早被猜的透透的,1h4ngb41lu5h4ngq1ngt14n 类,3.1415926, @123.com 等
  • 全小写英文单词 password,scan,lollol,helloworld……
  • 典型偷懒的「复杂口令」:!@#qweasd 类型
  • ……

以上只是科普性质的列举一些,业内这种字典应该很常见吧,有心情时手动输手动猜,大多数情况下,可以自动挨个规则跑一遍,遇到验证码怎么办,以国内的状况看大多验证码算法太容易识别绕过了好吗,几乎等于没有。

还有种我也将其列入弱口令,就是不同帐号重复使用同一个密码的。
这正为攻击者提供了撞库、爆破的机会。

除了弱口令,我们人类还能有什么弱点?
——————————————————————
如果说弱口令是因为懒惰,那么各种运维不当、敏感信息暴露就属于粗心大意,意识薄弱啦~

密码,或者敏感信息写在

  • 注释里
  • 日志里
  • 配置文件里
  • 文档里
  • 即时通讯工具里
  • 邮件里
  • ……

结 果是我 Google 一下 intext:password pwd 竟然搜到了你的密码, filetype 搜到了你司员工信息名单,inurl 搜到或者扫描器扫到了你的后台地址,或者暴露在外的 cms 地址或是敏感端口,最后在你的文档或者日志或者配置文件或者代码里直接记录密码等敏感信息,我打开某 Wi-Fi 密码共享软件看到你司有可爱的员工竟然跟大家分享了你司 Wi-Fi 密码,然后连上 Wi-Fi 顺利入侵……

通过包括但不限于以上的 手段,如果拿到密码便是直接提权,如果拿到的是隐私信息,那么就可以逐一发挥视奸狂魔的特质去一一观察分析每一个人的帐号、习惯喜好、人际关系进而通过上 文中的弱口令寻找突破口,或者针对某个人和某小部分人进行有针对性的利用和攻击,比如定向钓鱼!利用你没有不太懂技术最重要的是没有安全意识,然后伪造一 封钓鱼邮件或者私信给你,然后你信了你就上钩了!你的组织、单位和拥有权限的系统就全给你卖了!

然而
——————————————————————
以 上只是冰山一角,由于过往安全状况的混乱,各种安全基础设施的薄弱,导致攻击者们早已通过各种途径收集到了大量个人的隐私信息。这就意味着现在的社工攻 击,已经不需要花太多时间在视奸谁上了,基本是 select 查查想要的某个人或者 id 的信息,就能找到那个人过往的密码、手机号、邮箱、甚至是单位、住址等隐私信息,这都有助于攻击者进行上文中的弱口令分析或者对其所在企业进行攻击。
更有人已经把这个过程写成了傻瓜式操作的查询系统。
把猜密码,寻找敏感端口、信息、配置文件的过程写成了从个人「玩具」到专业化商用级别不等的自动化系统。

所以,你要怎么防?
——————————————————————

就个人而言,老生常谈了……

  • 拒绝弱口令,更严格点是拒绝使用任何个人相关的有意义的密码,你可以在键盘上乱敲一气,将该乱码作为密码。也可以使用 1Password 类软件管理密码;
  • 尽量不要暴露自己的邮箱地址或手机号,如果为了注册帐号收快递等,不得不暴露,就不要再用这个邮箱或者手机号进行私人事项往来了。你也可以使用临时邮箱业务类似 guerrillamail.com/zh/in 这样的,以临时邮箱地址代替真实邮箱地址,防止邮箱暴露导致的社工攻击。手机号可用阿里小号,不过不太稳定。
  • 个人或工作邮箱安全起见,使用二次认证。
  • 拒绝多个帐号共用一个密码,或者共用一套密码规则。还是同第一条!每个帐号的密码互相独立,且最好不要有任何意义和规律。
  • 真是申请马甲帐号懒得用复杂口令时,请预设一个前提——该帐号信息是公开透明的,任何人盗用窃取不会对你和你的家人、雇主造成任何损失,如果成立,那么 OK,弱口令 pls。
  • 拒绝使用私人 Wi-Fi 密码共享这类本质侵权的软件。
  • 拒绝在即时通讯工具或者邮件中传输敏感、机密信息。毕竟 smtp 简单邮件协议是明文传输,真的不适合进行机密事项交涉。何况大多数攻击者仅仅是通过社工方式就可以看到你的邮件。

 

  • 以上只是尽量降低风险,并不是绝对有效的,因为社工依靠的是关系链,以及一些动态的信息,你真的没办法控制,你做得再好你关系链你的人掉了链子,那么你又暴露了。不过身处互联网暴露点隐私难道不是使用网络的大前提吗,anyway……

所以对于企业,就显得更头疼了。用技术是解决不了的,这是个管理问题
——————————————————————

  • 需要让你企业里的任何员工,不管什么级别什么部门什么岗位,上到 CEO 下至实习生、临时工,都要做好以上个人而言需要注意的事项,总之就是有安全意识;
  • 还要培养技术岗相关运维开发人员的安全意识以及工作的规范意识、责任感等等……
  • 安全基础设施要到位,要规范,暴露的端口不要一大堆,业务线不要乱七八糟,否则真的很难管,负责人可能都不知道每条线是怎么回事,出了事都不好溯源。
  • 不同业务、岗位间严格的员工帐号权限控制。
  • Wi-Fi 网络访客网络与生产环境网络间的隔离,同时拒绝弱口令,拒绝密码到处发。最好只给指定设备联网权限。
  • 总之,真的是说起来容易做起来很难的一项工程,远远比加大资金投入技术投入能解决的事复杂多了。

所以你们能理解了吧,为什么有的黑客总是那么自信满满,能黑遍所有企业~

但是我觉得,正是因为如此,才需要渗透测试这种职业来动态地为企业检测来自于人这种不确定因素带来的疏漏,企业完全不必因为一个漏洞而觉得惶恐感觉药丸,马 上危机公关逃避责任,其实坦诚透明的应急态度,及时的漏洞修复,就是最好的公关。看客们在了解攻防双方的状况后也会多一分理解和学习态度,而不是一味谴责 讽刺,这样国内互联网行业、传统企业和安全行业才能朝着更多合作而不是对立,也就是更健康更进步的方向发展。