0%

渗透之信息搜集

渗透流程

一次完整的渗透测试包括一下几步:**明确目标,信息收集,漏洞探测,漏洞利用,内网转发,内网渗透,痕迹清除**

渗透测试主要分为两种方式:

  • 白盒测试:知道目标网站源码和其他一些信息的情况下对其进行渗透,代码审计
  • 黑盒测试:只知道目标网站的URL,其他信息一无所知,需要测试者自行去发现

信息收集

收集的信息越多,攻击面就会越广,成功概率就会越高

信息收集是渗透测试的第一步,有时候也是至关重要的一步,通过信息收集我们可以理清整个网站的结构以及相关的框架(CMS),服务器版本等。可能直接针对某一个网站进行渗透很难,但是其二级域名网站中存在漏洞,相对容易利用,然后拿到二级域名的站之后再进一步提权,最终拿下目标网站。

我们所要收集的网站信息主要包括以下信息:

  • 域名
  • 子域名
  • IP及端口
  • ip反向查询域名
  • 服务提供商
  • 应用服务系统、版本
  • 域名历史解析IP
  • 服务端框架、语言
  • 开源情报

域名信息收集

当确定了渗透目标也即其URL,接下来我们需要收集域名对应的 ip,域名的whois信息、子域名等等一系列与域名相关的信息。如果不收集这些的话,你的攻击范围就会很窄,死盯着一个现成的域名或一个IP,无异于把自己框死。

IP地址查询

确定目标网站的域名之后,首先就是找其IP地址,可以通过ping进行探测,*http://ping.chinaz.com/*。

域名whois信息查询

whois是用来查询域名注册所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商),在线查询工具:*http://whois.chinaz.com/*,查询出邮箱、注册人、公司、电话这些之后可以进一步反查。

常用的子域名收集网站:

网站CDN信息

利用站长工具进行ping测试,查看全国各个监测点是不是同一个IP,如果是同一个IP,那就是没有CDN防护;如果在各个监测点的IP不同,则是有CDN防护。如果存在CDN,则需要进一步绕过CDN防护寻找真实IP。主要有以下几种方法:

  • 子域名:有的站点使用了CDN,有的可能未使用,因此通过子域名可以发现真实IP。
  • 历史DNS信息:查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip。
  • CDN本身:可以通过社工等其他的方法找到控制面板的账号密码,这样IP地址就很容易找到了。
  • Mx记录或邮件:很多站点都有发送邮件sendmail的功能,如Rss邮件订阅等。而且一般的邮件系统很多都是在内部,没有经过CDN的解析。可在邮件源码里面就会包含服务器的真实 IP。
  • 搜索:利用公开的安全搜索引擎(zoomeye、fofa、shodan)爬取得历史快照,从数据包的头部寻找真实IP地址。

系统信息收集

系统信息主要包括操作系统的类型、版本等信息收集,系统版本号可以通过工具扫描出来,kali系统对服务器的端口开放情况进行全面的安全检测,服务器是否存在漏洞,包括redis未经授权访问漏洞等等,通过端口开放情况,来查看服务器运行了那些服务,以及安装的软件。

网站指纹收集

  • CMS信息

    在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。CMS又称整站系统。常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS等。同时也可以探测其使用的各种中间件,以及插件信息。

    截屏2021-05-10 下午9.22.24.png

    常用的指纹识别工具:

  • 服务信息

    服务信息指的是网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。

  • 数据库信息

    我们需要知道网站使用的是哪种数据库:Mysql、Oracle、SqlServer 还是 Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。明确数据库类型,有助于下一步采取对应的语法进行数据库的相关操作(sql注入等)。

    • Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名: .mdb   一般是asp的网页文件用access数据库。
    • SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf。
    • MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306。
    • Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521。

应用信息搜集

  • 端口信息

    应用信息搜索主要是针对服务器各端口的应用。例如web应用、邮件应用、等等进行探测。

  • 目录信息

    通过目录扫描可以获取网站登录后台信息以及其他敏感文件(git、SVN、robot.txt),推荐使用御剑扫描工具,可以在github上面查找一些敏感的网站目录,然后添加到御剑或者别的扫描工具里面,这样可以大大的增强了扫描的效果

防护信息搜集

有时候很多的网站都存在各种各样的防护措施,比如:安全狗、网防G01。摸清网站的防御措施,有助于我们针对型的bypass。常用的WAF探测工具:**WAFW00F**,同时也可以通过sql注入,XSS等方式来触发防护信息。

敏感信息检索

  • 敏感开源信息收集

    有时候网站可能采用开源的一些模版或者代码之类的,可以通过Github等开源的平台搜索这些代码中,寻找其中泄漏敏感信息,比如:数据库的连接信息,测试用的账号密码等。

    Github信息搜集语法:https://blog.csdn.net/qq_36119192/article/details/99690742

  • 敏感地址收集

    我们可以通过google、百度语法进行搜集一些网站的后台地址信息。找到地址如果防护水平比较低的话,就可以进行爆破,进入后台再进一步利用。同时也可以搜索未授权的页面、敏感URL等。