信息搜集

转载自公众号:freebuf

前言

前段时间,看了一本书名为《Kali Linux 渗透测试的艺术》,我发现书中第四章信息搜集那部分有些内容不能适应有些内容不能适用国内,这勾起了我想总结一下国内信息搜集的欲望,于是就有了这篇文章。

什么是信息搜集

信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。

信息搜集的重要性

信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。

信息搜集的分类

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

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

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

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

搜集什么信息

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;

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

归了类之后,我做了一张脑图。

脑图如下图所示:

2478619-443d97472ed7fef7
image

Whois信息和Whois反查

whois是用来查询域名的IP以及所有者等信息的传输协议。 whois信息可以获取关键注册人的信息,包括注册商、联系人、联系邮箱、联系电话、创建时间等,可以进行邮箱反查域名,爆破邮箱,社工,域名劫持等等。

查询方式

1、http://whois.chinaz.com/

2、微步

3、https://who.is/

4、Linux whois命令

5、其他工具

这里需要注意的是国际域名可以设置隐私保护,但像国内.cn等域名是不可以设置隐私保护的。

当然我们得比较一下这几种方式哪一种比较适合自己。

站长之家查询whois信息

这里我用360.cn为例。可以看到下图我们搜集到了注册商、联系人、联系邮箱等信息。

可以看到很直观,很中国,而且我们还可以通过联系人和联系邮箱反查。

2478619-9820bc3edd730dca
image

我们通过联系人反查,搜集到更多信息,效果如下图

2478619-378378019d961928
image

我们也可以通过邮箱反查,效果如下图

2478619-a4d9c676f48914af
image

微步查询whois信息

下图通过微步查询whois信息的效果,和站长之家一样很中国,想要反查whois需要复制邮箱

2478619-66fec451b62e5106
image

图是反查邮箱的效果,微步需要登录才可以查看更多的信息。

2478619-fb5abf3fadb0b2a0
image

因此相较于站长之家就显得有些麻烦了。

who.is查询whois信息

下图是通过who.is网站查询到的whois信息,可以看到中文字符竟还有乱码,很外国,且不能whois反查。

2478619-166962cf55631063
image

Linux whois命令查询whois信息

需要注意的是并不是所有Linux系统都自带whois命令的。

我这里就用CentOS7来演示安装whois客户端。

具体命令的话可以看下图

2478619-fc37b43134ed49ed
image

安装完成之后,我们来查询一下360.cn。可以看到下图的效果,同样出现了乱码。

2478619-37ac961752b6e7f0
image

其他工具查询whois信息

查询whois信息的工具,我这里不做讲解了,工具实质上还是调用了网站接口的。

因此通过比较,我们针对国内网站的whois信息,我们使用站长之家和微步来查询whois信息效率会比较高。

子域名搜集

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

查询方式

1、layer子域名挖掘机

2、https://phpinfo.me/domain/

3、subDomainsBrute

4、搜索引擎语法(site:xxx.com)

layer子域名挖掘机

下载地址:https://www.webshell.cc/6384.html

我们运行这款工具需要安装.net framework 4.0以上,否则会出现像下图一样的错误信息

2478619-8015d70d7be02e48
image

我就以安装4.5.2为例

2478619-df6d23d1c4748536
image

安装完毕后会出现下图

2478619-98b85e6410fa7bdf
image

现在可以成功运行工具了

2478619-5cd164d46f60de01
image

以360.cn为例,爆破的效果如下图,这款软件的好处是还可以进行扫描端口和探测服务器类型

2478619-72ed33294fa094dc
image

https://phpinfo.me/domain/

这是Lcy大佬的在线子域名爆破工具,我们可以测试一下爆破360.cn的子域名的效果,如下图所示,作为在线工具,它的爆破速度很可观。

2478619-7c08ae73bd6e15dd
image

subDomainsBrute

这是lijiejie大佬用python写的子域名爆破工具,不用说运行的话需要先安装python,对于懒惰的人,直接拖进kali里直接就可以运行。

github下载地址:https://github.com/lijiejie/subDomainsBrute

下图是以360.cn为例,用这款工具爆破出来的子域名,可以看到比较少,这是因为字典比较小的原因。

2478619-0d5aa7babbf04d7a
image
2478619-988abc73023695a5
image

搜索引擎语法(site:xxx.com)

我们也可以通过搜索引擎的语法搜索,但是搜索到的子域名比较少。

下图是通过百度搜索360.cn子域名的效果图,当然谷歌也是同样的语法。

2478619-2f542347d47d70fc
image

备案信息

备案信息分为两种,一种是IPC备案信息查询,一种是公安部备案信息查询。如果是国外的服务器是不需要备案的,因此可以忽略此步骤,国内的服务器是需要备案的,因此可以尝试获取信息。

查询方式

1、ICP备案查询

2、公安部备案查询

ICP备案查询

下图是通过网站查询ICP备案信息

2478619-0d8032f6b02a7f39
image

公安部备案查询

下图是通过全国公安机关互联网安全管理服务平台查询公安部备案信息

2478619-55c558493e75a98b
image

DNS信息搜集

通过查询DNS信息,我们可能可以发现网站的真实ip地址,也可以尝试测试是否存在DNS域传送漏洞。

查询方式

1、Kali(host、big命令)

2、windows(nslookup命令)

3、在线工具

Kali命令

host查询DNS信息,如下图所示:

2478619-fabe4438ef446d55
image

big查询DNS信息,如下图所示

2478619-b11b13c7b70ce605
image

windows命令

nslookup命令效果如下图,比较low。

2478619-a07ffbd1b35e2536
image

在线工具

地址:

http://tool.chinaz.com/dns/

https://tool.lu/dns/

这里就不做讲解了,和查whois信息一样。

探测端口服务

查询方式

Nmap

个人觉得用Nmap足矣

Nmap扫描

扫描结果如下图所示,可以看到我们可以扫描到操作系统类型、端口信息和端口对应的服务信息。

2478619-d2ffe206be68bd32
image

下图是详细端口对应服务图

2478619-931c4709edccde0f
image

获取网站真实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插件是一款火狐插件,可以去火狐扩展中添加。

2478619-ccbebe187f87dacb
image
2478619-7ee427b36791cb91
image

云悉是云悉安全专注于网络资产自动化梳理,cms检测web指纹识别,让网络资产更清晰的在线查询工具。
2478619-59bf39d921ce7d73
image

通过Nmap获取操作系统,如下图所示
2478619-5f6b359111307d69
image

通过wappalyzer插件查询,如下图所示
2478619-94a729675a7bfbac
image

通过云悉也可以查询到操作系统,如下图所示
2478619-62ce88228a9d7917
image

中间件信息

1、wappalyzer插件

2、云悉

通过wappalyzer插件查询中间件信息,如下图所示

2478619-6f585e1bc8168950
image

通过云悉也可以查询到中间件信息,如下图所示

2478619-496b549cd3bcc80a
image

数据库

1、wappalyzer

2、云悉

通过云悉查询到数据库信息,如下图所示

2478619-8c8a263c94dd28d2
image

通过wappalyzer插件查询到数据库信息,如下图所示

2478619-0eae2ddc63861c86
image

编程语言

1、wappalyzer

2、云悉

通过wappalyzer插件查询到编程语言信息,如下图所示

2478619-cc3f1c0252b67557
image

通过云悉查询到编程语言信息,如下图所示

2478619-880df34c1b41d1b8
image

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

途径方法

1、御剑

2、搜索引擎

3、BBscan

4、GSIL

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

robots.txt、crossdomin.xml、sitemap.xml、源码泄漏文件、/WEB-INF/

御剑

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

下图是我利用御剑对我自己网站的一次扫描

2478619-4944ce37a34410ab
image

搜索引擎

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

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

基本语法:

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

下面做几个演示

下图将返回360.cn的一些分站

2478619-39cd10142238f5c1
image

下图返回了所有360.cn下的所有包含login关键词的URL

2478619-aa2b895bb90da885
image

具体的用法你可以自己开动脑经组合使用,这里就不多做演示了。

BBscan

BBscan是一款信息泄漏批量扫描脚本。它是依旧还是由lijiejie大佬用python写的安全工具。

这是项目地址:https://github.com/lijiejie/BBScan

在windows平台运行需要解决依赖问题

pip install -r requirements.txt

下图是安装依赖的过程

2478619-a935a402443c87cc
image

下面说一下使用示例

1. 扫描单个web服务 www.target.com

python BBScan.py  --host www.target.com 

2. 扫描www.target.comwww.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 

下图是我利用BBscan扫描自己网站

2478619-8c3baa8286173a5e
image

GSIL

GSIL是一款由python3写的从github上寻找敏感文件的安全工具。

项目地址:https://github.com/FeeiCN/GSIL

先安装一下依赖

pip install -r requirements.txt

然后需要给它进行配置

用法

# 启动测试$ python3 gsil.py test# 测试token有效性$ python3 gsil.py --verify-tokens
2478619-3f622a4d29f194e7
image
2478619-36b60e9859ccddfc
image

社交平台

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

下图是通过QQ群查找找到的敏感文件以及账号和密码信息。

下图是通过道客巴巴获取敏感信息,其他社交平台这里就不演示了,社交平台实在有点多。

2478619-d8b92d5bf593dcbe
image

脆弱系统(网络空间)

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

网络空间搜索引擎:

1、Shodan

2、FOFA

3、Zoomeye

旁站查询

什么是旁站

旁站是和目标网站在同一台服务器上的其它的网站。

在线工具 k8旁站查询

在线工具获取旁站

下图是通过站长之家获取同一个服务器下的站点信息

2478619-7b615a6911af139c
image

k8查询旁站

这个工具是C#写的,因此需要.NET Framework v4.0

想要使用这款工具还需要申请必应API,我手工测试时是打不开KEY申请地址的,可能已经不行了,因此还是推荐使用在线工具查询吧。

2478619-3cf67ebcef2db9e6
image

C端查询

什么是C端

C端是和目标服务器ip处在同一个C段的其它服务器。

查询方式

北极熊扫描器 Nmap

北极熊扫描器扫C端

这是一款国人写的扫描器,不得不说这款扫描器误报率是真的高。通过一些实战我发现这款扫描器不错的是C端扫描,可以获取网站标题、服务环境、程序类型

下载地址

下图是使用北极熊扫描器扫C端的效果图

2478619-96e241c0882ff480
image

Nmap扫C端

下图是Nmap扫描开放http服务的服务器的效果图

2478619-9f42eabc312a91eb
image

指纹信息

指纹是什么

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

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

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

meta标记中带程序标识中带程序标识。

display:none中的版权信息。

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

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

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

指纹信息的重要性

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

识别指纹方式

1、云悉

2、wappalyzer插件

3、whatweb工具

探测waf

WAF也称Web应用防护系统,Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

原理:WAF识别大多基于Headers头信息。通过发送恶意的内容,对比响应,寻找数据包被拦截、拒绝或者检测到的标识。

探测方式

手工(提交恶意数据)

工具(WAFW00F、Nmap)

我们可以通过工具判断,如果工具检测到WAF的存在,手工验证一下是否存在误报;如果工具检测不到WAF的存在,我们也可以通过手工来判断WAF到底存不存在。

Nmap探测WAF

Nmap探测WAF有两种脚本,一种是http-waf-detect,一种是http-waf-fingerprint。

2478619-78bc57a972d51b99
image

WAFW00F探测WAF

2478619-6349fbd62e1ca593
image

手工探测WAF

在网址URL参数后面输入恶意数据,通过提交后被WAF拦截得知WAF信息。如下图

2478619-e25e8092f3459a00
image

天眼查

地址:https://www.tianyancha.com/

天眼查是一款“都能用的商业安全工具”,根据用户的不同需求,实现了企业背景、企业发展、司法风险、经营风险、经营状况、知识产权方面等多种数据维度的检索。

下图以奇虎360为例

2478619-29003d21c059ed56
image

企业信用信息公示系统

地址:http://www.gsxt.gov.cn/index.html

下图以奇虎360为例

2478619-727f027582103ff9
image

参考

书籍《Kali Linux 渗透测试的艺术》

乙方渗透测试之信息搜集

渗透测试之信息搜集

渗透测试之信息搜集

*本文作者:看不尽的尘埃,转载请注明来自 Freebuf.COM

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页