12种公开资源情报(OSINT)信息收集技巧分享

Track-SSG   ·   发表于 2018-10-11 09:18:16   ·   漏洞文章

前言

公开资源情报计划(Open source intelligence ),简称OSINT,是美国中央情报局(CIA)的一种情报搜集手段,从各种公开的信息资源中寻找和获取有价值的情报。

有各种各样的数据可以被归类为OSINT数据,但从渗透测试者的角度来看所有这些数据都不重要。作为渗透测试人员,我们更感兴趣的是那些可以为我们实际所利用的数据信息。例如:

可增加攻击面的信息(域,网块等);

凭据(电子邮件地址,用户名,密码,API密钥等);

敏感信息(客户详细信息,财务报告等);

基础架构详情(技术栈,使用的硬件设备等);

12种OSINT信息收集技巧

1. SSL/TLS证书通常都会包含域名,子域名和电子邮件地址。这使得它成为了攻击者眼中的一座宝库。

证书透明度Certificate Transparency是谷歌力推的一项拟在确保证书系统安全的透明审查技术,只有支持CT技术签发的EV SSL证书,谷歌浏览器才会显示绿色单位名称,否则chrome浏览器不显示绿色单位名称。

新的签发流程规定:证书必须记录到可公开验证、不可篡改且只能附加内容的日志中,用户的网络浏览器才会将其视为有效。通过要求将证书记录到这些公开的
CT
日志中,任何感兴趣的相关方都可以查看由授权中心签发的所有证书。这意味着任何人都可以公开获取和查看这些日志。为此,我专门编写了一个用于从给定域CT日志中找到的SSL/TLS证书中提取子域的脚本。

提取子域的脚本

另外,再推荐大家一款工具SSLScrape。这是一款将网络块(CIDR)作为输入,来查询各个IP地址获取SSL/TLS证书,并从返回的SSL证书中提取主机名的工具。

sudo python sslScrape.py TARGET_CIDR

SSLScrape

2. WHOIS服务在渗透测试期间,通常用于查询注册用户的相关信息,例如域名或IP地址(块)。WHOIS枚举对于在互联网上拥有大量资源的组织尤为有效。

一些公共WHOIS服务器支持高级查询,我们可以利用这些查询来收集目标组织的各种信息。

下面我以icann.org为例,通过查询ARIN WHOIS server获取目标域所有包含email地址的条目,并从中提取email地址。

whois -h whois.arin.net "e @ icann.org" | grep -E -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0–9.-]+.[a-zA-Z0–9.-]+b" | uniq

提取email地址

通过查询RADB WHOIS server获取属于自治系统号(ASN)的所有网络块。

whois -h whois.radb.net -- '-i origin AS111111' | grep -Eo "([0-9.]+){4}/[0-9]+" | uniq

RADB WHOIS server

通过查询ARIN WHOIS server获取给定关键字的所有POC,ASN,组织和终端用户。

whois -h whois.arin.net "z wikimedia"

获取给定关键字的所有信息

3. 自治系统(AS)号可以帮我们识别属于组织的网络块,以及发现网络块中主机上运行的服务。

使用dig或host解析给定域的IP地址:

dig +short google.com

获取给定IP的ASN:

curl -s http://ip-api.com/json/IP_ADDRESS | jq -r .as

我们可以使用WHOIS服务或NSE脚本,来识别属于ASN号码的所有网络块:

nmap --script targets-asn --script-args targets-asn.asn=15169

识别属于ASN号码的所有网络块

4. 如今使用云存储的企业越来越多,尤其是对象/块存储服务,如Amazon S3,DigitalOcean Spaces和Azure Blob Storage。但在过去的几年里,由于S3 buckets错误配置导致的数据泄露事件频出。

根据我们的经验,我们看到人们将各种数据存储在安全性较差的第三方服务上,从纯文本中的凭据到他们私人的宠物照片。

这里有一些工具例如Slurp、AWSBucketDump和Spaces Finder,可用于搜索可公开访问的对象存储实例。Slurp和Bucket Stream等工具将证书透明度日志数据与基于置换的发现相结合,以识别可公开访问的S3 buckets。

识别可公开访问的S3 buckets

识别可公开访问的S3 buckets

5. Wayback Machine是一个国外的网站,它是互联网的一个备份工具,被称为互联网时光机,自从1996年以来Wayback Machine已经累计备份了超过4350亿个网页。

你只要在它的网站上输入一个网站地址,就能看到这个网站在过去的不同时期分别长什么样。通过Wayback CDX Server API我们可以轻松的搜索存档。waybackurls是一个用于搜索目标站点相关数据的工具。

挖掘Wayback Machine存档对我们识别给定域的子域,敏感目录,敏感文件和应用中的参数非常有用。

go get github.com/tomnomnom/waybackurls waybackurls icann.org

挖掘Wayback Machine存档

6. Common Crawl网站为我们提供了包含超过50亿份的网页数据,并且任何人都可以免费访问和分析这些数据。

我们可以通过Common Crawl API在索引的抓取数据中搜索我们感兴趣的站点。这里有一个小脚本(cc.py)可以帮你完成搜索任务。

python cc.py -o cc_archive_results_icann.org icann.org

Common Crawl

7. Censys是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。

Censys将数据集分为三种类型 – IPv4主机,网站和SSL/TLS证书。如果你能熟练的掌握Censys的搜索技巧,那么它将发挥与Shodan不相上下的强大作用。

Censys为我们提供了一个API,我们可以用它来查询数据集。这里我编写了一个连接调用Censys API的Python脚本,用于查询给定域的SSL/TLS证书,并提取属于该域的子域和电子邮件地址。

Censys

Censys

8. Censys会从多个数据源来收集SSL/TLS证书。

使用的技术之一是探测443端口上的公共IPv4地址空间上的所有计算机,并聚合它们返回的SSL/TLS证书。Censys提供了一种关联提供证书的IPv4主机获取的SSL/TLS证书的方法。

通过关联SSL/TLS证书和提供证书的IPv4主机,可以找到受Cloudflare等服务保护的域的源服务器。

收集SSL/TLS证书

9. 源码对于安全评估来说是一座信息宝库。

通过源码我们可以获取到大量信息,例如凭据,潜在漏洞,基础架构等信息。GitHub是一个非常受欢迎的版本控制和协作平台,在上面存有大量组织的源码。另外GitHubCloner,Gitlab和Bitbucket同样也非常的受欢迎。总之,不要错过任何可能的地方。

可以自动化的为我们克隆Github帐户下所有的存储库。

$ python githubcloner.py --org organization -o /tmp/output

除了GitHubCloner之外,你还可以尝试使用Gitrob,truffleHog,git-all-secrets等工具。

10. Forward DNS dataset是作为Rapid7 Open Data项目的一部分发布的。

数据格式为gzip压缩的JSON文件。虽然数据集很大(20+GB压缩,300+GB未压缩),但我们仍可以解析数据集并查找给定域的子域。最近,数据集已根据数据包含的DNS记录类型被分为了多个文件。

Forward DNS dataset

11. 内容安全策略(CSP)定义Content-Security-Policy HTTP头,允许我们创建可信内容源的白名单,并指示浏览器仅从这些可信源执行或呈现资源。

Content-Security-Policy头将为我们列出作为攻击者可能感兴趣的一堆源(域)。这里我编写了一个用来解析CSP头中列出域名的简单脚本。

内容安全策略(CSP)

12. SPF是为了防垃圾邮件的一种DNS记录类型,是一种TXT类型的记录。

SPF记录的本质就是向收件人宣告本域名的邮件从清单上所列IP发出的都是合法邮件,并非冒�的垃圾邮件,可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。

简而言之,SPF记录为我们列出了所有授权发送电子邮件的主机。有时,SPF记录还会泄漏内部网络块和域名。

一些服务如Security Trails可以为我们提供DNS记录的历史快照。我们可以通过查看历史SPF记录,发现SPF记录中列出的给定域的内部网络块和域名。

Security Trails

这里有一个我们编写的脚本,可以帮助你从给定域的SPF记录中提取网络块和域名。当使用-a选项运行时,该脚本还可以为我们返回ASN详细信息。

python assets_from_spf.py icann.org -a | jq .

返回ASN详细信息


*参考来源:appsecco , FB小编 secist 编译,转载来自FreeBuf.COM


打赏我,让我更有动力~

0 条回复   |  直到 2018-10-11 | 2355 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.