web安全攻防-信息收集
收集域名信息
Whois查询
在Kali系统中,Whois已经默认安装,只需输入要查询的域名即可
在线Whois查询的常用网站有爱站工具网(https://whois.aizhan.com)、站长之家(http://whois.chinaz.com)和VirusTotal(https://www.virustotal.com),通过这些网站可以查询域名的相关信息,如域名服务商、域名拥有者,以及他们的邮箱、电话、地址等
备案信息查询
常用的网站有以下这两个。
ICP备案查询网:http://www.beianbeian.com。
天眼查:http://www.tianyancha.com。
收集敏感信息
搜索引擎使用技巧
关键字 | 说明 |
---|---|
Site | 指定域名 |
inurt | URL中存在关键字的网页 |
Intext | 网页正文中的关键字 |
Filetype | 指定文件类型 |
Intitle | 网页标题中的关键字 |
link | link:baidu,com 即表示返回所有和 baidu.com 做了链接的 URL |
Info | 查找指定站点的一些基本信息 |
cache | 搜索 Google 里关于某些内容的缓存 |
例如:site:域名 intext:后台管理
或者通过github,如数据库连接信息、邮箱密码、uc-key、阿里的osskey,有时还可以找到泄露的源代码等。
可以通过乌云漏洞表(https://wooyun.shuimugan.com)查询历史漏洞信息。
收集子域名信息
子域名检测工具
主要有Layer子域名挖掘机、K8、wydomain、Sublist3r、dnsmaper、subDomainsBrute、Maltego CE等
文中主要推荐Layer子域名挖掘机、Sublist3r和subDomainsBrute
其他
搜索引擎查找,例如:site:baidu.com
第三方聚合应用枚举,利用三方服务汇聚的大量DNS数据集,DNSdumpster网站(https://dnsdumpster.com/)、在线DNS侦查和搜索的工具挖掘出指定域潜藏的大量子域
证书透明度公开日志枚举,crt.sh:https://crt.sh和censys:https://censys.io
子域名爆破网站(https://phpinfo.me/domain),IP反查绑定域名网站(http://dns.aizhan.com)等
收集常用端口信息
Nmap(具体的使用方法后续章节会详细介绍),无状态端口扫描工具Masscan、ZMap和御剑高速TCP端口扫描工具
邮件服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
25 | SMTP邮件服务 | 邮件伪造 |
110 | POP3协议 | 爆破、嗅探 |
143 | IMAP协议 | 爆破 |
文件共享端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
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 服务 | 抓密码、代码执行 |
数据库端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
3306 | MySQL | 注入、提权、爆破 |
1433 | MSSQL数据库 | 注入、提权、SA弱口令、爆破 |
1521 | Oracle 数据库 | TNS爆破、注入、反弹Shell |
5432 | PostgreSQL 数据库 | 爆破、注入、弱口令 |
27017/27018 | MongoDB | 爆破、未授权访问 |
6379 | Redis 数据库 | 可尝试未授权访问、弱口令爆破 |
5000 | SysBase/DB2数据库 | 爆破、注入 |
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控制面板 | 弱口令 |
常见协议端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
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 | 远程执行 |
指纹识别
指纹是指网站CMS指纹识别、计算机操作系统及Web容器的指纹识别等
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。
常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress等
代表工具有
御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识别等,可以快速识别一些主流CMS
在线:
BugScaner:http://whatweb.bugscaner.com/look/
云悉指纹:http://www.yunsee.cn/finger.html
WhatWeb:https://whatweb.net/
查找真实IP
客户如果存在使用cdn的情况可以通过以下方法绕过CDN寻找真实IP
1、内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP(注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)。
2、扫描网站测试文件,如phpinfo、test等,从而找到目标的真实IP。
3、分站域名。很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段。
4、国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站App Synthetic Monitor(https://asm.ca.com/en/ping.php)访问,可能会得到真实的IP
5、查询域名的解析记录。也许目标很久以前并没有用过CDN,所以可以通过网站NETCRAFT(https://www.netcraft.com/)来观察域名的IP历史记录,也可以大致分析出目标的真实IP段。
6、如果目标网站有自己的App,可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP。
7、绕过CloudFlare CDN查找真实IP。现在很多网站都使用CloudFlare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过在线网站Cloud FlareWatch(http://www.crimeflare.us/cfs.xhtml#box)对CloudFlare客户网站进行真实IP查询,结果如图1-12所示。
验证是否确实获取到了,文中给的方法是用ip或者似Masscan的工具验证
可以使用修改本机hosts访问域名再次验证。
收集敏感目录文件
工具推荐
针对网站目录的扫描主要有DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py(轻量级快速单文件目录后台扫描)、Sensitivefilescan(轻量级快速单文件目录后台扫描)、Weakfilescan(轻量级快速单文件目录后台扫描)等
社会工程学
社工库