这是我自己系统的学习网络安全的第一步,充满了尝试和探索,中间的曲折和无数次失败,无数次报错。肝了无数日夜,都是一把心酸泪,希望分享给大家之后,能让大家少走一些弯路。

作者:李世荣

进行渗透测试之前,最重要的一步就是信息收集,在这个阶段,我们要尽可能地收集目标组织的信息。所谓”知己知彼,百战不殆“我们越是了解测试目标,测试的工作就越容易,在信息收集汇总中,我们要收集的有服务器的配置信息,网站的,敏感信息,其中包括域名

1.域名
2.子域名
3.目标网站系统
4.CMS指纹
5.目标网站真实IP
6.开放的端口
...

只要是与目标网站相关的信息,我们都应该尽可能去搜集。

1.1 收集域名信息

知道目标网站的域名之后,我们要做的第一件事情就是获取域名的注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。

1.1.1 Whois查询

Whois是一个标准的互联网协议,可用于收集网络注册信息注册的域名IP地址等信息。简单来说,Whois就是一个用来查询是否已被注册以及注册域名的详细信息的数据库(如域名所有人,域名注册商)。在Whois查询中,得到注册人的姓名和邮箱信息通常对测试个人网站非常有用,比如我自己的,因为我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息。对于中小站点而言,域名所有人往往就是管理员。
在Kali系统中,Whois已近默认安装,只需输入要查询的域名即可。
截屏2021-07-27 上午1.28.54.png
这是本人的一些信息(Whois可以查到的)上面有我的名字,省份,国家。
在线Whois查询的常用网站:

爱站工具网:https://whois.aizhan.com
站长之家:http://whois.chinaz.com
VirusTotal:https://www.virustotal/com

https://whois.aizhan.com
腾讯云网站上面也有提供可以查,还有很多就不一一列举了。域名服务商,域名拥有者,以及他们的邮箱,电话地址等。

1.1.2 备案信息查询

网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的备案,这是国家信息产业部对网站的一种管理,为了防止从网上从事非法的网站经营活动的发生。主要针对国内网站,如果网站搭建在其他国家,则不需要备案。(若搭建个人网站,则通常把服务器放在香港等地方,这样就不用备案了)

1.2收集敏感信息

Google是世界上最强的搜索搜索引擎之一,对每一位渗透测试者而言,它可能是一款绝佳的黑客工具。我们可以通过构造特殊的关键字语法来搜索互联网上的相关敏感信息。下面据一些例子。

关键字                   说明
Site                指定域名
Inurl               URL中存在关键字的网页
Intext              网页正文中的关键字
Filetype            指定文件类型
Intitle             网页标题中的关键字
link                link:baidu.com即表示返回所有和baidu.com做了链接的URL
Info                查找指定站点的一些基本信息
cache               搜索Google里关于某些内容的缓存

举个例子,我们尝试搜索一些学校网站的后台,语法为"site:edu.cn intext:后台管理",意思是搜索某个网页正文中含有"后台管理"并且域名是edu.cn的网站。
截屏2021-07-27 上午1.54.49.png
可以看到利用Google搜索,我们可以很轻松地得到想要的信息,还可以用它来收集数据库文件,SQL注入,配置信息,源代码泄露,未授权访问和robots.txt等敏感信息。
当仍不仅仅是Google搜索引擎,这种思路可以同样应用在百度,雅虎,Bing,Shodan上面,语法大同小异,大家可以根据自己需求去探索。
我们打CTF的都知道的一个工具:Burp Suite这个工具的Repeater功能同样可以获取一些服务器信息,如运行的Serve类型及其版本,PHP的版本及其信息等。针对不同的Server,可以利用不同的漏洞进行测试。
截屏2021-07-27 上午2.25.29.png
初次之外,我们还可以在Gihub上寻找相关的敏感信息,如数据库链接信息,邮箱密码,uc-key,阿里的osskey,有时候还能找到泄露的源代码等。
查询历史漏洞信息:https://wooyun.shuimugan.com

1.3 收集子域名信息

子域名也就是二级域名,是指顶级域名下的域名。假设我们的目标网络规模比较大,直接从主域名入手显然是很不理智的,因为对于这种规模的目标,一般其主域名都是重点防护区域,所以不如先进入某个子域名,然后再想办法迂回接近真正的目标,这无疑是比较好的选择。那么我们的目标就在于,如何尽可能多的搜集多目标的高价值子域。

  1. 子域名检测工具
    用于子域名检测的工具主要有:

    Layer子域名挖掘机
    K8
    wydomain
    Sublist3r
    dnsmaper
    subDomainsBrute
    Maltego CE
    ...

    像Layer子域名挖掘机,Sublist3r,subDomainsBrute值得推荐。

Layer子域名挖掘机的使用方法比较简单,在域名对话框中直接输入域名就可以进行扫描,它的显示界面比较细致,有域名,解析IP,CDN列表,Web服务器和网站状态,这些都是很重要的信息。
截屏2021-07-27 下午6.22.52.png
(这是用虚拟机Win10截得图,适配问题显示的不是很清晰)
subDomainsBrute的特点是可以用小字典递归的发现三级域名,四级域名,甚至五级域名等不容易被发现的域名。
执行该工具的命令:

python subDomainsBrute.py xxx.com

Sublist3r也是一个比较常用的工具,它能列举多种资源,如在Google,Yahoo,Bing,Baidu和Ask等搜索引擎中可查到的子域名,还可以列出Netcraft,VirusTotal,ThreatCrowd,DNSdumpster和Reverse DNS查到的子域名。

2.搜索引擎枚举
我们可以通过Google语法搜索子域名,例如要搜索百度旗下的子域名就可以使用"site:baidu.com"语法。
截屏2021-07-27 下午6.34.03.png
3.第三方聚合应用枚举
很多第三放服务汇聚了大量的DNS数据集,可通过它们检索某个给定域名的子域名。只需要在其搜索栏中输入域名,就可以检索到相关的域名信息。

DNSdumpster网站:https://dnsdumpster.com
在线DNS侦查

截屏2021-07-27 下午6.41.06.png
截屏2021-07-27 下午6.41.28.png
截屏2021-07-27 下午6.41.48.png
还有搜索的工具挖掘出指定域名潜藏的大量子域。
4.证书透明度公开日志枚举
证书透明度(Certificate Transparency, CT)是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名,子域名和邮箱地址,这些也经常成为攻击者非常希望获取得到的有用信息。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。

查询网站:
http://crt.sh
https://censys.io
还可以通过一些在线网站查询子域名:
子域名爆破网站:https://phpinfo.me/domain
IP反查绑定域名网站:http://dns.aizhan.com
最后修改:2021 年 09 月 13 日 09 : 30 PM
如果觉得这篇文章不错,不妨赏我碎银几两。