【渗透测试--信息收集】

渗透测试–信息收集


信息收集

大概:渗透测试中需要收集的信息内容:

例如:whois信息、c段网站、服务器版本、容器版本、程序版本、程序库类型、二级域名、防火墙。信息搜集类似踩点,掌握目标网站和目标主机足够多的信息后,才能够开展后续的渗透测试。目标资产信息搜集的程度,决定后渗透测试的复杂程度,目标主机信息搜集的深度,决定后渗透权限的持续把控。
可在GitHub、linkedin等社交、招聘软件中进一步查找这些人在网站上发布的一些列信息,


提示:以下是本篇文章正文内容,下面案例可供参考

一、社会工程学

示例:天眼查等网站可以提供企业关系挖掘、企业信息等一列架构内容,可以根据天眼查、企查查、企业信息公示系统、中国互联网络信息中心等工具获取相应的企业、网站信息。
钓鱼:
基于之前收集到的信息,可使用office/chm/rar/exe/快捷方式等文件格式制作钓鱼邮件发送至目标,进一步收集信息。

二、信息收集方法

1. ZoomEye 搜索引擎

常用搜索语法(示例):

 1、app:nginx 组件名                                              
​ 2、ver:1.0 版本
​ 3、os:windows 操作系统
​ 4、country:“China” 国家
​ 6、port:80 端口
 7、hostname:google 主机名
​ 8、site:thief.one 网站域名

2.真实ip获取

是否开启cdn(示例):

现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。
​ CDN即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网络的响应速度。

 检测其真实ip方式:

1、多地Ping法:由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN。多个地点Ping服务器-站长工具。(验证是否使用了CDN)
​ 2、二级域名法:目标站点一般不会把所有的二级域名放CDN上。通过在线工具如站长帮手,收集子域名,确定了没使用CDN的二级域名后。本地将目标域名绑定到同IP(修改host文件【C:\Windows\System32\drivers\etc】,在host文件中,如果输入一个错误的IP地址和域名,那么这个网址将会被劫持,访问不出来),如果能访问就说明目标站与此二级域名在同一个服务器上;如果两者不在同一服务器也可能在同C段,扫描C段所有开80端口的IP,然后挨个尝试。(可以找到真实IP)【可以使用工具layer挖掘子域名】
​ 3、nslookup法:找国外的比较偏僻的DNS解析服务器进行DNS查询,因为大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。
4、Ping法:直接ping example.com而不是www.example.com,因为现有很多CDN厂商基本要求只把www.example.com cname到CDN主服务器上去,那么直接ping example.com有可能直接获取真实IP。


3.域名的whois信息查询

域名的whois信息:
whois是用来查询域名注册所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令

行接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令行接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。

域名的whois信息:
通常,我们进行whois查询是去: 站长之家whois查询 http://whois.chinaz.com/ 。然后查出来信息之后,可以根据查询出来的邮箱、注册人、公司、电话等进行反查。

4.域名信息的收集

  • 子域名查询:
    1.通过爆破子域名进行查询,如 Layer子域名爆破机、subDomainBrute,在线子域名查询网站:https://phpinfo.me/domain/
    2.通过查询DNS服务器,查询该域下的解析记录
    3.通过HTTPS证书来查询(只适用于https网站) ,如:https://crt.sh/就是通过https证书查询子域名
    4.通过google查询

5.网站指纹识别

  • 通过识别目标网站所使用的操作系统、CMS、服务器与中间件信息,可以帮助我们进一步了解渗透测试环境,可以利用已知的一些CMS漏洞或中间件漏洞来进行攻击。

1、可以在以下地方获取信息:
​ (1)指定路径下指定名称的js文件或代码。
​ (2)指定路径下指定名称的css文件或代码。
​ (3)标题中的内容,有些程序标题中会带有程序标识,但不是很多。
​ (4)meta标记中带程序标识中带程序标识。
​ (5)display:none中的版权信息。

可以在以下地方获取信息:

(6)页面底部版权信息,关键字Powered by等。
(7)readme.txt、License.txt、help.txt等文件。
(8)指定路径下指定文件图片,如一些小的图标文件,后台登录页面中的图标文件等,一般管理员不会修改它们。
(9)注释掉的html代码中<!–
(10)http头的X-Powered-By中的值,有的应用程序框架会在此值输出。

  • 在线指纹识别小工具
  1. [1.BugScaner:在线指纹识别,在线cms识别小插件–在线工具
    http://whatweb.bugscaner.com/look/
    2.云悉指纹:yunsee.cn-2.0
    https://www.yunsee.cn/
    3.WhatWeb:WhatWeb - Next generation web scanner.
    https://www.whatweb.net/ ]

三、整站分析

1. 服务器类型(Linux/Windows)

服务器信息包括服务器用的操作系统:Linux 还是 Windows 。现在企业网站服务器的操作系统有百分之九十以上用的是Linux操作系统。知道了服务器的操作系统之后,还需要知道操作系统使用的具体版本。因为很多低版本的操作系统都存在已知的漏洞。
判断是Linux还是Windows最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。但是,通过TTL值来判断服务器类型也不是百分之百准确的,有些windows服务器的TTL值也是几十,而且有的服务器禁止ping。
而判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来。

2. 网站容器(Apache/Nginx/Tomcat/IIS)

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

脚本类型(php/jsp/asp/aspx)
我们需要知道网站用的脚本类型:php 、Jsp 、Asp 、Aspx 。
1:可以根据网站URL来判断
2:site:xxx filetype:php
3:可以根据Firefox(火狐)的插件来判断

2. 数据库类型(Mysql/Oracle/Accees/Mqlserver)

我们需要知道网站用的是哪种类型的数据库:Mysql、Oracle、SqlServer 还是 Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。所以我们还是要知道目标网站用的是哪种数据库,并且数据库是哪个版本的。

几种数据库的区别:

  • 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

首先,成本上的差距,access是不要钱的,mysql也是开源的,sql server 是收费的一般也就几千,Oracle的费用则数万。其次,处理能力,access支持千以内的访问量,sql server支持几千到上万的访问,而Oracle则支持海量的访 问。再次,从数据库的规模来看,access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。
常见搭配:
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL

四、端口扫描(nmap)

需要知道目标服务器开放了哪些端口,常见的如 135 、137 、138 、139 、445,这几个端口经常爆发漏洞。以下是一些服务端口的漏洞:

1. 常见端口漏洞

常见服务端口及漏洞(太多了,直接复制)
别人整理的端口漏洞

2. 端口扫描工具

端口扫描工具有nmap和masscan。
nmap扫描的准确性较高,
但是扫描的比较慢。
masscan扫描的比较快,
但是准确性较低。

3. 网站敏感目录和文件

扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏
后台目录:弱口令,万能密码,爆破
安装包:获取数据库信息,甚至是网站源码
上传目录:截断、上传图片马等
mysql管理接口:弱口令、爆破,万能密码,然后脱库,甚至是拿到shell
安装页面 :可以二次安装进而绕过
phpinfo:会把你配置的各种信息暴露出来
编辑器:fck、ke、等
iis短文件利用:条件比较苛刻 windows、apache等

四. 君子协议–robots.txt

robots.txt 文件是专门针对搜索引擎机器人robot 编写的一个纯文本文件。我们可以在这个文件中指定网站中不想被robot访问的目录。这样,我们网站的部分或全部内容就可以不被搜索引擎收录了,或者让搜索引擎只收录指定的内容。因此我们可以利用robots.txt让Google的机器人访问不了我们网站上的重要文件,GoogleHack的威胁也就不存在了。

例如我们要让robot禁止收录网站目录下的“data”文件夹,只需要在Disallow参数后面加上 /data/ 即可。如果想增加其他目录,只需按此格式继续添加。文件编写完成后将其上传到网站的根目录,就可以让网站远离Google Hack了。
虽然robots文件目的是让搜索蜘蛛不爬取想要保护的页面,但是如果我们知道了robots文件的内容的话,我们就可以知道目标网站哪些文件夹不让访问,从侧面说明这些文件夹是很重要的了。

五. 旁站和C段扫描

旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易入侵。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站了!
对于红蓝对抗和护网,C段扫描比较有意义。对于单独网站的渗透测试,C段扫描意义不大。C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
旁站和C段在线查询地址: http://www.webscan.cc/
https://phpinfo.me/bing.php

网站漏洞扫描就是直接对网站进行漏洞探测了。网站漏洞扫描也有很多工具。比如 AWVS、AppScan、OWASP-ZAP、nessuss等等。但是需要注意的是,使用漏扫工具直接对网站进行扫描,因为一下子流量过大,有些网站可能会崩溃。所以一般最好不要使用漏洞扫描工具对网站进行扫描。并且如果未经授权就用漏扫对网站进行扫描还是违法的

总结

​信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测。正所谓,知己知彼百战百胜!
目标资产信息搜集的程度,决定渗透过程的复杂程度。
目标主机信息搜集的深度,决定后渗透权限持续把控。
渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值