Web安全攻防:渗透测试学习笔记1(自用)

第一章 渗透测试之信息收集

在信息收集中,最主要的就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息﹑目标网站系统﹑CMS指纹﹑目标网站真实IP﹑开放的端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。

1.1 收集域名信息

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

1.1.1 Whois 查询

Whois就是一个用于查询域名是否已被注册以及注册域名的详细信息的数据库(如域名所有人、域名注册商)
在Whois查询中,得到注册人的姓名和邮箱信息通常对测试个人站点非常有用,因为我们可以通过搜索引擎和社交网络挖掘出域名所有人的很多信息。对中小站点而言,域名所有人往往就是管理员。
Web安全攻防:渗透测试学习笔记1(自用)_第1张图片
在线Whois查询的常用网站有爱站工具网(https://whois.aizhan.com)、站长之家(http://whois.chinaz.com)和VirusTotal(https://www.virustotal.com),通过这些网站可以查询域名的相关信息,如域名服务商、域名拥有者,以及他们的邮箱、电话、地址等。
Web安全攻防:渗透测试学习笔记1(自用)_第2张图片

1.1.2 备案信息查询

网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的备案.
常用的网站有以下这两个。
● ICP备案查询网:http://www.beianbeian.com。
● 天眼查:http://www.tianyancha.com。
Web安全攻防:渗透测试学习笔记1(自用)_第3张图片

1.2 敏感信息

Google的常用语法及其说明
Web安全攻防:渗透测试学习笔记1(自用)_第4张图片
举个例子,我们尝试搜索一些学校网站的后台,语法为“site:edu.cn intext:后台管理”,意思是搜索网页正文中含有“后台管理”并且域名后缀是edu.cn的网站
Web安全攻防:渗透测试学习笔记1(自用)_第5张图片

1.3 收集子域名信息

子域名也就是二级域名,是指顶级域名下的域名。
1.子域名检测工具
用于子域名检测的工具主要有Layer子域名挖掘机、K8、wydomain、Sublist3r、dnsmaper、subDomainsBrute、Maltego CE等。笔者重点推荐Layer子域名挖掘机、Sublist3r和subDomainsBrute。

layer子域名挖掘机下载与使用教程:
https://blog.csdn.net/m0_48108919/article/details/119106181
Web安全攻防:渗透测试学习笔记1(自用)_第6张图片
subDomainsBrute的特点是可以用小字典递归地发现三级域名、四级域名,甚至五级域名等不容易被探测到的域名。执行该工具的命令如下所示。python subDomainsbrute.py xxxx.com
Sublist3r也是一个比较常用的工具,它能列举多种资源,如在Google、Yahoo、Bing、Baidu和Ask等搜索引擎中可查到的子域名,还可以列出Netcraft、VirusTotal、ThreatCrowd、DNSdumpster和Reverse DNS查到的子域名
2.搜索引擎枚举
利用Google语法搜索子域名
要搜索百度旗下的子域名就可以使用“site:baidu.com”语法
3.第三方聚合应用枚举
读者也可以利用DNSdumpster网站(https://dnsdumpster.com/)、在线DNS侦查和搜索的工具挖掘出指定域潜藏的大量子域
4.证书透明度公开日志枚举
证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址
查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。
笔者推荐crt.sh:https://crt.sh和censys:https://censys.io这两个网站
Web安全攻防:渗透测试学习笔记1(自用)_第7张图片
此外,读者还可以利用一些在线网站查询子域名,如子域名爆破网站(https://phpinfo.me/domain),IP反查绑定域名网站(http://dns.aizhan.com)等。

1.4 收集常用端口信息

最常见的扫描工具就是Nmap(具体的使用方法后续章节会详细介绍),无状态端口扫描工具Masscan、ZMap和御剑高速TCP端口扫描工具
常见的端口及其说明,以及攻击方向汇总如下:
● 文件共享服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第8张图片
● 远程连接服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第9张图片
● Web应用服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第10张图片
● 数据库服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第11张图片
● 邮件服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第12张图片
● 网络常见协议端口
在这里插入图片描述
● 特殊服务端口
Web安全攻防:渗透测试学习笔记1(自用)_第13张图片

1.5 指纹识别

本节所讲的指纹是指网站CMS指纹识别、计算机操作系统及Web容器的指纹识别等。
比如WordPress在robots.txt中会包含wp-admin、首页index.php中会包含generator=wordpress 3.xx,这个特征就是这个CMS的指纹,那么当碰到其他网站也存在此特征时,就可以快速识别出该CMS
代表工具有御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识别等,可以快速识别一些主流CM

1.6 查找真实IP

通过域名来确定目标服务器的真实IP
1.不存在CDN时
可以直接通过www.ip138.com获取目标的一些IP及域名信息
Web安全攻防:渗透测试学习笔记1(自用)_第14张图片
2.存在CDN时
CDN即内容分发网络,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html、css、js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。
如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器。
(1)判断是否使用了CDN
ping目标主域
用了CDN:
Web安全攻防:渗透测试学习笔记1(自用)_第15张图片
没用CDN:
Web安全攻防:渗透测试学习笔记1(自用)_第16张图片
还可以利用在线网站17CE(https://www.17ce.com)进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致
(2)绕过CDN寻找真实IP
● 内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP
● 扫描网站测试文件,如phpinfo、test等,从而找到目标的真实IP
(3)验证获取的IP
最简单的验证方法是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样.
或者在目标段比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开了80、443、8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点

1.7 收集敏感目录文件

探索web目录结构
针对网站目录的扫描主要有DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py(轻量级快速单文件目录后台扫描)、Sensitivefilescan(轻量级快速单文件目录后台扫描)、Weakfilescan(轻量级快速单文件目录后台扫描)等工具
kali-Dirbuster使用
Web安全攻防:渗透测试学习笔记1(自用)_第17张图片
启动DirBuser后,主界面如下:
Web安全攻防:渗透测试学习笔记1(自用)_第18张图片
Web安全攻防:渗透测试学习笔记1(自用)_第19张图片
配置完成后,点击开始:
看到DirBuster在我们的字典中找到了至少两个文件:cgi-bin和phpmyadmin. 响应码200表示文件或目录存在并且可以被读取。Phpmyadmin是一个基于Web的mysql数据库; 查找一个带有tis名称的目录告诉我们服务器中有一个数据库管理系统(DBMS),它可能包含有关应用程序及其用户的相关信息:
https://blog.csdn.net/weixin_45116657/article/details/101531332
Web安全攻防:渗透测试学习笔记1(自用)_第20张图片

1.8 社会工程学

你可能感兴趣的:(读书笔记,web安全)