web渗透测试----2、信息收集
文章目录前言一、收集域名信息1、Whois查询2、查找真实IP3、备案信息查询4、收集子域名信息二、收集敏感信息1、利用Google搜索引擎2、利用shodan搜索引擎3、托管平台三、收集端口信息四、指纹识别1、常见的CMS(内容管理系统/整站系统)2、常见的网站容器3、服务器类型(Windows、Linux)4、脚本类型(asp、jsp、php、aspx)5、数据库类型及版本五、旁站和C段1、旁
文章目录
前言
知己知彼,百战不殆。所以我们在对一个站点进行渗透测试之前,最重要的事情就是信息收集。
在信息收集中,我们主要收集的是服务器的配置信息和网站的敏感信息。当然,所有和目标网站相关的的信息,都是我们需要收集的对象。信息越多,我们在突破时的思路也会越多。
信息收集的方式可以分为两种:主动和被动。
1、主动信息收集:通过直接访问、扫描网站等方式。
2、被动信息收集:利用第三方的服务对目标进行访问,比例:Google搜索、Shodan搜索等。
一、收集域名信息
1、Whois查询
Whois是一个标准的互联网协议,可用于收集网络注册信息,注册的域名,IP地址等信息。简单来说,Whois就是一个用于查询域名是否已经被注册以及注册域名的详细信息的数据库(如域名所有人,域名注册商)。Whois通常使用TCP协议的43端口。我们可以通过安装whois或者一些在线工具进行查询,比如站长之家。
通过Whois,我们可以查询到域名服务商、域名拥有者、邮箱、电话、地址等信息,对于很多中小站点而言,这里的联系人就是管理员。
拿到以上信息,我们可以通过Whois反查,可能还会得到其他信息。
2、查找真实IP
获得真实的IP地址,可以让我们在接下来的工作中更加有针对性,但是很多时候,服务器存在CDN,那么我们如何绕过CDN去获取真实的IP呢.
判断是否使用CDN,我们可以通过ping的方式,如果ping之后,ip数量大于一个,那么获取的IP地址就不是服务器的真实地址。
绕过CDN:
1、分站域名/子域名
CDN价格比较昂贵,很对站点主域做了CDN、但是跟主域在同一服务器的子域或者分站并没有挂CDN,那么可以通过子域IP来查找主域的真实IP。
2、内部邮箱源
由于邮件系统一般位于没有经过CDN解析的内部网络,所以我们可以通过ping邮件服务器的域名去获取真实目标主域IP。但是这个邮件服务器必须是网站自带的。
3、查询域名解析记录
网站刚开始运营的时候可能没有使用CDN,所以可以通过网站域名解析网站来观察域名的IP历史记录。
域名解析网站:https//:www.netcraft.com
4、如果目标有自己的APP,可以尝尝试使用抓包软件抓取APP的请求,从中找到目标的真实IP。抓包软件burpsuite、Fiddler等。
5、绕过CloudFlare CDN查找真实IP
很多网站都使用CloudFlare提供的CDN服务,在确定目标网站使用CDN后,可以尝试通过在线网站CloudFlareWatch(http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实IP查询。
6、国外访问
国内的CDN往往只针对国内的用户访问加速,而国外的CDN就不一定了,可以通过国外的在线代理网站APP Syntheic Monitor(http://asm.ca.com/en/ping.php)访问,可能得到真实的IP地址。
7、查询主域名
部分网站仅针对www开头的域名进行CDN防护,所以我们可以通过ping www.baidu.com 和 ping baidu.com去判断真实ip。
3、备案信息查询
网站备案是根据国家法律法规,国内网站需要向国家有关部门进行备案进行管理。
查询备案信息的网站:
1、天眼查:https://www.tianyancha.com/
2、ICP备案查询网:https://www.beianx.cn/
4、收集子域名信息
子域名也就是二级域名,很多时候,主域的防护比较完善,但是二级域名可能防御会相对弱一点,那么我们可以通过渗透二级域名,再想办法迂回到真正的目标。
常用的子域名收集方法有以下几种:
1、子域名检测工具
主要有御剑、Layer子域名挖掘机、K8、wudomain、Sublist3r、subDomainBrute等。我们在使用工具进行子域名爆破的时候,可以多使用几款工具,这样搜索的信息会比仅使用一款工具更加全面一点。
2、搜索引擎枚举
我们可以利用谷歌语法搜索子域名,例如:我们在搜索百度旗下的子域名时可以使用“site:baidu.com”
3、证书透明度公开日志枚举
证书透明度(CT)是证书授权机构(CA)的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书包含域名、子域名、邮箱地址等信息。我们可以通过搜索引擎搜索一些公开的CT日志获取上述信息。
工具地址:https://crt.sh
二、收集敏感信息
1、利用Google搜索引擎
我们可以通过构造特殊的关键字语法来搜索互联网上的相关敏感信息,如数据库连接信息、邮箱密码、uc-key、泄露的源代码、敏感文件等。
Google常用黑客语法及其说明:
关键字 | 说明 | 举例 |
---|---|---|
Site | 指定域名 | Site:www.baidu.com |
Inurl | URL中存在关键字的网页 | Inurl:后台 |
Intext | 网页正文中的关键字 | 举例 |
Filetype | 指定文件类型 | 举例 |
Intitle | 网页标题中的关键字 | 举例 |
link | 返回所有相链接的URL | 举例 |
Info | 查找指定网站的一些基本信息 | 举例 |
cache | 搜索Google里关于某些内容的缓存 | 举例 |
举例:我们尝试搜索一个学校网站的后台,语法为“site:edu.cn intext:后台管理”,意思为搜索网页正文中含有“后台管理”并且域名为“edu.cn”结尾的网站。当我们访问某一具体站点时,site后可跟具体域名。 | ||
2、利用shodan搜索引擎
Shodan 是一个网络空间设备搜索引擎,可以通过 Shodan 搜索指定的设备,或者搜索特定类型的设备。
命令 | 语义 | 举例 |
---|---|---|
hostname | 搜索指定的主机或域名 | hostname:“google.com” |
port | 搜索指定的端口 | port:23 |
city | 搜索指定城市 | city:“Beijing” |
county | 搜索指定国家 | county:“China” |
product | 搜索指定软件、服务器 | product:“apache” |
version | 搜索指定版本 | version:“1.1.1” |
net | 搜索指定的ip地址或者子网 | net:“114.11.11.0/24” |
org | 搜索指定的公司组织 | org:“google” |
isp | 搜索指定的ISP供应商 | isp:“China Telecom” |
3、托管平台
GIthub、码云等代码托管平台。有些粗心的程序员在将代码上传至代码托管平台后,并没有对代码进行脱敏处理,导致上传的代码中有包含如数据库连接信息、邮箱密码、还有可能有泄露的源代码等。
三、收集端口信息
服务器就像一个房间,而端口就相当于房间的门,当我们拿到门的钥匙,自然就可以进入服务器,这里的钥匙,就是端口处的漏洞或者缺陷。
常用的端口扫描工具推荐两款nmap和masscan,nmap相对准确,但是速度较慢,masscan相对较快,但是准确性不如nmap。
每个端口有什么我们可以利用的漏洞在网络上都是可以查找到的。
以下附一张常见端口及攻击方式:
1、文件共享服务端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
21/69 | FTP/tftp文件传输协议 | hostname:“google.com” |
2049 | Nfs服务 | 配置不当 |
139 | Samba服务 | 爆破、未授权访问、远程代码执行 |
389 | Ldap | 注入、允许匿名访问、弱口令 |
2、远程连接服务端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
22 | SSH远程连接 | 爆破、SSH隧道及内网代理转发、文件传输 |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 |
3389 | Rdp远程桌面连接 | Shift后门(需要windows server 2003以下系统)、爆破 |
5900 | VNC | 弱口令包爆破 |
5632 | PyAnywhere | 抓密码、代码执行 |
3、web应用服务端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
80/443/8080 | 常见web服务端口 | Web攻击、爆破、对应服务器版本漏洞 |
7001/7002 | Weblogic控制台 | java反序列化、弱口令 |
8080/8089 | Jboss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令 |
9090 | Webshere控制台 | Java反序列化、弱口令 |
4848 | GlassFish控制台 | 弱口令 |
1352 | Lotus domino邮件服务 | 弱口令、信息泄露、爆破 |
10000 | Webmin-web控制面板 | 弱口令 |
4、数据库服务端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
3389 | Mysql数据库 | 注入、提权、爆破 |
1443 | MSSQL数据库 | 注入、提权、爆破、SA弱口令 |
1521 | Oracle数据库 | 注入、TNS爆破、反弹shell |
5432 | PostgreSQL数据库 | 注入、弱口令、爆破 |
27017 /27018 | MongoDB | 爆破、未授权访问 |
6379 | Redis数据库 | 可尝试未授权范围、弱口令爆破 |
5000 | SysBase/DB2数据库 | 注入、爆破’ |
5、邮件服务端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
25 | SMTP邮件服务 | 邮件伪造 |
110 | POP3协议 | 爆破、嗅探 |
143 | IMAP服务 | 爆破 |
6、网络常见协议端口
端口号 | 端口解释 | 攻击方向 |
---|---|---|
53 | DNS域名系统 | 允许区域传送、DNS劫持、缓存投毒、欺骗 |
67/68 | DHCP服务 | 劫持、欺骗 |
161 | SNMP服务 | 爆破、搜集目标内网信息 |
四、指纹识别
网站的指纹识别主要是指网站CMS指纹识别、计算机操作系统、web容器等的指纹识别,也就是特征识别,识别出这种特征,我们可以快速判断出网站使用了哪种cms,哪种容器等等。
1、常见的CMS(内容管理系统/整站系统)
有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress等。判断出CMS之后,我们可以在网上搜索相关CMS的漏洞和是否有源码泄露等。
常见的指纹识别工具:WhatWeb、御剑web指纹识别等。
2、常见的网站容器
有Apache、Tomcat、IIS、Nginx等。 我们在探测到具体的版本时,可以在网上搜索对应版本的漏洞。
3、服务器类型(Windows、Linux)
我们可以使用nmap探测到具体的服务器类型及版本,然后搜索对应版本存在的漏洞。具体命令nmap -O ip即可
4、脚本类型(asp、jsp、php、aspx)
我们可以根据网站URL来判断,不同及脚本类型他在url中后缀不一样;使用谷歌黑客语法进行测试。
5、数据库类型及版本
常使用的数据库有Mysql、Access、Oracle、Sql Server,不同的数据库语法之间稍微有一些差异。数据库和脚本之间有一些比较常见的搭配:JSP+Oracle/Mysql、ASP/ASPX+Access/Sql Server、PHP+Mysql/Postgresql。
五、旁站和C段
1、旁站
指的是同一服务器上的其他网站,很多时候,在网站没有漏洞或者比较漏洞难已发现的时候,我们可以寻找服务器上其他站点的漏洞信息,当我们拿到其他站的漏洞,提升权限,到最后拿下服务器权限,那我们的目标站点权限也就拿下了。
2、C段
指的是同一网段的其他服务器。我们通过C段嗅探拿下同一C段下的其他服务器,在内网中,拿下一台服务器的权限,这是,我们可以再对其他C段主机进行渗透测试。
常见的C段和旁站查询地址:
http://www.webscan.cc
六、收集敏感目录信息
扫描Web目录结构和敏感文件,是很关键的一步,从中,我们可能获取网站后台管理页面、文件上传页面、网站源代码、编辑器、各种敏感文件、压缩包、配置文件等等。
我们一般通过软件直接对目录进行爆破,常用的软件有Dirbuster、御剑、wwwscan等。
七、网站漏洞扫描
通过漏扫工具对网站进行漏洞探测,这个在未经授权的时候是违法的。
常见的漏洞扫描工具有:appscan、awvs、burpsuite、nessus等。
八、社会工程学
社会工程学通常以交谈、欺骗、假冒或口语等方式,从合法用户中套取用户系统的秘密。熟练的社会工程师都是擅长进行信息收集的身体力行者。很多表面上看起来一点用都没有的信息都会被这些人利用起来进行渗透。比如说一个电话号码,一个人的名字,或者工作的ID号码,都可能会被利用。
更多推荐
所有评论(0)