信息搜集
整理自开源情报(OSINT)搜集技术详解
主要搜集内容:
- 目标服务器真实IP、所属组织
- 目标域名、子域名、DNS服务器
- 目标外网架构(DMZ区和外网可以触碰到的,公开+非公开),技术栈、硬件设备
- 邮件服务器:版本、地址
- 门户端口、管理接口、cms版本、http方法、敏感文件
- OA
- 文件(内容)管理服务器
- DNS服务器、出口路由
- 其他C段服务器
- 现实社会关系,人员构成
-
Whois信息:可查找到目标的管理员联系人及其电子邮件地址、IP地址的历史信息、域名信息
- 通过HaveIBeenPwned可以搜索邮箱地址是否在泄露的数据库中
- 在线查询平台:
- https://www.arin.net/
- http://whois.domaintools.com/
- 可用工具:
- WhoisLookup
- whois [Metasploit内置命令]
whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。
-
Google Hacking:搜索目标敏感文件、子域名
site:*.example.org ext:php | ext:txt | ext:log
搜索指定站点的php、txt、log文件- 谷歌高级搜索
- Exploit DB 的GoogleHacking语法模板
- 留意
inc
、bak
、txt
、sql
文件
- LinkedIn资料(或其他人力资源资料):目标人员构成
- 尝试找到非技术管理人员作为弱口令突破
- 公司电子邮件地址格式
- 员工用户名命名规则
- 通过msf辅助搜索Email地址
search_email_collector
- 检查IP地址
- 反查是否托管多个域名
- 服务器开放端口
- 综合工具:端口检查、地理位置、路由路径
- IP反查工具:IP反查、国内反查
- http://dns.aizhan.com
- http://s.tool.chinaz.com/same
- 对IP的地理位置进行查询:除了shodan、fofa之外,MaxMind、国内纯真数据库、IPIP、Ip Geolocation API、
- IP相关信息:https://www.ipip.net/ip.html
- Bypass CDN:
-
利用目标的邮件功能:邮件订阅、反馈、注册认证等,查看邮件服务器源IP(QQ邮箱中“显示邮件原文”即可)
-
XSS盲打、命令执行、SSRF
-
子域名:https://x.threatbook.cn/、https://dnsdb.io/zh-cn/
-
尝试使用国外地址访问站点:https://asm.ca.com/en/ping.php(类似于多地PING)
-
查询历史DNS解析记录:https://dnsdb.io/zh-cn/、https://x.threatbook.cn/、http://toolbar.netcraft.com/site_report?url=
-
查询CDN提供商相关信息:https://tools.ipip.net/cdn.php
-
网络空间引擎信息:按照title、body等特征,尝试在其数据库中搜索历史信息,可能会包含真是IP。
- 请求无头域名,比如目标是
www.xxx.com
,可以尝试请求xxx.com
- 请求无头域名,比如目标是
-
https://github.com/vincentcox/bypass-firewalls-by-DNS-history
-
查看泄露的敏感文件中是否存在真实地址
-
诡异的方法:https://github.com/Ridter/get_ip_by_ico/blob/master/get_ip_by_ico.py
-
利用证书信息:
https://crt.sh
# -*- coding: utf-8 -*- # @Time : 2019-10-08 22:51 # @Author : Patrilic # @FileName: SSL_subdomain.py # @Software: PyCharm import requests import re TIME_OUT = 60 def get_SSL(domain): domains = [] url = 'https://crt.sh/?q=%25.{}'.format(domain) response = requests.get(url,timeout=TIME_OUT) # print(response.text) ssl = re.findall("
(.*?).{} ".format(domain),response.text) for i in ssl: i += '.' + domain domains.append(i) print(domains) if __name__ == '__main__': get_SSL("baidu.com") -
正面上了管理员,拿到CDN账号,直接查看配置信息。
-
- DNS相关:子域名
-
在线查询:DNSdumpster、virustotal、SecutiyuTrails、云溪资产、https://viewdns.info/
-
历史DNS查询:
- https://dnsdb.io/zh-cn/
- https://x.threatbook.cn/
- http://toolbar.netcraft.com/site_report?url=
-
nslookup
查询- 输入
nslookup
进入命令行 - 设置查询类型
set type=XX
- A为对IP地址进行解析,显示域名解析的地址
- MX为查找其邮件转发服务器
- 使用
ls -d domain.com
来测试域传送漏洞
- 输入
-
dig命令可以指定使用特定的域名解析服务器进行查询,同时会触发解析服务器向官方权威DNS服务器进行一次递归查询,以获得权威解答
-
域传送漏洞测试:
- 使用dig:
dig @指定的DNS服务器 -t axfr 域名
- 使用nslookup:在输入
server DNS服务器
后,使用ls -d 域名
测试
- 使用dig:
-
子域名枚举:
https://github.com/lijiejie/subDomainsBrute lijiejie https://github.com/ring04h/wydomain zhuzhuxia
-
网络上的查询接口:
http://api.hackertarget.com/reversedns/?q=youku.com https://crt.sh/?q=%25baidu.com http://i.links.cn/subdomain/baidu.com.html
-
集成化工具:OneForAll、aquatone(子域名爆破、常见端口扫描、互联网API、搜集HTTP响应)、fierce、dnsrecon
-
OneForALL + ESD(Enumeration sub domains(枚举子域名),一个py脚本) + JSfinder
-
爆破工具:subbrute、 gobuster、gobuster
域名泛解析:在域名前添加任何子域名,均可访问到所指向的WEB地址。也就是客户的域名#.com之下所设的*.#.com全部。
- 检查HTTP响应头、状态码:尝试构建异常、细微错误的报头
- 在线对网站服务进行查询:Netcraft、https://builtwith.com/
- 通过网络扫描器搜索目标域名,查看相关信息
- Shodan
- Censys
- FOFA
- 搜过Github中的敏感内容:Gitrob
- 页面历史相关:
- 在线查询网站历史页面
- 网站历史信息数据库,要自己写程序调用API
- Wayback Machine,
go get github.com/tomnomnom/waybackurls waybackurls icann.org
-
SSL/TLS证书信息:域名、子域名、电子邮件、所属机构
- 利用CT日志查找子域名脚本
- 批量扫描地址段的SSL证书中的域名脚本
- 查看网站SSL/TLS信息:
SSLyze
、TestSSL
、SSLScan
-
子域名枚举的艺术
-
Rapid7 数据库:
- DNS(正向、反向)
- HTTP(s) 响应
- SSL证书
- 各类扫描
-
自动化工具:
Maltego:一个交互式数据挖掘工具
-
摄像头:http://www.opentopia.com/
Google & Github 关键词
后台地址
site:xxx.xxx 管理后台/登陆/管理员/系统
site:xxx.xxx inurl:login/admin/system/guanli/denglu
敏感文件
site:xxx.xxx filetype:pdf/doc/xls/txt
site:xxx.xxx filetype:log/sql/conf
测试环境
site:xxx.xxx inurl:test/ceshi
site:xxx.xxx intitle:测试
邮箱/QQ/群
site:xxx.xxx 邮件/email
site:xxx.xxx qq/群/企鹅/腾讯
其他
site:xxx.xxx inurl:api
site:xxx.xxx inurl:uid=/id=
site:xxx.xxx intitle:index of
Github
搜索特殊关键词
@xxx.com password/secret/credentials/token
@xxx.com config/key/pass/login/ftp/pwd
搜索连接凭证
@xxx.com security_credentials/connetionstring
@xxx.com JDBC/ssh2_auth_password/send_keys
工具
https://github.com/FeeiCN/GSIL
企业级敏感信息泄露监控,国人项目。
https://github.com/az0ne/Github_Nuggests
自动爬取GitHub,提取邮箱密码自动尝试登陆
https://github.com/laramies/theHarvester
国外项目,自动化开源情报搜集