一、收集域名信息
在线whois查询网站
- 爱站工具网:https://whois.aizhan.com/
- 站长之家:http://whois.chinaz.com/
- VirusTotal:https://www.virustotal.com/
备案信息
- 注意:主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案
二、收集敏感信息
- Robots.txt、后台目录、安装包、上传目录、msyql管理接口、安装页面、phpinfo、编辑器、iis短文件
1、搜索关键字收集
2、查看数据包
- 同样可以获取一些服务器的信息 ,如运行的Server类型及版本、 PHP的版本信息等。 针对不同的Server,可以利用不同的漏洞 进行测试
3、其他收集方法
- 也可以尝试在GitHub上寻找相关敏感信息,如数据库连接信息、邮箱密码、uc-key 、阿里的osskey,有时还可以找到泄露的源代码等
- 乌云漏洞表查询历史漏洞信息:https://shuimugan.com/
三、子域名收集
1、子域名检测工具收集
用于子域名检测的工具主要有Layer子域名挖掘机(推荐)、 K8、wydomain、Sublist3r(推荐)、dnsmaper subDomainsBrute(推荐)、Maltego CE等
- Layer子域名挖掘机:在域名对话框中直接输入域名就可以进行扫描,它的显示界面比较细致,有域名、解析IP、CDN列表、Web服务器和网站状态
- subDomainsBrute:用小字典递归地发现三级域名 、四级域名,甚至五级域名等不容易被探测到的域名
python subDomainsbrute.py xxx.com
- Sublist3r:它能列举多种资源,如在Google、Yahoo、Bing、Baidu和Ask等搜索引擎中可查到的子域名,还可以列出Netcraft、VirusTota、ThreatCrow、DNSdumpster和Reverse DNS查到的子域名
2、利用所搜引擎关键词搜索
- URL采集器
3、通过第三方聚合应用枚举
- 查询网:https://site.ip138.com
- DNSdumpster网页:https://dnsdumpster.com/
- 子域名爆破网站:https://phpinfo.me/domain
- IP反查域名网站:https://dns.aizhan.com/
- 工具:在线DNS侦查和搜索
4、证书透明度公开日志枚举
- 证书透明度(Certificate Transparency,CT ):是证书授权机构(CA)的 一项目, 证书授权机构会将每个SSL/TLS证书发布到公共日志中
- 一 SSL/TLS 证书通常包含域名、子域名和邮件地址,这些也经常成为攻击者非常希望获得的有用信息
推荐使用以下网站:
- crt.sh:http://scrt.sh/
- censys:https://censys.io
四、端口收集
- 通过扫描服务器开放的端口以及从该端口判断服务器上存在的服务,就可以对症下药,便于我们渗透目标服务器
- 收集工具:Namp、无状态端口扫描工具Masscan、ZMap、御剑高速TCP端口扫描工具
常见的端口及其说明如下
- 文件共享服务端口
端口号 | 端口说明 | 攻击方向 |
21/22/69 | Ftp/Tftp 文件传输协议 | 允许匿名的上传、下载、爆破和嗅探操作 |
2049 | Nfs服务 | 配置不当 |
139 | Smaba服务 | 爆破、未授权访问、远程代码执行 |
389 | Ldap 目录访问协议 | 注入、允许匿名访问、弱口令 |
- 远程连接服务端口
端口号 | 端口说明 | 攻击方向 |
22 | SSH远程连接 | 爆破、 SSH隧道及内网代理转发、文件传输 |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 |
2289 | 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 数据库 | 爆破、注入 |
- 邮件服务端口
端口号 | 端口说明 | 攻击方向 |
25 | 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 | 远程执行 |
五、整站分析
- 1、应用入口识别(请求方式、http头信息)
- 2、服务器类型、网站容器、数据库类型
- 工具:wappalyzer插件
- 3、CMS指纹识别
- 代表工具:御剑Web 指纹识别、WhatWeb WebRobo 、椰树、轻量WEB指纹识别等可以快速识别一些主流CMS
- 2、服务器类型、网站容器、数据库类型
一些在线网站查询CMS指纹识别
- BugScaner:http://whatweb.bugscaner.com/look/
- 云悉指纹:http://www.yunsee.cn/finger.html
- WhatWeb:https://whatweb.net/
六、CDN、WAF
-
1、CDN测试
17CE网站( https://www.17ce.com/)进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果。
绕过CDN寻找真实IP
- 内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(注意 :必须是目标自己的邮件服务器,第 三方或公共邮件服务器是没有用的)
- 扫描网站测试文件:如phpinfo、test等,从而找到目标的真实IP
- 分站域名:很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN ,可以通过ping二级域名获取分站IP ,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段
- 国外访问:国内的CDN往往只对国内用户的访问加速,而国外的CDN就不 一定了。因此,通过国外在线代理网站App Synthetic Monitor(https://asm.ca.com/en/ping.php)访问,可能会得到真实的IP
- 查询域名的解析记录:也许目标很久以前并没有用过CDN,所以可以通过网站NETCRAFT(https://www.netcraft.com/))来观察域名IP的历史记录,也可以大致分析出目标的真实IP段
- 如果目标网站有自己的App ,可以尝试Fiddler或者Burp Suite抓取App的请求,从里面找到目标的真实IP
- 绕过CloudFlare CDN查找真实IP:现在很多网站都使用CloudFlare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过在线网站CloudFlare Watch(http://www.crimeflare.us/)对CloudFlare客户网站进行真实IP查询
验证获取的IP
找到了真实IP之后,如何验证其真实性呢?
- 最简单的验证方法是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样
- 或者在目标段比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开了80、443、8080端口的 IP,然后逐个尝试IP访问,观察响应结果是否为目标站点
2、WAF
- 测试工具:w2af
七、收集敏感目录文件
- 概念:渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从 中可以获取网站的后台管理页面、文件上传界面,甚至可能扫描出网站的源代码
常用的工具
- DirBuster(下面介绍这种)
- 御剑后台扫描珍藏版
- wwwscan
- Spinder.py(轻量级快速单文件目录后台扫描)
- Sensitivefilescan(轻量级快速单文件 目录后台扫描)
- Weakfilescan (轻量级快速单文件目录后台扫描)
- 在线工具WebScan:http://www.webscan.cc/
DirBuster的使用
- 软件介绍:DirBuster是OWASP开发的一款基于Java编写的、专门用于探视Web服务器的目录和隐藏文件。因为是 ava编写的,所以需要在Java运行环境(JRE)下安装
使用
- Target URL输入框中输入要扫描的网址,扫描时将请求方法设置为“ Auto Switch CHEAD and GET) ”选项
- 设置线程的数值,推荐在20-30之间。太大了容易引起系统死机
- 选择扫描类型,如果使用个人字典扫描,则选择“List based brute force“”选项
- 单击“Browse ”选择字典,可以选择工具自带的字典,也可以选择自己的字典
- 在Select starting options 中选择“URL Fuzz”方式进行扫描。设置fuzzing时需要注意,,在URL to fuzz里输入“/{dir”。这里的{dir}是一个变量,用来代表字典中的每一行
- 备注:如果你扫描的目标是http://www.xxx.com/admin/,那么就要在URL to fyzz里填写 “/admin/{dir}”,意思是在“{dir}”的前后可以随意拼接你想要的目录或者后缀,例如输入“:/admin/{dir}.php”就表示扫描目录下的所有php文件
八、社会工程学
- 概念:社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工的口中挖掘出本应该是秘密的信息
- 应用场景:假设攻击者对一家公司进行渗透测试,正在收集目标的真实IP 阶段,此时就可以 利用收集到的这家公司的某位销售人员的电子邮箱。首先,给这位销售人员发送邮 件,假装对某个产品很感兴趣,显然销售人员会回复邮件。这样攻击者就可以通过 分析邮件头来收集这家公司的真实IP 地址及内部电子邮件服务器的相关信息。通过进 步地应用社会工程学,假设现在己经收集了目标人物的邮箱、 QQ 、电话号码、姓名,以及域名服务商, 也通过爆破或者撞库的方法获取邮箱的密码,这 时就可以冒充目标人物要求客服人员协助重置域管理密码,甚至技术人员会帮着重置密码,从而使攻击者拿下域管理控制台,然后做域劫持
- 社工库:社工库 是用社会工程学进行攻击时积累的各方数据的结构化数据库。这个数据库里有大量信息,甚至可以找到每个人的各种行为记录。利用收集到的邮箱,可以在社工库中 找到己经泄露的密码,其实还可以通过搜索引擎搜索到社交账号等信息,然后通过 利用社交和社会工程学得到的信息构造密码字典,对目标用户的邮箱和OA账号进行 爆破或者撞库