第一章 渗透测试之信息采集
从今天开始会把Web安全攻防学习进行笔记记录,其中有一些安装软件的过程为了全面也进行了记录。而且还会进行一些自己经验总结,如有错误请及时指出。
目录
1.1 收集域名信息
获取域名对应的IP和域名服务器信息。
1、dig
2、nslookup
域名注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。
1.1.1 Whois
- 爱站工具网 https://www.aizhan.com/
- 站长之家 https://www.chinaz.com/
- VirusTotal https://www.virustotal.com/gui/
created: 1985-01-01
changed: 2017-10-05
source: IANA
Domain Name: BAIDU.COM
Registry Domain ID: 11181110_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2019-05-09T04:30:46Z
Creation Date: 1999-10-11T11:05:17Z
Registry Expiry Date: 2026-10-11T11:05:17Z
Registrar: MarkMonitor Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2083895740
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: NS1.BAIDU.COM
Name Server: NS2.BAIDU.COM
Name Server: NS3.BAIDU.COM
Name Server: NS4.BAIDU.COM
Name Server: NS7.BAIDU.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2020-09-06T03:59:27Z <<<
1.1.2 备案信息查询
主要是国家针对国内网站的管理措施。常见的备案网站:
1.2 收集敏感信息
Google hacking 域名介绍:https://zhuanlan.zhihu.com/p/25715992
示例:site: edu.cn intext: 后台管理
robots.txt https://zh.wikipedia.org/wiki/Robots.txt
https://ahrefs.com/blog/zh/robots-txt/
robots.txt 是一种存放于网站根目录下的ASCII编码的文本文件,它通常用于搜索引擎(爬虫),此网站中的哪些内容是不应被搜索引擎的获取的,哪些是可以被搜索引擎获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。
robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似"Disallow: *.gif"这样的通配符。
除了了Google,还有百度,雅虎,Bing,Shodan等搜索引擎。
uc-key:在 Discuz 中,uc_key 是 UC 客户端与服务端通信的通信密钥。Discuz 中的 /api/uc.php
文件存在代码写入漏洞,导致黑客可写入恶意代码获取 uckey,最终进入网站后台,造成数据泄漏。 https://help.aliyun.com/knowledge_detail/40486.html
https://www.discuz.net/forum.php
阿里的osskey http://r3start.net/index.php/2019/09/16/580
1.3 收集子域名信息
子域名的安全防护能力相对较低。
1.3.1 子域名检测工具
用于子域名检测的工具主要有Layer子域名挖掘机,K8,wydomain,Sublist3r,dnsmaper,subDomainsBrute,Maltego CE等。
1.3.2 搜索引擎枚举
site:baidu.com
1.3.3 第三方聚合应用枚举
DNS数据集进行搜索。
利用DNSdumpster网站(https://dnsdumpster.com)、在线DNS侦查和搜索的工具挖掘出指定域潜藏的大量子域。
1.3.4 证书透明度公开日志枚举
证书透明度(CT):公开日志记录CA的每个SSL/TLS证书。证书中包含域名,子域名和邮件。
- crt.sh: https://crt.sh
- censys: https//censys.io
此外还可以利用一些在线网站查询子域名,如子域名爆破网站(https://phpinfo.me/domain),IP反查绑定域名网站(https://dns.aizhan.com)。
爆破网站:
1.4 收集常用端口信息
最常见的端口扫描工具:Nmap,无状态端口扫描工具Masscan,ZMap和御剑高速TCP端口扫描工具。
常见的端口及其说明,以及攻击方向汇总如下:
文件共享服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
21、22(TCP)、69(UDP) | Ftp/Tftp文件传输协议 | 允许匿名的上传、下载、爆破和嗅探 |
2049 | Nfs服务 | 配置不当 |
139 | Samba服务 | 爆破、未授权访问、远程代码执行 |
389 | Ldap目录访问协议 | 注入、允许匿名访问、弱口令 |
- 简单文件传输协议也称小型文件传输协议(Trivial File Transfer Protocol, TFTP),UDP 69端口。
- Network File System(NFS)网络文件系统,基于内核的文件系统。
- Samba服务,是一个网络服务器,用于Linux和Windows之间共享文件。
- Ldap(Lightweight Directory Access Protocol),「轻量目录访问协议」。
远程连接服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
22 | SSH远程连接 | 爆破、SSH隧道及内网代理转发、文件传输 |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 |
3389 | Rdp远程桌面链接 | Shitf后门(Window Server 2003 以下系统)、爆破 |
5900 | VNC | 弱口令爆破 |
5623 | PyAnywhere服务 | 抓密码、代码执行 |
- Rdp远程桌面
- VNC (Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议进行通信的,是一个基于平台无关的简单显示协议的超级瘦客户系统,
- 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控制面板 | 弱口令 |
- WebLogic Oracle WebLogic Server 通过一个基于 Web 的管理控制台进行管理。
- Jboss/Resin/Jetty/Jenkins 是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
- WebSphere
- GlassFish
- Lotus domino邮件服务
- Webmin-Web控制面板
数据库服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
3306 | Mysql | 注入、提权、爆破 |
1433 | Mysql数据库 | 注入、提权、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 | Zavvux服务 | 远程代码执行、SQL注入 |
9200/9300 | Elasticssearch服务 | 远程执行 |
11211 | Memcache服务 | 未授权访问 |
512/513/514 | Linux Rexec服务 | 匿名访问、文件上传 |
3690 | Svn服务 | Svn泄露、未授权访问 |
50000 | SAP Management Console | 远程代码执行 |
1.5 指纹识别
- 网站CMS指纹识别
- 计算机操作系统
- Web容器
CMS:内容管理系统(英語:content management system,缩写为CMS)。又称整站系统或文章系统。通过一个软件包来管理网站。常见的有Dedecms,Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝国,Z-Blog,WordPress。
应用程序一般在html,js,css等文件包含一些特征码,比如WordPress在robots.txt中包含wp-admin、首页index.php中包含generator==wordpress 3.x.x,这个特征就是CMS的指纹。
指纹识别工具:
御剑Web指纹识别,WhatWeb,WebRobo,椰树,轻量级WEB指纹识别等。
在线网站查询CMS指纹识别:
- BugScaner:http://whatweb.bugscaner.com/look/
- 云悉指纹:http://www.yunsee.cn/finger.html
- WhatWeb:http://whatweb.net/
1.6 查找真实IP
www.ip138.com
1、目标服务器存在CDN
CDN内容分发网路,直接ping目标服务器域名,得到的IP是离我们最近的一台目标节点的CDN服务器。
2、判断目标是否使用了CDN
- 通过ping目标主域,观察域名解析情况,可以判断出是否使用了CDN,比如直接显示实际域名,也就是CDN的域名。
- 在线网站17CE(https://www.17ce.com)进行全国多地区的ping服务器操作。然后对比每个区ping出的IP结果,查看IP是否一致。如果不太一致,可以查询IP归属地来判断是否存在CDN。
3、绕过CDN寻找真实IP
确定了目标使用CDN/高防之后,我们需要绕过CDN寻找真实的目标IP。
- 内部邮箱源:目标自己的邮箱服务器,查看邮件服务器域名IP,一般不会通过CDN。
- 扫描网站测试文件,如phpinfo,test等,从而找到了真实IP。
- 分站域名。一般不走CDN,可以通过ping二级域名(实际上是三级域名,比如www.baidu.com)获取分站IP(分别解析,互不干扰)。可能就会出现分站和主站不是同一个IP,但又在同一个C段的下面的情况,从而判断出目标的真实IP段。
- 国外访问。国内的CDN往往只对国内用户的访问加速,而国外CDN则不一定。因此通过在国外在线代理网站App Synthetic Monitor (https://asm.ca.com/en/ping.php)(VPS等也可以)访问,获取真实IP。
- 查询域名的解析记录。网站NETCRAFT(https://www.netcraft.com)来观察域名的IP解析历史记录,也可以大致分析出目标的真实IP段。
- 从目标的App中,利用Fiddler和Burp Suite抓取App的请求,从里面找目标的真实IP。
- 针对于CloudFlare提供的CDN服务,可以先尝试通过在线网站CloudFlareWatch(http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实IP查询。
4、验证获取的IP
1、直接curl对应的IP,但是注意携带host(域名),直接填充IP的情况,如果是校验了host或者是通过host做分发,则访问失败。
2、借助类似于Masscan的工具批扫描对应的IP段中所有开了80,443,8080端口的IP,然后逐个IP访问,观察响应结果是否为目标站点。
1.7 收集敏感目录文件
探测Web目录结构和隐藏的敏感文件是必不可少的阶段。从中可以获取网站的后台管理页面、文件上传页面,甚至是网站的源代码。
- DirBuster
- 御剑后台扫描珍藏版
- wwwscan
- Spinder.py(轻量级快速单文件目录后台扫描)
- Sensitivefilescan(轻量级快速单文件目录后台扫描)
- Wealfilescan (轻量级快速单文件目录后台扫描)
DirBuster是OWASP开发的一款基于Java、专门用于探测Web服务器的目录。
除以上工具之外,还有很多在线工具站:WebScan(http://www.webscan.cc/)
1.8 社会工程学
1、给销售人员发邮件,分析邮件头来收集真实IP地址以及内部的电子邮件服务器的相关信息。
2、域名服务商/邮件/账号等,重置密码。
3、社工库:利用社会工程学进行攻击时积累的各方数据的结构化数据库。包括各种行为数据,邮箱及泄漏的密码,账号信息
给出几个例子(可能不能用了,毕竟在AW里是花钱的):
- https://www.geekstool.com/shegong.html
- http://www.weigongkai.com/
- https://www.zhihu.com/question/27024854
- http://site3.sjk.space/
建议:不要乱查,反而成了别人收集信息的途径。