web安全攻防渗透测试实战指南笔记

一.渗透测试之信息收集

~1.1搜集域名信息
——1.1.1whois查询:注册商、邮箱电话、联系电话、更新创建过期时间、域名服务器、DNS
在线whois查询的网站有爱站工具网、站长之家、VirusTotal
——1.1.2备案信息查询:常用的网站有 ICP备案查询网天眼查
~1.2收集敏感信息
——Google语法
    site:指定域名
    inurl:url中存在关键字的网页
    intext:网页正文中的关键字
    filetype:指定文件类型
    intitle:网页标题中的关键字
    link:表示返回所有和xx做了链接的url
    info:查找指定站点的一些基本信息
还可以用它来收集数据库文件、SQL注入、配置信息、源代码泄露、未授权访问和robots.txt等
当然不仅是Google搜索引擎,这种搜索思路还可以用在百度、雅虎、Bing、Shodan
~1.3收集子域名信息
——1.3.1什么是域名
    对于http://mail.163.com/index.html
    http://:这个是HTTP超文本传输协议,也就是网页在网上传输的协议。
    mail:这个是服务器名,代表着是一个邮箱服务器
    163.com:这个是域名,是用来定位网站的独一无二的名字。
    mail.163.com:这个是网站名,由服务器名+域名组成。
    /:这个是根目录,也就是说,通过网站名找到服务器,然后在服务器存放网页的根目录
    index.html:这个是根目录下的默认网页
    http://mail.163.com/index.html:这个叫做URL,统一资源定位符
    顶级域名:.com
    二级域名:163.com
    三级域名:mail.163.com
——1.3.2收集子域名信息
    用于子域名搜集的工具主要有:Layer子域名挖掘机Sublist3rsubDomainsBrute、dnsaper、k8、Maltego CE、wydomain、等,重点推荐前三款工具
——1.3.3搜索引擎枚举
    我们可以用Google语法搜索子域名,如site:baidu.com
——1.3.4第三方聚合应用枚举
    可以利用DNSdumpster网上、在线DNS侦查和搜索的工具挖掘出指定域隐藏的大量子域
——1.3.5证书透明度公开日志枚举
    推荐https://crt.sh和https://censys.io,还可以利用在线网站查询子域名,如子域名爆破网站(https://phpinfo.me/old/domain)、IP反查绑定域名网站(https://dns.aizhan,con)等
~1.4收集常用端口信息
——1.4.1常用的端口扫描工具
    Namp,Masscan,ScanPort,ZMap和御剑高速TCP端口扫描工具
——1.4.2常见的端口
    -文件共享服务端口:
    端口号                 端口说明                                      攻击方向
    21/22/69   Ftp/Tftp文件传输协议     允许匿名的上传、下载、爆破和嗅探的操作
    2049                 Nfs服务                                          配置不当
    139                Samba服务                     爆破、未授权访问,远程代码执行
    389            Ldap目录访问协议           注入、允许匿名访问、弱口令
    -远程连接服务器端口:
    端口号                 端口说明                                      攻击方向
    22                    SSH远程连接                爆破、SSH隧道及内网代理转发、文件传输
    23                   Telnet远程连接                          爆破、嗅探、弱口令
    3389               Rdp远程桌面连接                       Shift后门、爆破
    5900                         VNC                                   弱口令爆破
    5632              PyAnywhere服务                        抓密码、代码执行
    -数据库服务端口:
    3306                  MySQL                                   注入、提权、爆破
    1433                 MSSQL                           注入、提权、爆破、SA弱口令
    1521                 Oracle                                   TNS爆破、注入、反弹shell
    5432               PostgreSQL                                 注入、爆破、弱口令
   27017/27018      MongoDB                             爆破、未授权访问
    6379                    Reids                            可尝试未授权访问、弱口令爆破
    5000               SysBase/DB2                        爆破、注入
    -Web应用服务端口:
 80/443/8080      常见的web服务                     web攻击、爆破、对应服务器版本漏洞
7001/7002         Weblogic控制台                    java反序列化、弱口令
   8080/8089    Jboss/Resin/Jetity/Jenkins       反序列化、控制台弱口令
    9090            WebSphere控制台                  java反序列化、弱口令
    4848            GlassFish控制台                     弱口令
    1352            Lotus domino邮件                  弱口令、信息泄露、爆破
    10000       Webmin-Web控制面板              弱口令
    -邮件服务:
    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 Rsync服务             爆破、Rlogin登录
    873                   Rsync服务              匿名访问、文件上传    
    3690                 Svn服务                          Svn泄露,未授权访问
    50000    SAP Management Console             远程执行
~1.5指纹识别
——1.5.1本文的指纹
    指网站CMS指纹识别、计算机操作系统及Web容器的指纹识别等
——1.5.2CMS
    常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress等
    代表工具有:御剑Web指纹识别WhatWebWebRobo椰树轻量WEB指纹识别,也有在线识别的网站:http://whatweb.bugscaner.com/look/https://www.yunsee.cn/https://www.webscan.cc/
~1.6查找真实ip
——1.6.1目标服务器不存在CDN
    可以直接通过http://ip.tool.chinaz.com/、https://site.ip138.com/获取目标ip及域名信息
——1.6.2CDN
    CDN即内容发布网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说得简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如htnl,css,js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接发到在离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验
    所以如果渗透模目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致我们没法直接得到目标的真实ip段范围
——1.6.3判断目标服务器是否使用CDN
    通常会通过ping目标主域,观察域名的解析情况,以此来判断是否使用了CDN,还可以通过在线网站https://www.17ce.com/进行全国多地区的ping服务器操作,然后对比每个地区ping出的ip结果,查看这些ip是否一致,如果都是一样的,极有可能不存在CDN,如果ip大多不一样或者规律性很强,可以尝试查询这些ip的归属地,判断是否存在CDN
——1.6.4绕过CDN寻找真实ip
    ·内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名ip,ping这个邮件服务器的域名,就可以获得目标的真实ip(注意,必须是目标自己的邮件服务器,第三方或公共是没有用的)
    ·分站域名。很多网站主站的访问量会比较大,所以主站都是挂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历史解析
    ·如果目标网站有自己的app,可以尝试利用Fiddler或Burp抓取app的请求,从里面找到目标的真实ip
    ·绕过CloudFlare CDN查找真实ip。现在很多网站使用CloudFlare提供的CDN服务,在确立了目标使用CDN后,可以尝试先通过在线网站Cloud  FlareWatch(http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实ip查询
——1.6.5验证获取的ip
    如果是web,最简单的验证方式就是直接尝试用ip访问,看看响应的页面是不是和访问域名返回的一样;或者在目标段比较大的情况下,借助类似Masscan的工具批扫描对应ip段中所有开了80、443、8080端口的ip,然后逐个尝试ip访问,观察响应结果是否为目标网站
~1.7收集敏感目录文件
——1.7.1常用的扫描目录的工具
    DirBuster御剑后台扫描珍藏版wwwscanSpinder.py(轻量级快速单文件目录后台扫描)、Weakfilescan(轻量级快速单文件目录后台扫描)等工具
~1.8社会工程学
    假设攻击者对一家公司进行渗透测试,正在收集目标的真实IP阶段,此时就可以利用收集到的这家公司的某位销售人员的电子邮箱。首先,给这位销售人员发送邮件,假装对某个产品很感兴趣,显然销售人员会回复邮件。这样攻击者就可以通过分析邮件头来收集这家公司的真实IP地址及内部电子邮件服务器的相关信息。通过进一步地应用社会工程学,假设现在已经收集了目标人物的邮箱、QQ、电话号码、姓名,以及域名服务商,也通过爆破或者撞库的方法获取邮箱的密码,这时
就可以冒充目标人物要求客服人员协助重置域管理密码,甚至技术人员会帮着重置密码,从而使攻击者拿下域管理控制台,然后做域劫持。
    除此以外,还可以利用"社工库”查询想要得到的信息, 社工库是用社会工程学进行攻击时积累的各方数据的结构化数据库。这个数据库里有大量信息,甚至可以找到每个人的各种行为记录。利用收集到的邮箱,可以在社工库中找到已经泄露的密码,其实还可以通过搜索引|擎搜索到社交账号等信息,然后通过利用社交和社会工程学得到的信息构造密码字典,对目标用户的邮箱和OA账号进行爆破或者撞库。就可以冒充目标人物要求客服人员协助重置域管理密码,甚至技术人员会帮着重置密码,从而使攻击者拿下域管理控制台,然后做域劫持。

posted @ 2020-07-18 15:54  l2sec  阅读(1545)  评论(0编辑  收藏  举报