本篇文章主要讲解如何进行信息收集,列举了在信息收集中常见的工具和手段。
原文地址:sinblog
WHOIS查询是一种查找域名注册信息的工具或服务。WHOIS是一个协议,允许用户查询某个域名或IP地址的域名、注册信息以及其他相关互联网的详细数据。WHOIS数据库由多个注册商提供和注册机构维护,公开提供域名注册人的信息。
自己购买一个域名,配置服务器解析,通过尝试将会更加理解域名查询的作用,为什么可以通过域名查找到联系人信息。
whois查询可以查询到一个网站的主持人,网站管理者的信息。
注册人姓名或公司:所有权所有者的名称或公司。
地址:注册人的物理地址。
电子邮件:注册人联系的电子邮件地址。
电话:注册人联系的电话号码。
注册商信息(注册商信息):
IANA ID:注册商的IANA(互联网号码分配局)识别号。
注册日期:域名注册的日期。
近期日期:域名届时将过期。
更新时间:已知上次更新的时间。
站长之家域名WHOIS信息查询地址 http://whois.chinaz.com/
爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/
美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/
爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/
易名网域名WHOIS信息查询地址 https://whois.ename.net/
中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/
纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
中资源域名WHOIS信息查询地址 https://www.zzy.cn/domain/whois.html
三五互联域名WHOIS信息查询地址 https://cp.35.com/chinese/whois.php
新网互联域名WHOIS信息查询地址 http://www.dns.com.cn/show/domain/whois/index.do
国外WHOIS信息查询地址 https://who.is/
如果一些域名无法查到,信息被隐藏,可以通过icp备案查询找到信息。
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等),推荐以下网站查询:
天眼查 https://www.tianyancha.com/
ICP备案查询网http://www.beianbeian.com/
爱站备案查询 https://icp.aizhan.com/
域名助手备案信息查询 http://cha.fute.com/index
Linux/MacOS:大多数Linux和MacOS系统都预装了WHOIS工具。您可以直接在终端中使用命令:
whois example.com
Windows:您可以在Windows上安装一个第三方工具或通过PowerShell来执行WHOIS查询。Windows 10及以上的系统可以使用以下命令:
nslookup -type=SOA example.com
python:可以使用python中的whois库进行whois查询:
import whois
domain_info = whois.whois('example.com')
print(domain_info)
WHOIS反查(Reverse WHOIS)是一种通过已知的联系信息(如电子邮件地址、公司名称、电话号码等)来查找相关域名的技术。与普通的WHOIS查询不同,普通的WHOIS查询是输入某个具体的域名来获取其注册信息,然后 WHOIS 反查一下通过一个已知的注册信息(例如某个邮箱地址)来查找此处关联的所有域名。
http://whois.chinaz.com/reverse
子域名是在主域名(顶级域名)之前的附加部分,通常用于将主域名划分为不同的部分或功能。收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。
子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
域名的级别分类其实就是根据域名中“点”的数量来划分的,通常分为以下几个级别:
就是我们看到的域名最后那一部分,比如.com、、或国家域名如(中国)、 (美国.org)等。.net.cn.us
例子:在example.com中,.com就是顶级域名。
顶级域名前面的部分就是二级域名,一般是你申请的主域名。
例子:在example.com中,example是二级域名。
可以把二级域名理解为你自己定制的名字,比如你给自己的网站起一个名字叫mywebsite,那么它的二级域名就是你的mywebsite.com。
域名解析的意思是把域名转换成计算机可以理解的IP地址,因为计算机之间用IP地址来通信,而我们人类记不住复杂的IP地址,所以用简单的域名来代替。域名解析的主要类型有几种,分别告知DNS(域名系统)如何处理域名请求:
这是最常用的类型,用于将域名解析为IPv4地址。比如,当你访问时example.com,它会通过记录把example.com转换去一个IP地址,比如192.168.1.1,然后你的电脑就知道在哪里找这个网站了。
例子:example.com -> 192.168.1.1
这是一个记录的升级版本,用于解析IPv6地址,因为IPv6是比IPv4更长、更复杂的地址。
例子:example.com -> 2400:cb00:2048:1::c629:d7a2
CNAME 是“别名记录”,用于将一个域名指向另一个域名,而不是直接指向 IP 地址。举个例子,你可能有www.example.com和example.com,让它们指向同一个地方,你可以用 CNAME 来www.example.com指向example.com。
例子:www.example.com -> example.com
MX记录是用来处理电子邮件的,它告诉邮件服务器你的邮件应该发到哪个服务器。比如,如果有人给你发邮件到[email protected],MX记录会告诉邮件系统,应该把邮件发送到哪个邮件服务器。
例子:example.com -> mail.example.com
TXT 记录用于存储文本信息,它可以用来做各种验证,比如告诉邮箱服务器哪些发件人是可信的,防止垃圾邮件。它也用于域名验证,比如网站安全证书、第三方验证等。
例子:example.com -> “v=spf1 ip4:192.168.1.1/16 -all”
NS 记录指定该域名使用哪个 DNS 服务器来解析。比如你有一个域名example.com,你需要告诉网络世界,哪个 DNS 服务器负责解析这个域名。
例子:example.com -> ns1.exampledns.com
SRV 记录指定某些特殊服务的服务器位置,比如在线游戏服务器、即时通讯服务等,它不仅可以指定服务器,还可以指定服务端口。
例子:_sip._tcp.example.com -> sipserver.example.com:5060
查询子域名主要的方法一种是枚举,如果有一个域名是baidu.com,那么可以访问a.baidu.com,b.baidu.com,如果可以方法则有此域名,没有则没有此域名。另外一种是字典,讲常见的二级子域名放在一个字典中,遍历尝试字典中的二级域名,找到可以访问的域名。
https://sitereport.netcraft.com
DNSDumpster.com - dns recon and research, find and lookup dns records
https://hackertarget.com/find-dns-host-records
baidu.com子域名大全 baidu.com二级域名 baidu.com域名解析查询 (ip138.com)
github地址:https://github.com/euphrat1ca/LayerDomainFinder
教程:https://blog.csdn.net/m0_48108919/article/details/119106181
github地址:https://github.com/lijiejie/subDomainsBrute
教程:https://blog.csdn.net/R8dianjiqiang/article/details/125492327
github: https://github.com/aboul3la/Sublist3r
教程:https://leeyuxun.github.io/Sublist3r%E5%9F%BA%E7%A1%80%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.html
github: https://github.com/shmilylty/OneForAll
教程:https://blog.csdn.net/qq_52358808/article/details/119896102
百度/谷歌/必应 site:moonsec.com
空间搜索
fofa domain=“moonsec.com”
shodan hostname:“baidu.com”
zoomeye hostname:baidu.com
很多网站会通过CDN对网页进行加速,同时隐藏真实的域名,这时候可以通过一些方法找到真实的服务器。
多个地点Ping服务器,网站测速 - 站长工具 (chinaz.com)
DNS History
有些子域名或许会指向真实的域名。
通过国外的主机发送,或许可以暴露出真实域名。
如邮件、SSl证书、手机APP抓包、网络空间搜索引擎等
当确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。
查看本机端口信息:
windows:
netstat -aon|findstr 3306
linux:
netstat -an|grep 3306
远程机器端口:
telnet 192.168.142.137 80
wget 192.168.142.137 80
nc -vz 192.168.142.137 445
Masscan 是一个以速度著称的工具,能够在短时间内扫描数百万个 IP 地址的开放端口。这使得它非常适合大规模网络扫描。
Masscan 使用异步 I/O 和高效的网络协议栈,能够同时处理大量的扫描请求,从而大幅提高扫描速度。
用户可以指定要扫描的 IP 范围、端口范围以及使用的协议(TCP 或 UDP)。这使得 Masscan 在不同的扫描场景中都能灵活应用。
Masscan 通过命令行进行操作,用户可以通过简单的命令来启动扫描,适合自动化和脚本化使用。
Masscan 支持多种输出格式,包括 XML、JSON 和普通文本,使得扫描结果易于分析和处理。
教程:https://blog.csdn.net/X_sweelg/article/details/117905079
https://wiki.wgpsec.org/knowledge/tools/nmap.html
nmap -sV 192.168.0.2
nmap -sT 192.168.0.2
nmap -Pn -A -sC 192.168.0.2
nmap -sU -sT -p0-65535 192.168.122.1
nmap -Pn -sV www.moonsec.com
御剑端口扫描工具
单线程扫描工具
http://coolaf.com/tool/port
所谓指纹,是目标对象的关键特征,下面是一些常见的识别对象:
cms信息:比如Discuz、织梦、帝国cms、phpcms、ECshop等;
前端技术:比如HTML5、juery、bootstrap、Vue、ace等;
开发语言:比如PHP、Java、Ruby、Python、C#等;
Web服务器:比如Apache、Nginx、IIS、Lighttpd等;
应用服务器:比如Tomcat、Jboss、Weblogic、Kali、Centos等;
操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
CDN信息:是否使用CDN、如clouddlare、帝联、蓝讯、网宿、七牛云、阿里云等;
WAF信息:是否使用WAF、如D盾、云锁、宝塔、安全狗、360等;
博客、微博、团购网站、导航网站、信息分类、问答网站、商城、百科…
企业官网、学校官网、医院官网
版权信息
特定文件MD5值
查看网页源代码
通过特定文件分析
MD5指纹识别:GitHub - Lucifer1993/cmsprint: CMS和中间件指纹库
whatweb -v www.discuz,net
WhatRuns
Wappalyzer
TideFinger 潮汐指纹 TideFinger 潮汐指纹 (tidesec.com)
御剑指纹扫描器(需要.NET Framework)
Test404轻量CMS指纹识别 v2.1
GitHub - Tuhinshubhra/CMSeeK: CMS Detection and Exploitation suite - Scan WordPress, Joomla, Drupal and over 180 other CMSs
ping
超级ping
nslookup
ldb
-国内:
http://cdn.chinaz.com/
国外:
https://www.cdnplanet.com/tools/cdnfinder/
脚本:
https://github.com/boy-hack/w8fuckcdn/
https://github.com/3xp10it/xcdn
WAF Web应用防火墙
各种云:阿里云、腾讯云、华为云、百度云……
安全狗、宝塔、360、知道创宇、长亭、安恒……
额外的cookie;
任何响应或请求的附加标头;
响应内容(如果被阻止请求);
响应代码(如果被阻止请求);
IP地址(云WAF);
JS客户端模块(客户端WAF)
触发拦截:
xsstring = ‘’ sqlistring = “UNION SELECT ALL FROM information_schema AND ’ or SLEEP(5) or '” lfistring = ‘…/…/…/…/etc/passwd’ rcestring = ‘/bin/cat /etc/passwd; ping 127.0.0.1; curl google.com’ xxestring = ‘]>&hack;’
可以在GitHub上找到优秀的指纹库。
Kali自带:
https://github.com/EnableSecurity/wafw00f
wafw00f https://www.12306.cn
nmap www.12306.cn --script=http-waf-detect.nse
sqlmap -u "xxx.com?id=1" --identify-waf
其他:
https://github.com/0xInfection/Awesome-WAF
Google Hacking
(谷歌黑客)是一种利用Google搜索引擎的高级搜索功能来发现潜在的敏感信息或漏洞的技术。通过特定的搜索语法,用户可以准确地定位到特定类型的文件、信息或网页。种技术在安全研究和渗透测试中常被使用。
https://www.exploit-db.com/google-hacking-database
https://github.com/BullsEye0/google_dork_list
用于限制搜索结果在特定网站内。
示例:site:example.com找到example.com上面的所有页面。
用于查找特定类型的文件。
例子:filetype:pdf找到PDF格式的文件。
组合示例:site:example.com filetype:xls找到example.com上的 Excel 文件。
用于创建标题中包含特定词的页面。
示例:intitle:"index of"新建标题中包含“index of”的页面。
用于查找 URL 中包含特定词的页面。
例子:inurl:admin找到URL中包含“admin”的页面。
查看Google存储的某个页面的存储版本。
示例:cache:example.com查看example.com服务器的页面。
查找指向某个网站的链接。
示例:link:example.com找到指向example.com的页面。
找到与某个网站类似的网站。
例子:related:example.com找到example.com相关的网站。
目的是为了达到目的。
示例:"sensitive information"找到包含工作原理“敏感信息”的页面。
用于某些词。
示例:site:example.com -login找到example.com上的页面,但不包括登录页面。
GitHub搜索是一个强大的工具,允许用户通过特定的语法和关键字在GitHub上快速查找代码、仓库和其他资源。
在网站中也有可能通过目录扫描找到.git文件。
https://github.com/BugScanTeam/GitHack
https://github.com/lijiejie/GitHack
https://github.com/wangyihang/githacker
https://github.com/WangWen-Albert/JGitHack
python GitHack.py xxx.com/.git/
https://github.com/gakki429/Git_Extract
in:name test:搜索仓库标题中包含“测试”的项目。
in:description test:搜索仓库描述中包含“测试”的项目。
in:readme test:搜索README文件中包含“test”的项目。
site:github.com smtp:查找包含SMTP相关信息的GitHub页面。
site:github.com String password smtp:查找与SMTP相关的字符串和密码信息。
site:github.com smtp @163.com:查找与163.com相关的SMTP配置信息。
site:github.com sa password:查找包含数据库管理员账号“sa”和密码信息的页面。
site:github.com root password:查找包含“root”账号和密码信息的页面。
site:github.com User ID=‘sa’;Password:查找特定格式的数据库查询信息。
site:github.com inurl:sql:创建URL中包含“sql”的页面,可能涉及SQL数据库信息。
site:github.com svn:查找与SVN相关的信息。
site:github.com svn username:查找包含SVN用户名的页面。
site:github.com svn password:查找包含SVN密码的页面。
site:github.com svn username password:创建包含用户名和密码的页面。
site:github.com password:创建包含“password”的页面。
site:github.com ftp ftppassword:查找与FTP相关的密码信息。
site:github.com 密码:查找包含中文“密码”的页面。
site:github.com 内部:查找与“内部”相关的信息。
Wooyun 漏洞库是一个中国的网络安全社区平台,主要用于漏洞报告和信息共享。它成立于 2010 年,以帮助白帽黑客和安全研究人员记录和分享他们发现的安全漏洞而闻名。Wooyun 提供了一个集中管理和交流的环境,让用户可以报告漏洞、分享安全研究的成果,以及讨论网络安全相关的话题。
https://www.lingfengyun.com
OSINT 开源情报收集
扫描工具:
namp zmap
方式:
IP库 枚举
实时威胁地图:
fireeye.com
地图 | 卡巴斯基网络威胁实时地图 (kaspersky.com)
Shodan Search Engine
互联网世界最早的网络空间搜索引擎
由谷歌提高技术支持的网络空间搜索引擎 免费
网络空间资源测绘
探测引擎:Xmap
创建时间
搜索内容
现有数据
扫描引擎
更新频率
API支持
价格
Kunyu(坤舆)
DiscoverTarget 将很多搜索引擎集合在一起
saucerframe
目录扫描是网站上有一些敏感文件,类似于配置文件、数据文件、目录等。
有可能会泄露数据库用户名和密码、服务器用户名与密码、数据库文件等。
目录泄露可能是配置不当、本地文件包含。
robots.txt
sitemap.txt
后台登录目录 /admin /manage
安装包(源码)
网站备份文件/数据
文件上传目录 /upload /upload.php
mysql管理界面 web界面管理 phpadmine
程序的安装路径 /install
php探针 phpinfo.php
文本编辑器
linux:
/etc/password
/etc/shadow
/etc/sudoers
MasOs: .DS_Store
编辑器产生的临时文件
目录穿越
做法:直接在域名后面拼接路径/文件名,如果返回200,就是存在
扫描方法:
递归
字典
暴力破解
爬虫模式
fuzz(模糊测试) -字典
Kali可以查询存在的所有字典
wordlists
工具
Kali自带:
dirb https://demo.testfire.net
dirb
dirbuster
御剑
Burp Suite
DirBrute
Dirsearch
Dirmap
wfuzz