Web安全攻防学习笔记(一)

第一章 渗透测试之信息采集

参考 https://www.ms08067.com/

从今天开始会把Web安全攻防学习进行笔记记录,其中有一些安装软件的过程为了全面也进行了记录。而且还会进行一些自己经验总结,如有错误请及时指出。


目录

第一章 渗透测试之信息采集

1.1 收集域名信息

1.1.1 Whois

1.1.2 备案信息查询

1.2 收集敏感信息

1.3 收集子域名信息

1.3.1 子域名检测工具

1.3.2 搜索引擎枚举

1.3.3 第三方聚合应用枚举

1.3.4 证书透明度公开日志枚举

1.4 收集常用端口信息

文件共享服务端口

远程连接服务端口

Web应用服务端口

数据库服务端口

邮件服务端口

网络参加协议端口

特殊服务端口

1.5 指纹识别

1.6 查找真实IP

1、目标服务器存在CDN

2、判断目标是否使用了CDN

3、绕过CDN寻找真实IP

4、验证获取的IP

1.7 收集敏感目录文件

1.8 社会工程学


1.1 收集域名信息

获取域名对应的IP和域名服务器信息。

1、dig

2、nslookup

域名注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。

1.1.1 Whois

  1. 爱站工具网 https://www.aizhan.com/
  2. 站长之家  https://www.chinaz.com/
  3. 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: [email protected]
   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. ICP备案查询网:https://beian.miit.gov.cn/#/Integrated/index
  2. 天眼查:https://www.tianyancha.com/
  • https://icp.chinaz.com/
  • https://icp.aizhan.com/

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证书。证书中包含域名,子域名和邮件。 

  1. crt.sh: https://crt.sh
  2. censys: https//censys.io

此外还可以利用一些在线网站查询子域名,如子域名爆破网站(https://phpinfo.me/domain)IP反查绑定域名网站(https://dns.aizhan.com)

爆破网站:

1.4 收集常用端口信息

最常见的端口扫描工具:Nmap无状态端口扫描工具MasscanZMap御剑高速TCP端口扫描工具

常见的端口及其说明,以及攻击方向汇总如下:

文件共享服务端口

端口号 端口说明 攻击方向
21、22(TCP)、69(UDP) Ftp/Tftp文件传输协议 允许匿名的上传、下载、爆破和嗅探
2049 Nfs服务 配置不当
139 Samba服务 爆破、未授权访问、远程代码执行
389 Ldap目录访问协议 注入、允许匿名访问、弱口令
  1. 简单文件传输协议也称小型文件传输协议Trivial File Transfer Protocol, TFTP),UDP 69端口。 
  2. Network File System(NFS)网络文件系统,基于内核的文件系统。
  3. Samba服务,是一个网络服务器,用于Linux和Windows之间共享文件。
  4. Ldap(Lightweight Directory Access Protocol),「轻量目录访问协议」

远程连接服务端口

端口号 端口说明 攻击方向
22 SSH远程连接 爆破、SSH隧道及内网代理转发、文件传输
23 Telnet远程连接 爆破、嗅探、弱口令
3389 Rdp远程桌面链接 Shitf后门(Window Server 2003以下系统)、爆破
5900 VNC 弱口令爆破
5623 PyAnywhere服务 抓密码、代码执行
  1. Rdp远程桌面
  2. VNC  (Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议进行通信的,是一个基于平台无关的简单显示协议的超级瘦客户系统,
  3. 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控制面板 弱口令
  1.  WebLogic  Oracle WebLogic Server 通过一个基于 Web 的管理控制台进行管理。
  2. Jboss/Resin/Jetty/Jenkins  是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
  3. WebSphere
  4. GlassFish
  5. Lotus domino邮件服务
  6. 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 指纹识别

  1. 网站CMS指纹识别
  2. 计算机操作系统
  3. 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

  1. 通过ping目标主域,观察域名解析情况,可以判断出是否使用了CDN,比如直接显示实际域名,也就是CDN的域名。
  2. 在线网站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里是花钱的):

  1. https://www.geekstool.com/shegong.html
  2. http://www.weigongkai.com/
  3. https://www.zhihu.com/question/27024854
  4. http://site3.sjk.space/

建议:不要乱查,反而成了别人收集信息的途径。

1.9 网络相关信息查询

  • https://ip38.com/
  • https://www.ipip.net/ip.html
  • 测试连通性 https://www.17ce.com/#s1178
  • 博睿的CDN 拨测系统   https://www.bonree.com/

你可能感兴趣的:(网络安全)