@rcelpe
技术意义
前面我有一篇文章写了关于对公司资产查找方面的技术细节,
接下来这篇文章主要是对“人”为目标发起的OSINT。
OSINT
美国国防部把它定义成"从公开可用的信息所产生的,定期进行搜集、萃取和供应,
以满足特定的情报需求。"
从字面理解更简介一些,从公开来源收集情报(Open-source intelligence)
它提出的思维方法中的六合分析法
何事,何人,何地,何时,何因,如何
在本文中不做讨论,
这篇文章只关注需求层,
即确定目标,确定工作对象
更多一些细节介绍可以访问具有教育意义的维基百科进行完整阅读
(https://en.wikipedia.org/wiki/Open-source_intelligence)
Linkedin和公司
Linkedin虽说是一个社交媒体平台,但在我看来它主要是用来找工作的;
它基本上是一个在线的简历页面,里面有你现在的工作,之前的工作,
就读的大学,专业等这种信息,自然而然的用来找针对公司的特定员工,
利用它们非常的方便。
Linkedin API
有一个知识点是如果目标的电子邮件和他/她使用的领英账户是一致的,
你就可以使用这个"sales API"查找其个人资料页面,
但是在使用它之前你需要登录,然后发送以下请求根据电子邮件查找目标
https://www.linkedin.com/sales/gmail/profile/viewByEmail/[email protected]
即弃服务和注册
尝试谷歌搜索“即弃电子邮件”这样的字眼,
可以找到很多匿名、临时的电子邮件,
现在用于注册的都是电子邮件、手机号为主要条件,
“临时邮箱”、“临时手机号”这样的服务也可以在搜索引擎找到,
即弃是一种对服务于隐私保护的概念,
目前还没有出现这样一种完整的商业模式,
随着对人们对隐私和繁琐的网络生活与现实生活之间的分界线的理解,
也许会涌现出很多这样的商业公司在某一天。
邮箱:https://www.mytrashmailer.com
手机号:https://www.visitorsms.com
通过使用这样的服务,我在20秒内创建了一个领英账户
查找员工
在领英上搜索对应公司,点击“查看该公司的全部员工”按钮,
就可以收集到很多员工、职务、当然也不乏联络方式例如电子邮件这样的信息,
用于红队过程中进行网络钓鱼时使用。
关于账户
使用领英应该意识到一个问题,就是你查看其他人的个人资料,通常至少必须拥有
共同的朋友,所以如果你的朋友列表人很少,那相对的你能找到的结果也就会很少,
另外一个就是你无法查看所有员工例如大企业几万甚至几十万这种,你只能看100页,
像这些限制如果你想绕过,你可能需要那种拥有大量好友列表的账户,
作为红队评估时期如果迫切需要的时候,可以在一些比较万能的交易平台进行
模糊搜索来尝试购买。
对目标公司收集电子邮件
如果你是红队评估的老手,那你肯定用过theHarverster,
它会抓取google的标题,结果,描述,元数据并且查找电子邮件地址,
https://github.com/laramies/theHarvester
它对于爬取protonmail这样的邮箱后缀会有很多结果,但是针对公司例如谷歌这样的,
就没有很好的表现,
这时候我们就需要使用https://hunter.io/
hunter.io
大多数公司都是使用标准的电子邮件格式, 比如
[email protected]
而这个网站提供了更便捷的服务,你可以直接搜索
https://hunter.io/search/microsoft.com
点击来源栏目可以告诉你邮件地址的来源地址,对情报分析具有价值,
在注册方面也可以直接使用谷歌账号进行登录,十分的方便
威胁升级 --》weleakinfo.com
我不知道读者们是否了解过,国外Adobe、Linkedin、MySpace这种数据泄露的事件,
它们有很多数据仍然有转储可以恢复,但也有很多已经找不到了,
国内称这个为“社工酷”,这么一说就很好理解了。
Weleakinfo这种网站就是收集所有这些信息,然后建立一个大型快速可以检索的数据库,
你把找到的邮件地址放在里面搜索,运气好就可以得到旧密码,然后用这些账户密码尝试
他们所有的公司登录接口,所谓的“撞库攻击”。
按照上面的操作,有的大公司可能有几千个电子邮件地址,如果你仅仅靠不断的复制黏贴,
那也是大佬了,Weleakinfo提供了一个公共API,允许每秒钟3个请求
https://weleakinfo.com/api/public
然而在我写这个文章的时候,这个网站已经被老美干掉了,所以就当了解一下。
生成电子邮件抓取
根据Linkedin的特性,配合Google也可以做一些“无耻”的事情,
我们可以通过Google Dorking获取在公司工作的每个人的名字和姓氏列表,
把获取的信息输入到python脚本中,并且根据约定生成电子邮件地址。
https://github.com/pry0cc/GoogLinked
运行第一个脚本之前需要修改脚本里的公司域名为Microsoft和microsoft.com
通过管道符把结果传输到文件中以便查看
在kali上运行如果报错应该是缺少“mechanize”模块,直接解决:
sudo gem install mechanize
绕过验证码
自动化抓取Google Dorking现在会碰到一个问题就是验证码,谷歌也提升了检测能力,
往期使用的公共代理服务器或者任何已知的Tor出口节点也不起作用了,
唯一解决的办法就是使用VPN,因为大多数VPN很难检测到,只是它们之间的切换比较困难
https://github.com/pry0cc/ProxyDock
cd ProxyDock
mkdir VPN
这个项目解决了这样的问题,只要修改它的Dockerfile,将openvpn密钥文件添加到容器中,
然后把所有OpenVPN.ovpn文件放在新建的VPN文件包中即可,因为需要购买那个Ovpn,大约需要30美元左右,我最近的工作不需要使用这个功能就没有搭建了。
结语:
通过本文的一些手段,例如获得了电子邮件地址,可以使用Linkedin来把真实的“人”的
身份联系起来,而通过对公司邮件的收集,又可以进行一轮又一轮的循环查找,
由于涉及隐私问题,本文演示并没有进行这种身份落地比对,简而言之,
你可以找到在目标公司的所有员工,可以收集他们的姓名、职称、生活地址、电邮,
如果在红队评估需要生成一个高质量的网络钓鱼列表,和撞库之类的,这是一个很好的技术手段。