赞
踩
0. 注意事项
1. 前言
2. 元数据介绍
2.1 什么是元数据?
2.2 如何查看元数据?
2.3 /word/目录(内容区)
2.4 /docProps/目录(元数据区)
2.5 其它类型的文档
2.6 网络上的文档
3. 批量提取元数据的方法
3.1 批量提取元数据的方法
3.2 FOCA介绍
3.3 FOCA下载和安装
3.4 SQL Server数据库下载和安装
3.5 安装SQL Server时踩的坑
4. 使用FOCA提取元数据
4.1 FOCA
4.2 提取本地文件的元数据
4.3 搜索网络文件
4.4 下载网络文件
4.5 提取并分析网络文件的元数据
4.6 恶意软件分析
4.7 FOCA导出数据
5. FOCA其它功能
5.1 过滤器
5.2 插件
5.3 子域名暴破
6. 结语
6.1 FOCA的书籍
7. 本文章使用到的内容
本工具以及文章中的内容仅供与学习或合法渗透测试,使用时请遵守中华人民共和国网络安全法:http://www.gov.cn/xinwen/2016-11/07/content_5129723.htm
如果您在使用的过程中存在任何非法行为, 或造成了任何后果, 您需自行承担相应责任, 我们将不承担任何法律及连带责任。
大家好,我是zkaq-念旧,今天来给大家介绍一下“元数据”以及元数据检索和分析工具“FOCA”
本文章使用到的软件安装包放在了文章末尾;同时你也可以在查看文章的过程中,到官网进行下载
对于渗透测试来说,能否获取目标的敏感信息非常关键,因为这可以增加攻击成功的几率
敏感信息有很多,例如员工姓名、电话号码、电子邮件地址和客户端软件版本等信息
而这类信息来源之一是文档元数据
元数据就是“数据的数据”
元数据主要用来描述一些数据的属性,用来指示一些数据,例如文件存储位置、地理坐标、历史数据等
某些应用程序(例如Msoffice办公软件),会在保存到磁盘的文件中,存储任意信息(在你不知道的情况下)
例如地理坐标、应用程序版本、操作系统信息和用户名等
元数据在很多种文档中都有存储
例如.doc、.xls、.ppt等后缀的文件
通常我们是看不见元数据的,现在教大家怎么查看以上文件中的元数据
我们在电脑上面新建一个Word文档,打开文档并随便写入一点内容,然后关闭
修改Word文档的后缀名,将.docx修改为.zip
什么?你问我为什么改成.zip后缀,难道要解压?
没错,我们使用压缩软件解压这个Word文档(这里用的是某60)
可能很多人不知道,Word文档其实是可以解压的
解压成功,而且没有报错,我们打开文件夹,这就是Word文档的结构
Word文档是使用xml来存储数据的
可以看到一大堆的文件和内容,我们的主要关注点是在/word/和/docProps/当中
该目录主要存储的是Word文档的相关样式,还有用户输入的内容等
这个文件记载了Word文档的一些字体信息,例如“等线中文”之类的
我们再看看下一个文件,可以看到,我们之前输入的内容都存储在这里面
你在Word文档中输入的内容越多,这个文件的大小也会随之增加
这个文件记载了Word文档的样式
该目录记载了Word文档的相关属性,例如软件版本、用户名等
app.xml记载了你所使用的软件信息,例如:
你使用的软件是Microsoft Office Word
使用的软件版本是16.0000
根据版本对照表,我使用的是Office 2016,所以显示的是16,没毛病
什么?你问我用的是正版还是破解版?(咳咳,你应该懂的)
另外,我这里登录的用户是ThinkPad
core.xml记载了元数据的主要内容
\指的是创建这个文档的用户
\上一次编辑这个文档的用户
由于创建和编辑都是我,所有只有一个用户名ThinkPad
上面我提到了,我登录的用户是ThinkPad,元数据给我记录了
还有我编辑Word文档的时间,也给我记录了
我这里显示的数据比较少,假如我把定位开了,还有可能把我的地理位置给记录进去
试想一下
某人编辑了一个Word文档,将自己的地理位置等敏感信息记录到了元数据当中
由于元数据通常情况下也看不见,某人就毫无防备地将这个Word文档发布到了网上
某攻击者下载了这个Word文档,并提取了其中的元数据
那么攻击者就掌握了这个人的地理位置等敏感信息
是不是很可怕?
我:等下,你们翻我的文章干啥?
某些同学:看你有没有上传文档之类的
我:我真的栓q
上面提到,除了.doc的其它文件也存在元数据
我们新建Excel表格和PPT,修改后缀为.zip,然后依次解压,也成功了,没有报错
每个不同后缀名的文件,解压后的文件可能都不太一样,但是结构大致都相同
更多类型的文档可以自行探索,这里就不再一个个介绍
我们可以利用Google语法,对某个企业或攻击目标的文档进行搜索,并提取其中的元数据
我这里使用了Bing搜索,搜索语法和Google差不多
像前面教的一样,修改后缀名,解压
可以看到,文件数量和大小 比我之前新建的Word文档多了很多
看到dell可以想到什么?—-这个老师用的可能是戴尔的电脑
使用的是Office 2016
创建文档的用户是dell,最后一次编辑的用户是qian xu
还有时间:最后一次打印的时间2018年5月、创建时间2022年4月、最后一次编辑的时间2022年4月
可能有同学会问:打印在2018年,可是创建时间是2022年?穿越了?
这个我也不太清楚,有可能创建确实是在2022年,但是打印时 使用的计算机时间不对
为此我做了个实验,我将自己的计算机时间调到了1992年
然后打开之前的Word文档,编辑后保存,再次解压
可以看到,创建时间2022年,但是我在1992年就已经编辑了这个文件(我也穿越了!)
什么?你问我元数据里面的时间为什么不准?不是1992年吗,怎么变成1991年了
我们使用的是北京时间
文档使用的可能是其它的时间,例如m国时间,有时间差
如果像上面教的,一个个文档改后缀名,一个个解压,一个个查看,那就太麻烦了,有没有简便点的方法?
编写脚本提取元数据
目前很多语音都有提取元数据的功能,例如Python、Java、Golang等
但是考虑到大多数人可能不会语言,所以这里不进行讲解
使用工具进行提取
一个名为FOCA的工具 在检索和解析文档元数据方面做得非常出色
注意了啊,敲黑板,是FOCA,不是FOFA,虽然相差一个字母,但是差别还是挺大的
FOFA是网络空间搜索引擎,主页https://fofa.info
FOCA是元数据检索和解析工具,主页https://www.elevenpaths.com/labstools/foca/index.html
FOCA(Fingerprinting Organizations with Collected Archives)
是一款在文档中查找元数据和隐藏信息的工具;
这些文件可能在网络上,尚未下载到本地,可以通过FOCA进行自动化下载和分析;
它能够分析各种文档,最常见的是 Microsoft Office、Open Office 或 PDF 文件,但它也可以分析 Adobe InDesign 或 SVG 文件等;
在安装了FOCA运行后,通过Google、Bing 和 DuckDuckGo 等搜索引擎,可寻找各种文件类型,包括DOC,PDF,XLS,PPT模板,甚至Adobe文件;
还可以添加本地文件,从图形文件中提取EXIF信息,甚至在下载文件之前,就可以通过对URL发现的信息进行完整的分析;
从文件中提取数据后,FOCA通过对URL发现的信息进行完整分析,匹配信息以识别哪些文档是由同一团队创建的,以及可以从中推断出有哪些服务器和客户端。
另外,FOCA还是一款开源软件,可以在Github上面找到它
https://github.com/ElevenPaths/FOCA
我们可以看到,FOCA是使用C#语言开发的
而且人如其名,FOCA的Logo是一只海豹(这海豹看起来有点…)
我们直接在Github下载FOCA的压缩包:https://github.com/ElevenPaths/FOCA/releases
下载完成之后,解压,FOCA不需要安装,解压之后就可以使用,看到那个.exe文件了吗,双击它
双击之后,FOCA会进行加载,然后报了一个错误,这个错误的意思是:FOCA需要SQL Server数据库,你需要配置数据库连接
FOCA需要SQL Server数据库才能进行使用
在官网下载SQL Server:https://www.microsoft.com/en-IN/sql-server/sql-server-downloads
要下载的版本是Express,我们点击下面的“Download now”即可下载安装包
然后我们双击安装包,进行安装
我在安装的过程中,出现了个问题,安装程序一直卡在这个界面
然后我就上网搜索相关的问题,一直没有找到合适的解决方法,直到…
我换了个网络,然后就好了(垃圾校园网)
当然,你们可能会遇到其它问题,可以参考:https://blog.csdn.net/m0_61126377/article/details/124247101
其它问题自行百度
然后就按照提示进行安装,大部分选项默认即可,安装路径有需要的话可以更改
这里检查防火墙不通过,我们将防火墙关闭,然后点击“重新运行”(有杀毒的可以把杀毒退掉)
红框内的选项可以不要,把√去掉即可,其它默认
这里我们选择“默认实例”
这里我添加了SQL Server的身份验证
一个是使用Windows系统账号密码进行登录
一个是使用SQL Server账号密码进行登录
混合模式支持以上2种登录方式
安装进度有点慢,需要耐心等待
安装完成之后,我们打开菜单里的“SQL Server 2019 配置管理器”
可以看到,SQL Server服务“正在运行”
我们打开FOCA,尝试连接SQL Server数据库
填IP地址不知道行不行,同学们可以尝试一下
注意:SQL Server必须开启远程连接功能,我这里安装之后默认是开启的,可以尝试连接一下,如果不行的话百度“SQL Server开启远程连接”,根据教程进行开启
Server name服务器名称,我这里填的是计算机名,计算机名大家应该知道怎么看…吧(不会百度)
我这里选择了SQL Server的身份验证,用户名默认是sa,密码是安装时你自己设置的(参考上面的第9步)
连接成功,显示了FOCA的界面,至此,准备工作就完成了
什么?你说准备工作好长,劝退了
我也花了好长时间,主要是这SQL Server是真麻烦,安装又慢(微软给我爬)
是哪个小傻子安装SQL Server装了大半天?噢,是我自己,md…越想越气
服务器配置,这里我踩了坑,一直安装不成功,如图
数据库引擎一直安装失败失败再失败,上网查了好久(下面的图片是我从网上找来的,我不想再装一次了)
找到一篇文章说缺少.net,一查计算机我确实缺少.net,然后开启了.net,还是安装失败=-=
最后发现,貌似是权限问题
这里安装使用了默认的用户,可能权限不够,所以没有安装成功
我们点击浏览,尝试更换用户
高级 -> 立即查找 -> 我这里直接选了SYSTEM,最高权限 -> 确定 -> 再次安装,成功
我忘记是在哪篇文章里看到的了,找不到了(失落)
终于把SQL Server安装好了,微软我r…咳咳,文明文明
我们先点击Cancel关闭这个窗口,暂时不需要
这个就是FOCA的真正面貌了
我们右键中间的空白区域,有3个选项是亮着的
FOCA可以分析URL,并在网上搜索这个URL的相关资产,然后进行元数据提取
添加文件
添加文件夹
从一个文件中批量读取URL
添加文件,我们把刚刚新建的Word文档导入进来,可以看到上方有英文的标题,分别是:
文件序号
文件类型
文件URL(网址或本地路径)
是否已经下载(没有为红色的叉×,有则为绿色的圆点·)
下载时间
文件大小
是否已经进行元数据提取(红色的叉×/绿色的圆点·)
是否已经进行元数据分析(红色的叉×/绿色的圆点·)
修改时间
我们右键这条记录,然后选择“Extract Metadata”进行元数据提取
提取元数据之后,我们可以看到左边的内容展开了,条目内容分别是:
文件(目前只有“新建Word文档”一个,所以显示数量为1)
metadata summary是元数据的统计列表
Users发现的用户名
Folders发现的文件夹
Printers打印机
Sofaware软件
Emails电子邮件地址
Operating Systems操作系统
Passwords密码
Servers服务
malware summary是恶意软件的统计列表
我们点击Users和Software条目,可以看到一个用户名“ThinkPad”和软件“Microsoft Office”
正是我们在前面解压之后看到的内容,FOCA成功地将其中的数据给提取了出来
前面我们提到,FOCA还可以自动下载和分析目标的元数据
当然,不是全自动的(不然还要你来干嘛,诶诶诶轻点!啪!)
我们点击“New project”新建一个项目
我这里选择微软的microsoft.com域名作为攻击目标(咳咳,不是针对啊)
原本在网上随便挑选了一个幸运儿作为攻击目标,想想还是算了(原谅我)
然后点击Create进行创建
Import可以导入现有的项目
可以看到,上面出现了很多内容,可以定义搜索文档的规则
我这里选择使用Bing,搜索Office基本的3个文档类型
你也可以点击Custom search自定义搜索规则,语法就是Google语法、Bing语法之类的
点击最右边的“Search All”,就可以搜索你选择的类型
搜索完成之后,下方会有一条记录,我这里显示搜索结果为0
怎么搜索结果会是0呢?我们手动在Bing上搜索看看效果
我们手动可以搜索出很多文档,但是FOCA一条记录都没有搜索到
这时有人会说了,这FOCA是假的吧
我们使用Google搜索看一看
然后你会发现,FOCA搜索卡住了
为什么呢?因为访问Google需要科学上网,也就是翻qiang
如图,我们使用Google搜索失败了,下面的DuckDuckGo也是国外搜索引擎,也需要翻qiang
会不会是因为没有翻墙,所以Bing才没有搜索出结果呢
我们点击左下角的“Setting”,可以看到一些功能的设置,你可以开启或关闭这些功能
我们点击“debug”选项将其开启
开启debug选项之后,你会看到旁边多了很多记录
仔细一看,发现FOCA使用的Bing接口是www.bing.com
www.bing.com也是境外网站,我们在国内访问会自动跳转到cn.bing.com
这里我选择科学上网,只为了给大家做个实验(找个科学方法费了我半天)
如何科学上网这里就不讲解了,容易被jc叔叔请过去
我在此承诺,科学上网只为了学习,绝对绝对没有做奇奇怪怪的事情
科学上网之后,我们将Google和Bing勾选,再次点击“Search All”
可以看到,搜索出了很多的内容(科学上网就是妙啊)
如果你觉得数量已经够了,可以点击最右边的“Stop”终止运行,FOCA就会停止搜索数据了
如图,Download一栏是红色的叉×,表示文件没有下载
可以按住键盘的“Ctrl”键,然后鼠标左键点击你想要的记录,就可以同时选中多条记录
然后点击“Download”下载,就会将你选中的记录下载到本地
FOCA只是从网络上搜索到了这个文档,但是还没有下载到本地
我们可以右键,然后选择“Download All”下载全部,FOCA就会自动将列表中的所有文档下载到本地
如果你只想下载其中的某些文档
如果你下载到一半,突然不想要那么多,可以右键
“Stop Download” 停止下载 你当前选中的这条记录
“Stop All Downloads” 停止下载当前列表中的所有记录
成功下载的文档会显示绿色的圆点·
左边显示的是“已下载的文件数/搜索到的文件数”
已经下载的文件,会保存在你新建项目时,选择的项目目录当中
下载所需要的文档之后,可以右键然后点击“Extract All Metadata”
然后FOCA就会分析这些文档中的元数据
分析成功的文档,会显示绿色的圆点·
看分析结果,9个用户名,257个文件夹/文件路径,7个软件,4个操作系统
这些用户名可能是跟微软有关的人,可能是账号名称,也可能是真人名称
如果是账号名称,可以在登录窗口尝试登录等操作
如果是真人名称,可以尝试社工等操作
再看看Folders,可以看到很多URL和本地路径
URl,可能是目标网站调用的外部资源,或者是和微软有合作等关系的
本地路径,可能是这个文档存放在目标服务器中的绝对路径
软件和系统
可以看到有Office办公软件,还有PS,这些软件都是有漏洞的,可以针对性进行攻击(例如Word文档钓鱼等)
系统…居然还有这么老的系统吗
我们还可以右键,点击“Analyze All Malware”分析所有恶意软件
FOCA会对这些文档进行分析,查找这里面是否有恶意的文档,例如存在宏病毒的Word文档
分析完成之后,点击左边的“Malware Summary(DIARIO)”就可以查看分析结果
可以看到,FOCA将这些文档分为了两大类
一个是恶意软件,表明这个文档存在宏,可能是宏病毒之类的
没有宏,表示这个文档没有定义宏
什么?你问我宏是什么?这里就不细讲了,可以自行百度
我们可以右键,在浏览器中打开这个URL,然后下载这个文件
下载之后不要打开啊,万一真的是病毒,你电脑就直接无了
某60一下,没有发现
云沙箱一下,存在宏,但是是安全的(保险起见还是不要点开)
换一个云沙箱,好家伙,怕怕
右键,点击“Export data to file”,然后选择一个文件,就可以将这些数据导出
大部分的数据都支持导出,导出方式都一样,右键然后选择导出即可
FOCA有2个过滤器,点击下方的“Setting”之后就可以看到
日志过滤器
debug(Debug日志)
error(错误日志)
low(低级日志)
medium(中级日志)
high(高级日志)
FOCA运行时产生的日志,你可以根据需求勾选
其中低中高级,是日志的重要性,越严重的越高级,就和漏洞的低中高危差不多
模块过滤器
AutoSave(自动保存)
Crawling(爬虫)
DNSSearch(DNS搜索)
……
FOCA运行时使用的模块和功能
功能比较多,可以自行探索,这里就不详细讲解
时间、功能模块、日志级别(类型)、详细信息
FOCA是可以添加插件的
FOCA自带了一些插件,默认没有添加,可以根据需要自行添加
你也可以自己写一个插件出来(当然,我不会,别看我)
我们打开FOCA所在的目录,可以看到一些文件夹,这些就是FOCA自带的插件
点击菜单栏里的“Plugins” -> “Load/Unload plugins”就可以查看插件面板了
点击“Load new plugin”,找到插件的路径并添加
然后再次点击“Plugins”,你会发现多出了一个菜单,点击之后就会出现插件的页面
更多的插件和功能可以自行测试
没错,你没有听错,FOCA还可以用来暴破子域名
新建一个项目,还是使用microsoft.com作为攻击目标
点击旁边的“Domains” -> “Add hostname”,将microsoft.com添加进去
选择“Network”,将“Dictionary Search”勾选,然后点击“Browse”选择一个字典文件
右键域名,选择“Search for subdomains in dnsdumpster.com”,FOCA就会开始搜索子域名了
一堆子域名,你可以挑选其中有用的域名
不过FOCA的子域名暴破有个问题,就是…程序容易卡死
经常暴破到一半,FOCA就卡死自动退出了,感觉不是很好用
(不是很好用那你说来干嘛?)
哎呀,我就介绍介绍,总有一天能…哎哎哎!轻点
好了,本次的FOCA教学就到这里了,其中有2个麻烦的点
SQL Server安装
科学上网
鼓励大家研究FOCA的更多用法(然后来教教我,我也不大会)
FOCA是有出版书籍的,但是我在某宝和某东上没有找到,不知道是不是太冷门了
感兴趣的小伙伴可以去找一找(找到以后分我一份,诶嘿)
百度百科-元数据:https://baike.baidu.com/item/%E5%85%83%E6%95%B0%E6%8D%AE/1946090
FOCA:https://github.com/ElevenPaths/FOCA
FOCA使用-1:https://empresas.blogthinkbig.com/como-analizar-documentos-con-foca/
FOCA使用-2:https://blog.csdn.net/fydata/article/details/122323236
微步云沙箱:https://s.threatbook.com/
大圣云沙箱:https://sandbox.vulbox.com/
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。
免费领取安全学习资料包!
渗透工具
技术文档、书籍
面试题
帮助你在面试中脱颖而出
视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等
应急响应笔记
学习路线
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。