渗透测试之信息收集

 · 2020-6-15 · 次阅读


前言:信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测。正所谓,知己知彼百战百胜!

信息收集思维导图

注:尊重国家法律,维护国家网络安全,请勿用于违法行为!!!(若有人用于违法行为,本人概不负责)

信息收集的分类

主动和被动

1、主动式信息搜集(可获取到的信息较多,但易被目标发现)

2、通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。

3、被动式信息搜集(搜集到的信息较少,但不易被发现)

4、通过第三方服务来获取目标网络相关信息。如通过Google、Shodan等搜索引擎方式来搜集信息。

搜集什么信息

1、whois信息(微步)

2、网站架构

3、dns信息(通过查询dns我们可以检测是否存在dns域传送漏洞)

4、子域名搜集

5、敏感目录及敏感信息、源码泄露(搜索引擎+工具)

6、脆弱系统(网络空间)

7、旁站查询

8、C端查询

9、指纹信息

10、端口服务

11、备案信息

12、真实ip

13、探测waf

14、社工(朋友圈、微博、qq空间、求职、交易等社交平台)

15、企业信息(天眼查、企业信用信息公示系统、工业和信息化部ICP/IP地址/域名信息备案管理系统)

信息收集的流程

一个网站的组成是由域名、服务器、网站程序组成
因此

首先入手域名方面:whois、子域名、备案信息;

其次是入手服务器方面:dns信息、端口服务、真实ip;

然后入手网站程序(web层)方面:网站架构、敏感目录及敏感信息、源码泄露(搜索引擎+工具)、脆弱系统(网络空间)、旁站查询、C端查询、指纹信息、探测waf;

最后入手企业方面:天眼查、企业信用信息公示系统

子域名搜集

子域名收集可以发现更多目标,以增加渗透测试成功的可能性,探测到更多隐藏或遗忘的应用服务,这些应用往往可导致一些严重漏洞。当一个主站坚不可摧时,我们可以尝试从分站入手。

查询方式

1、layer子域名挖掘机
2、subDomainsBrute
3、搜索引擎语法(site:xxx.com)
4、在kali中使用Maltego搜集子域名信息(也有Windows版)
5、Kali中的DNS分析工具(信息收集部分)
6、...

搜索引擎

搜索域名语法
例:site:qq.com
(1)site: =主域名,搜索其主要域名下面的子域名

(2)allintext: = 搜索文本,但不包括网页标题和链接

(3)allinlinks: = 搜索链接, 不包括文本和标题。

(4)related:URL = 列出于目标URL地址有关的网页。

(5)link:URL = 列出到链接到目标URL的网页清单。
(6)使用“-”去掉不想看的结果,例如site:baidu.com -image.baidu.com
.https://www.baidu.com
.https://www.google.com
.https://fofa.so (网络空间资产搜索引擎)
.http://117.50.48.116 (在线子域名扫描)
.http://www.yunsee.cn/info.html (云悉在线资产平台查询)
.http://subdomain.chaxun.la (查询啦)
.http://searchdns.netcraft.com
.https://search.yahoo.com
.https://duckduckgo.com (一个不会存储你个人信息的搜索引擎)
注:有的需要科学上网

探测端口服务

查询方式

nmap
masscan 等

获取网站真实ip

现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。

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

思路

1、二级域名法 一般网站不会所有的二级域名放CDN,因此我们可以利用这点来获取网站的真实ip

2、多地ping法 由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN

3、nslookup法 找国外的比较偏僻的DNS解析服务器进行DNS查询,因为大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP

4、查看邮件法 通过查看邮件原文来确定ip地址,CDN总不会发送邮件吧

5、RSS订阅法 RSS原理于邮件法差不多

6、查看历史解析记录法 查找域名历史解析记录,域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址

7、利用网站漏洞(XSS、命令执行、SSRF、php探针、phpinfo页面等) 可以通过一些页面和漏洞获取到服务器ip地址也是可能的。

网站架构

操作系统

查询方式

1、Nmap 
2、wappalyzer插件 
3、云悉

注:wappalyzer插件是一款火狐插件,可以去火狐扩展中添加

中间件信息

1、wappalyzer插件 

2、云悉

通过wappalyzer插件查询中间件信息

数据库

1、wappalyzer 

2、云悉

通过云悉查询到数据库信息

编程语言

1、wappalyzer 

2、云悉

通过wappalyzer插件查询到编程语言信息

敏感目录及敏感信息、源码泄露(搜索引擎+工具)

途径方法

1、御剑 

2、搜索引擎 

3、BBscan 

4、GSIL 

5、社交平台(QQ群、文库、求职网)

御剑

御剑这款工具主要用于扫描网站的敏感目录、敏感文件。这里必须要说明一下字典必须要足够强大才可以扫到别人发现不了的点。因此我们必须完善一下自己的字典。

搜索引擎

搜索引擎也可以用于搜索网站的敏感目录、敏感文件和敏感信息。

这里就必须提一下搜索引擎的语法了,这里以google 黑客语法为例,语法同样适用于百度搜索引擎。

基本语法
"" //双引号表示强制搜索
-  //表示搜索不包含关键词的网页
|  //或者的意思
site //返回所有于这个域名有关的网页
intext //搜索到的网页正文部分包含关键词
intitle //搜索到的网页标题包含关键词
cache   //搜索关于某些内容的缓存
definne //搜索某个词语的定义
filetype //搜索指定的文件类型
info //查找指定站点的一些基本信息
inurl //搜索包含关键词的URL
link //可以返回所有和baidu.com做了链接的URL

BBscan

BBscan是一款信息泄漏批量扫描脚本。它是依旧还是由lijiejie大佬用python写的安全工具。
这是项目地址:github
在windows平台运行需要解决依赖问题

pip install -r requirements.txt

使用示例

  1. 扫描单个web服务 www.target.com
    python BBScan.py  --host www.target.com
    
  2. 扫描www.target.com和www.target.com/28下的其他主机
    python BBScan.py  --host www.target.com --network 28
    
  3. 扫描txt文件中的所有主机
    python BBScan.py -f wandoujia.com.txt
    
  4. 从文件夹中导入所有的主机并扫描
    python BBScan.py -d targets/  --browser
    
  5. 如果是为了去各大src刷漏洞,可以考虑把所有域名保存到targets文件夹下,然后
    python BBScan.py -d targets/ --network 30 
    

    社交平台

    在wooyun某一些案例中,有一些奇葩的思路,通过qq群信息泄露或者通过在线文档平台等等导致被攻击。

脆弱系统(网络空间)

网络空间搜索引擎的作用就是将互联网上公开的网络资产收集和整理,以此方便人们进行查阅和利用。我在网络空间可发现了不少企业的脆弱系统,未授权访问、SQL注入、弱口令等等都是存在的。

网络空间搜索引擎

1、Shodan 
2、FOFA 
3、Zoomeye

旁站查询

旁站是和目标网站在同一台服务器上的其它的网站
例如:K8

C端查询

北极熊扫描器 Nmap

指纹是什么

指定路径下指定名称的js文件或代码。

指定路径下指定名称的css文件或代码。

<title>中的内容,有些程序标题中会带有程序标识

meta标记中带程序标识<meta name=”description”/><meta name=”keywords”/><meta name=”generator”/><meta name=”author”/><meta name=”copyright”/>中带程序标识。

display:none中的版权信息。

页面底部版权信息,关键字© Powered by等。

readme.txt、License.txt、help.txt等文件。

指定路径下指定图片文件,如一些小的图标文件,后台登录页面中的图标文件等,一般管理员不会修改它们。

注释掉的html代码中<!–

http头的X-Powered-By中的值,有的应用程序框架会在此值输出。

cookie中的关键字

robots.txt文件中的关键字

404页面

302返回时的旗标

指纹信息的重要性

通过识别目标网站所使用的CMS信息,可以帮助我们进一步了解渗透测试环境,可以利用已知的一些CMS漏洞来进行攻击。

识别指纹方式

1、云悉 
2、wappalyzer插件 
3、whatweb工具