文章目录:
一.社会工程学1.什么是社会工程学?
世界第一黑客凯文·米特尼克在《欺骗的艺术》中曾提及,人为诱因才是安全的软肋。很多企业、公司在信息安全上投入大量的资金,最终造成数据泄漏的缘由,往往却是发生在人本身。你们可能永远都想像不到,对于黑客们来说,通过一个用户名、一串数字、一串中文代码,社会工程师就可以通过如此几条的线索,通过社工功击手段,加以筛选、整理,就能把你的所有个人情况信息、家庭状况、兴趣爱好、婚姻状况、你在网上留下的一切痕迹等个人信息全部把握得一清二楚。虽然这个可能是最不起眼,而且还是最麻烦的方式。一种无需依托任何黑客软件,更重视研究人性弱点的黑客手法正在盛行,这就是社会工程学黑客技术。
社会工程学(Social Engineering) 是一种通过人际交流的方法获得信息的非技术渗透手段。不幸的是,这种手段十分有效,而且应用效率极高。事实上,社会工程学已是企业安全最大的恐吓之一。狭义与广义社会工程学最显著的区别就是是否会与受害者形成交互行为。广义是有针对性的去对某一单一或多一目标进行功击的行为。
举个反例:
某黑客晓得了小H的手机号,通常QQ号和手机号是一样的,然后我们可以获取小H的QQ爱称,家乡,性别,年龄等一些基本信息。这仅仅是刚开始,然后通过小H的QQ空间获取个人一些相册,自己写的一些文章,自己对他人的评论,别人最自己的评论,留言板等信息,这些可以进行小H的心中剖析,看小H是一个如何的。接着通过看小H的手机号,获取小H 的微信号,进一步获取更多个人信息,再之后通过网站获取小H的所有注册过的网站,通过各个网站进一步获取信息。现在要进行深一步的了解了,利用小H生日组合或则名子进行暴破,破解小H注册的一个垃圾网站的号码密码,然后登录其他的网站。通常防范意识不高的,很多帐号密码都是一样,可以获取小H的学历,还有小H上面其他所有的好友,名字,还有和他人的聊天记录,现在开始有交集了,把小H其他人进行搜集。最后把小H的所有信息搜集,不停的对比和整理。最后基本了解小H的信息了,可以将小H的信息进行盗卖甚至愚弄。
那么,信息是怎样被窃取的呢?泄露的形式有很多,比如:
为什么攻击者会选择社会工程学进行功击行为?
因为它是最方便的功击形式。攻击者在搞定一个非常复杂的外网环境或则高度防御系统的时侯,仅凭内网是很难找到突破口,外网的安全是相对安全的。但是,通过社工领到一个泄漏的帐户和密码或则一个email来定位施行单一功击(类似APT的水坑)。还有就说你是安全技术人员,招标公司的,运维,实在不行你就去问问路套路一下上面的职工和门卫奶奶,只要有机会接触到公司的外网,通过一些工具直接打穿外网,外网代理进外网,一首《凉凉》送给她们。在国外,由于社工引起的信息泄漏风波不算多,多是直接sql注入脱库,可能是个别公司被功击以后没有发觉而已,也可能是法网恢恢。
2.社会工程学分类
社会工程学功击包括四个阶段:
通常社会工程学功击可以界定为两类:
信息搜集是社会工程的一个重要环节。信息搜集同时也是一个最费时、最费事、最吃力的阶段,但这常常是决定功击周期内胜败的关键要素,具体可以看一下《我是谁,没有绝对的安全》里面的关键环节。
3.常见方式
(1) 交流模型
在通讯交流中,是一个发送器发送给另一个接收器,而交流则是从一个实体传送到另一个实体的过程,交流是一个单向的过程,这个过程发生着信息的交换、传播以及处理。沟通是我们把他人带到思维空间,分享个人的信息,所有的参与者都必须有一种彼此的心理位置概念,他们中间存在一个可沟通的渠道。
人的交流会传送两个层次的信息:语言和非语言,社工就是借助这种语言和非语言的潜在信息,改变目标的感知,从而得到想要的结果。交流的基本涵义是发送一个信息包给既定的接受者(通俗解释:说话),信息中会包含多个信息源,用来描述这个“事件”即:通信过程,有名的通讯模型是——“Shannon-weaver模型”鼻祖模型。模型包含“信息源、信息、发送器、信号、信道、噪声、接收器、信息目的地、误差机率、编码、解码、信息率、信息容量”,此模型也被称为传递模型。
(2) 网络垂钓
网络垂钓(Phishing,与垂钓的英文fishing发音相仿,又名垂钓法或钓鱼式攻击)是通过大量发送宣称来自于农行或其他著名机构的欺骗性垃圾邮件,意图诱使收信人给出敏感信息(如用户名、口令、帐号 ID 、 ATM PIN 码或信用卡详尽信息)的一种功击形式。最典型的网路垂钓功击将收信人逼迫到一个通过悉心设计与目标组织的网站十分相像的钓鱼网站上,并获取收信人在此网站上输入的个人敏感信息,通常这个功击过程不会让受害者警觉。它是“社会工程功击”的一种方式。网络海钓是一种在线身分诈骗形式。
钓鱼可以利用电邮或则信息传播途径,将富含恶意程序的文档发送给目标服务器中,使之有意或无意的点击恶意程序因而控制目标主机。常见的垂钓手段包括:鱼叉式网路垂钓功击、水坑式网路垂钓功击、钓鲸、APT等。
(3) Maltego
Maltego作为一款成功的信息搜集工具其功能强悍,它除了可以手动搜集到所需信息,而且可以将搜集的信息可视化,用一种图像化的方法将结果呈现给我们。
(4) 信息打探
在入侵前,通常还会对目标进行一次较为全面的检查,所谓不打没有掌握的仗,入侵前的信息打探很重要,通过对目标主机的测量,我们可以晓得对方主机操作系统类型,开放了什么网路服务,是否存在漏洞等信息。将收集到的信息整理上去将会对前面的入侵工作起到事半功倍的疗效。同样,社工也须要在入侵前进行踩点。
一般来说,越是设置得非主流的越容易查找,越是设置得大众的越难查,首先我们可以复制爱称,注意现今手机上的QQ是直接提供复制功能给用户的,如果查到的结果好多,我们可以限制搜索条件,比如年纪、性别等。
二.IP地址获取
前一篇文章详尽讲解了Web信息采集基本知识,这里简单回顾下ThreatScan在线扫描工具。
本文以某信息系统为例,进行简单的测试,假设网址为:
第一步:基础信息扫描
包括域名、IP地址、有无CDN、编程语言、是否存在WAF(Web应用防护系统)、操作系统、指纹框架、Web容器、网络权重等。注意,ThreatScan通过Web指纹辨识,发现该网站采用Java进行开发。
第二步:端口扫描
接着将IP地址填写到端口处,进行相关扫描。端口扫描是获取目标主机的端口信息变得非常有必要,通过一些常见端口,可以大致得出目标主机运行的服务,为后续渗透测试薄弱点提供参考。
第三步:旁站扫描
旁站扫描能扫描与该IP地址挂靠的其他网站,这有利于Web渗透,可能旁站存在漏洞。
第四步:信息泄漏查询
同时,Namp软件可以获取IP地址拓扑图,方便观察网路跳数,尤其是大的网关。
PS:QQ可以通过木子李获取IP地址。
三.IP化学定位
IP化学定位可以通过百度地图开发者服务(web 服务API)、第三方插口、在线网站等进行定位,但不同的插口其精确度也会不同。下图展示外网和内网、服务商之间的关系,服务商一般会依照区域界定ip地址,凡是通过网路接入到服务器,就一定能获取ip和地址定位,从而获取目标的数学位置。
为什么要进行IP化学定位呢?
假设某人发了某个害处的贴子或从事相关活动,有关部门就须要抓他。此时,首先要获取他真实的IP地址,通过服务器对比,观察这个时间点它把IP分配给谁(通常实名制);再通过IP地址进行化学定位。后台日志一般会储存相关的IP地址及行为。现在,通过三大运营商数据、Wifi、基站、社交网络、视频等,都能进行一些更为智能精确的定位,从而维护整个社会的网路安全。
1.Python查询经纬度
为什么先介绍第一种方式呢?当我们做网站安全维护时,通常日志中会搜集好多IP信息,此时须要自动化的方式定位其位置,这里先补充定位经纬度的方式。
方法一:调用本地文件实现
本地存在一个名叫GeoLiteCity.dat的文件,它包含了详尽的地址对照信息,通过编撰代码查询对应的值获取信息。这里以作者的博客地址为例,备案在阿里服务器上。
接着编撰Python代码如下图所示,通过调用pygeoip库获取经纬度相关信息。输出结果为:
import pygeoip
#导入文件
gi = pygeoip.GeoIP('GeoLiteCity.dat')
#定义函数
def printRecord(ip):
rec = gi.record_by_name(ip)
city = rec['city']
region = rec['region_code']
country = rec['country_name']
long = rec['longitude']
lat = rec['latitude']
print('[+] Target: ' + ip + ' Geo-located.')
print('[+] '+ str(city)+', '+str(region)+', '+str(country))
print('[+] Latitude: '+str(lat)+', Longitude: '+str(long))
#查询数据
ip = '60.xxx.xxx.36'
printRecord(ip)
复制
谷歌街景地图中输入经度和纬度,就可以看见定位的夜景地图,但本地数据查询的精准度还是不太精确,所以接下来我们分享第二种Python访问在线网站查询的方式。
方法二:调用API在线查询
# -*- coding: utf-8 -*-
import urllib.request
import json
ip = input("please your ip address:")
url = "http://api.map.baidu.com/location/ip?ip=%s&ak=GrwQFVVB5qDWviGtSoB4VbU4KK10QVLy&coor=bd09ll"%ip
req = urllib.request.Request(url)
res_data = urllib.request.urlopen(req)
res = res_data.read().decode("unicode-escape") # 转格式
jsonaddress=json.loads(res)
#print res
print("城市:",jsonaddress['content']['address'])
print("省份:",jsonaddress['content']['address_detail']['province'])
print("区县:",jsonaddress['content']['address_detail']['district'])
print("街道:",jsonaddress['content']['address_detail']['street'])
print("经纬度:",jsonaddress['content']['point']['x'],",",jsonaddress['content']['point']['y'])
print("纬经度:",jsonaddress['content']['point']['y'],",",jsonaddress['content']['point']['x'])
复制
输出结果如下图所示:
其原理就是调用百度API获取经纬度返回的Json结果。
再次调用谷歌街景即可,其结果还是比较精准的。
2.网站定位位置
下面作者将介绍在线的IP化学定位的方式,还是以里面获取的IP地址为例。
查询网址:
获取的地理位置如下图所示,其结果还是比较精确的。
Whois
whois(读作“Who is”,非简写)是拿来查询域名的IP以及所有者等信息的传输合同。简单说,whois就是一个拿来查询域名是否早已被注册,以及注册域名的详尽信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令列插口存在,但是现今出现了一些网页插口简化的线上查询工具,可以一次向不同的数据库查询。网页插口的查询工具一直依赖whois合同向服务器发送查询恳求,命令列插口的工具依然被系统管理员广泛使用。whois一般使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。
比如作者的个人博客查询结果如下图所示:
同样,百度地图API也是能创建地理位置获取以及热点区域辨识,希望感兴趣的朋友可以阅读作者CSDN的Android开发文章。需要申请AK再实现相关应用。
再例如某大鳄的博客,是不是通过社会工程学发觉了些知识。
我们可以进一步通过短信反查,获取更多知识,如下图所示。
安全建议如下:
四.手机查找
通过各大网站已知有价值的ID获取其他信息(如电话号码、QQ、微信),通过电话或QQ获取用户的登陆帐号,是常见的社会工程学手段。常用的步骤如下:
第一步:通过已知信息查找有价值的ID或其他信息。
下图是在REG007网站通过QQ邮箱获取他注册过的网站,当然结果不一定打算,并且须要注册。还有好多类似且更好的网站,大家可以去查找。
第二步:用密码寻回功能获取部份手机号信息
如下图所示,部分网站可能会手机的部份信息透漏,比如开头182、结尾47。
同样支付宝汇款之前能社工姓名。
第三步:找出所在城市获得手机号段
通过个别网站获取三大运营商不同城市的手机号段,比如贵阳市:
我国手机号码为11位,各段有不同的编码方向:前3位—网络辨识号;第4-7位—地区编码;第8-11位—用户号码。号码也就是所谓的MDN号码,即本网联通用户作被叫时,主叫用户所需拨的号码,它采取E.164编码方法;存储在HLR和VLR中,在MAP接口上传送。
第四步:用手机号码生成器或Python循环遍历生成手机号并导出手机
第五步:利用手机号码和化学位置来恶意获取信息,利用手机号继续查找信息
总之,我们须要避免社会工程学功击手段,它会不断通过已知信息获取未知信息,获取的信息越多越好、其渗透越丰富。
接着补充一个神奇网站,这类网站好多,如下图所示,我们瞧瞧它能做哪些呢?它虽然可以保护我们的个人信息,尤其是个别不常登录却要用一两次的网站。
五.其他方法
也许有些人经历过,在微信群里晒了一张并没有定位的自拍,却被不在现场的同事们发觉了你的位置,这就是相片原图窃取了你的位置,如下图所示。
其原因是智能手机在照相的时侯,都有一个叫Exif的东西。它包括快门、光圈、iso、白平衡、日期时间等各类图象数据,还有一个重要的信息——位置信息。如果不经过处理,这些Exif参数会始终存在。在照相的时侯软件调用了Exif中的GPS全球定位系统数据。同时,经过各类美图软件处理过的相片就会在相册中显示位置信息,而且不少美肤软件都自带定位功能,打开单反找到“保存地理位置”选项,并选择不打勾。
接着我们将经纬度进行解析,它是以度分秒的格式展示的(度分秒之间以“;”间隔),为了便捷定位,我们须要将度分秒转换为度的格式。
接着进行位置定位,如下图所示。
安全建议:同样其他文件就会曝露一些信息,包括PPT、Word等,要学会保护自己的隐私及版权。社会工程学的本质是误导,不要轻易相信别人,不要四处留下自己的个人信息,要学会设置代理、短信验证、日志记录。
六.APT攻击中的垂钓功击
不仅仅黑客喜欢用这个方式,APT组织也喜欢用类似的方式,我们简单来瞧瞧。
1.海莲花(APT32)
海莲花(OceanLotus)是一个据称印度背景的APT组织,又称APT32、OceanLotus。该组织最早于2015年5月被天眼实验室所揭发并命名,其功击活动最早可溯源到2012年4月,攻击目标包括我国海事机构、科研院所和航运企业,后扩充到几乎所有重要的组织机构,并持续活跃至今。
海莲花组织常用类社工的功击方式:
恶意文件投递的方法仍然是最常用的鱼枪功击的方法,钓鱼关键字包括党员培训、绩效、工作方向等。2019年投递的恶意诱饵类型诸多,包括白加黑、lnk、doc文档、带有WinRARACE(CVE-2018-20250)漏洞的压缩包等,之后的功击中还新增了伪装为word图标的可执行文件、chm文件等。
2.摩诃草(APT-C-09)
APT-C-09是南亚孟加拉背景的APT组织,又名摩诃草、白象、PatchWork、 hangOver、The Dropping Elephat、VICEROY TIGER。摩诃草组织主要针对中国、巴基斯坦等亚洲地区国家进行网路功击活动,其中以盗取重要信息为主。相关功击活动最早可以溯源到2009年11月,至今还十分活跃。
摩诃草组织常用功击方式:
如下图所示,伪装成有关部门的文件。这是一个富含宏的xlsm电子表格文件,利用社会工程学迫使目标“启用内容”来执行宏恶意代码。
当目标启用内容后才会执行Workbook_Open的恶意宏代码,通过加载scrobj.dll,远程调用,这是借助Microsoft系统文件的LOLbin以绕开杀软的检测,达到远程执行代码。
3.蓝宝菇(APT-C-12)
360公司在2018年7月5日首次对外公开了一个从2011年开始持续近8年针对我国行政机构、科研、金融、教育等重点单位和部门进行功击的中级功击组织蓝宝菇(APT-C-12),英文名Blue Mushroom,该组织的活动在近些年呈现十分活跃的状态。比如,通过向163邮箱发送鱼枪电邮,钓鱼电邮假冒博鳌亚洲论坛向功击对象发邀请函。攻击者通过诱导功击对象打开鱼枪电邮云附件中的LNK文件,一旦功击对象被诱导打开LNK快捷方法文件,会执行文件中附送的PowerShell恶意脚本来搜集上传用户笔记本中的重要文件,并安装持久化后门程序常年监控用。
蓝宝菇组织常用功击方式:
360恐吓情报中心确认多个银企机构的外部通讯邮箱被投递了一份发自boaostaff[@]163.com的鱼枪电邮,钓鱼电邮假冒博鳌亚洲论坛向功击对象发送了一封邀请函,如下图所示。
邮件附件被放在163的云附件里,此附件即为攻击者的恶意Payload,这是一个通过RAR打包的快捷方法样本。接下来对同一波功击中的另一个完全相同功能的样本进行详尽剖析,以梳理整个功击过程。一旦功击对象被诱导打开该LNK快捷方法文件,LNK文件便会通过执行文件中附送的PowerShell恶意脚本来搜集上传用户笔记本中的重要文件,并安装持久化后门程序常年监控用户计算机。
4.SideWinder(T-APT-04)
T-APT-04是国际著名的SideWinder“响尾蛇”组织,该南亚组织以盗取单位、能源、矿产等领域的重要信息为主,此前已对俄罗斯和越南各国发起过多次功击,但近两起的APT攻击却频繁指向了中国,一起是伪装成国家部门向各国驻外领馆发送虚假邀请函;另一起是针对某科技有限公司驻华代表处的功击风波,攻击者向该公司驻外代表处发送了虚假的安全指南。据瑞星安全研究院剖析,通过对攻击者使用的技术手法来看,断定与APT组织“响尾蛇”有着莫大的关系。
响尾蛇组织常用功击方式:
七.总结
写到这儿,网络安全系列第三篇文章就介绍完毕,大家一定要保护好个人信息,防止社工功击,也希望文章对您喜欢。真心觉得自己要学习的知识很多,也有很多高手卧虎藏龙,开源分享。作为初学者,我们可能有差别,不论你之前是哪些方向,是哪些工作,是哪些学历,是学院本科大专,亦或是高中初中,只要你喜欢安全,喜欢渗透,就朝着这个目标去努力吧!有差别不可怕,我们须要的是去缩小差别,去战斗,况且这个学习的历程真的很美,安全真的有意思。但切忌去做坏事,我们须要的是白帽子,是维护我们的网路,安全路上自勉。