1.收集域名信息
2.收集敏感信息
3.收集子域名信息
4.收集常用端口信息
5.指纹识别
6.查找真实IP
7.收集敏感目录文件
8.社会工程学
1.收集域名信息
(1)Whois查询
Whois是标准的互联网协议,可用于收集域名注册信息(注册人名,邮箱信息),注册域名,IP地址等。
示例:
注:
- whois查询的网址不需要www
- 在线Whois查询网站:爱站工具网(https://whois.aizhan.com),站长之家(http://whois.chinaz.com),VirusTotal(https://www.virustotal.com/gui/home/search)(需翻墙)
(2)备案信息查询
主要针对国内网站,国外网站不需要备案 常用网站:- ICP备案查询网:http://www.beianbeian.com
- 天眼查:http://www.tianyancha.com
2.收集敏感信息
使用搜索引擎(Google)并构造关键字语法查找所需信息
- site:指定域名
- inurl:url中存在关键字的网页
- intext:网页正文中的关键字
- filetype:指定文件类型
- intitle:网页标题中的关键字
- link:link:baidu.com,即表示返回所有和baidu.com做了链接的url
- info:查找指定站点的一些基本信息
- cache:搜索Google里关于某些内容的缓存
举例:
- site xxx.com intext:后台
- inurl:php?id=
…
注:
- 百度搜索和google差不多,因此,使用搜索引擎我们可以收集数据库文件、SQL注入、配置信息、源代码泄露、未授权访问、robots.txt等敏感信息
- 也可以使用bp的repeater获取服务器信息
- 使用github获取数据库连接信息、邮箱密码、uc-key、阿里的osskey,源码…
- 乌云漏洞列表(https://wooyun.shuimugan.com)查询历史漏洞信息(需翻墙)
3.收集子域名信息
子域名是二级域名,是顶级域名以下的域名。1.子域名检测工具 (绿色为常用):
- Layer子域名挖掘机
- K8
- wydomain
- Sublist3r
- dnsmaper
- subDomainsBrtute(使用小字典递归发现三级、四级、五级等域名)
- Maltego CE
2.搜索引擎搜索:site:baidu.com
3.DNS侦察:https://dnsdumpster.com/ (需翻墙)
4.证书透明度公开日志枚举
每一个SSL/TLS证书通常包含域名、子域名和邮件地址;查找某个域名所属证书最简单的方法就是使用搜索引擎搜索一些公开的CT日志
网站:
- https://crt.sh
- https://censys.io
5.在线域名查询:
- https://phpinfo.me/domain/
4.收集常用端口信息
常用工具:- Nmap(使用方法:https://blog.csdn.net/qq_41617034/article/details/91129340)
- Masscan(这是最快的Internet端口扫描程序。它可以在6分钟内扫描整个互联网,每秒传输1000万个数据包)
masscan -p80,8000-8100 10.0.0.0/8 - ZMap(Linux下使用,ZMap是一款扫描软件,由Durumeric领导密歇根大学研究团队开发。这一工具能在一个小时内扫描整个公共互联网,显示近40亿在线设备的信息。)
- 御剑高速TCP端口扫描工具
常用端口:
文件共享服务端口:
端口号 | 端口说明 | 攻击方向 |
21/22/69 | FTP/Tftp文件传输协议 | 允许匿名的上传、下载、爆破和嗅探操作 |
2049 | Nfs服务 | 配置不当 |
139 | Samba服务 | 爆破、未授权访问、远程代码执行 |
389 | Ldap目录访问协议 | 注入、允许匿名访问、弱口令 |
远程连接服务端口:
端口号 | 端口说明 | 攻击方向 |
22 | SSH远程连接 | 爆破、SSH及内网代理转发、文件传输 |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 |
3389 | Rdp远程桌面连接 | Shift后门(需要Windows Server 2003以下的系统)、爆破 |
5900 | VNC | 弱口令爆破 |
5632 | PyAnywhere服务 | 抓密码、代码执行 |
Web应用服务端口:
端口号 | 端口说明 | 攻击方向 |
80/443/8080 | 常见的Web服务端口 | Web攻击、爆破、对应服务器版本漏洞 |
7001/7002 | WebLogic控制台 | Java反序列化、弱口令 |
8080/8089 | Jboss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令 |
9090 | WebSphere控制台 | Java反序列化、弱口令 |
4848 | GlassFish控制台 | 弱口令 |
1352 | Lotus domino邮件服务 | 弱口令、信息泄露、爆破 |
10000 | Webmin-Web控制面板 | 弱口令 |
数据库服务端口:
端口号 | 端口说明 | 攻击方向 |
3306 | Mysql | 注入、提权、爆破 |
1433 | MSSQL数据库 | 注入、提权、SA弱口令、爆破 |
1521 | Oracle数据库 | TNS爆破、注入、反弹Shell |
5432 | PostgreSQL数据库 | 爆破、注入、弱口令 |
27017/27018 | MongoDB | 爆破、未授权访问 |
6379 | Redis数据库 | 可尝试未授权访问、弱口令爆破 |
5000 | SysBase/DB2数据库 | 爆破、注入 |
邮件服务端口:
端口号 | 端口说明 | 攻击方向 |
21 | SMTP邮件服务 | 邮件伪造 |
110 | POP3协议 | 爆破、嗅探 |
143 | IMAP协议 | 爆破 |
网络常见协议端口:
端口号 | 端口说明 | 攻击方向 |
53 | DNS域名服务器 | 允许区域传送、DNS劫持、缓存投毒、欺骗 |
67/68 | DHCP服务 | 劫持、欺骗 |
161 | SNMP协议 | 爆破、搜集目标内网信息 |
特殊服务端口:
端口号 | 端口说明 | 攻击方向 |
2181 | Zookeeper | 未授权访问 |
8069 | Zabbix服务 | 远程执行、SQl注入 |
9200/9300 | ElasticSearch服务 | 远程执行 |
11211 | Memcache服务 | 未授权访问 |
512/513/514 | Linux Rexec服务 | 爆破、Rlogin登陆 |
873 | Rsync服务 | 匿名访问、文件上传 |
3690 | Svn服务 | Svn泄露、未授权访问 |
50000 | SAP Management Console服务 | 远程执行 |
5.指纹识别
对目标服务器进行指纹识别,也就是识别相应的Web容器或者CMS(整站系统或文章系统)- 常见CMS:Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress
- 指纹识别工具:
1.御剑web指纹识别
2.WHatWeb
3.WebRobo
4.椰树
5.轻量web指纹识别 - 在线网站查询CMS指纹识别
1.BugScaner:http://whatweb.bugscaner.com/look/
2.云溪指纹:http://www.yunsee.cn/finger.html
3.WhatWeb:http://whatweb.net
6.查找真实IP
通过目标服务器域名来确定其真实IP,若目标服务器不存在CDN,可以直接通过http://www.ip138.com获取目标的一些IP及域名信息
下面几种方法介绍如何绕过CDN寻找目标服务器的真实IP
1.目标服务器存在CDN
- CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网路速度性能低下的问题。
- 如果目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致我们无法获取目标的真实IP段范围
2.判断目标是否使用CDN
通常通过ping目标主域,观察域名解析情况,以此来判断是否使用了CDN
还可以利用在线网站17CE(https://www.17ce.com)进行全国多地区的ping服务器操作,然后对比每个地区ping出的ip结果,查看这些ip是否一致,如果一致,极有可能不存在CDN,。如果ip大多不太一样或者规律性很强,可以尝试查询这些ip归属地,判断是否存在CDN
3。绕过CDN寻找真实IP(在确认目标使用CDN后)
- 内部邮箱源。一般邮箱系统都在内部,没有经过CDN解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找着邮件头中的邮件服务器域名ip,ping这个邮件服务器的域名,就可以获得真实ip(注意:必须是目标服务器自己的邮件服务器,第三方或公共邮件服务器无用)
- 扫描网站测试文件,如phpinfo、test
- 分站域名。很多网站主站访问量较大会挂CDN,但是分站可能并没有挂CDN,可以通过ping二级域名获取分站ip,可能会出现分站和主站不是同一IP但在同一C段,从而判断目标的真实IP段
- 国外访问。国内的CDN往往只对国内用户的访问加速,而国外CDN就不一定。因此,通过国外在线代理网站App Synthetic Monitor:https://asm.ca.com/en/ping.php
- 查询域名解析记录。也许目标很久以前并未使用CDN,可以通过网站NETCRAFT:https://www.netcraft.com 来观察域名IP历史记录,也可以大致分析出目标的真实IP段
- 如果目标网站有自己的App,可以尝试利用Fiddler或Burpsuite抓取App的请求,从中找到目标的真实IP
- 绕过CloudFlare CDN查找真实IP。现在很多网站使用CloudFlare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过在线网站CloudFlareWatch
4。验证获取的IP
找到目标的真实IP后,如何验证其真实性呢?
-如果是Web,直接尝试用IP访问,查看响应页面和访问域名返回的是否一样;或者在目标端比较大的情况下,借助类似Masscan的工具批量扫描对应IP段中所有开了80、443、8080端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点
7.收集敏感目录文件
在渗透测试中,探测Web目录结构和隐藏的敏感文件是必不可少的一件事,从中我们可以获得网站的后台管理页面、文件上传页面、源代码等1.网站目录扫描
- DirBuster
- 御剑后台扫描
- wwwscan
- Spinder.py(轻量级快速单文件目录后台扫描)
- Sensitivefilescan(轻量级快速单文件目录后台扫描)
- Weakfilescan(轻量级快速单文件目录后台扫描)
2.在线工具 - WebScan(http://www.webscan.cc)