Still Shines.

信息收集总结

Word count: 3k / Reading time: 11 min
2019/07/19 Share

前言

渗透测试过程中,信息收集是十分重要的环节。信息收集的目的是获取目标系统的准确信息,以了解组织运行的方式,确定最佳的进攻线路。信息收集可以是悄无生息的,不让对方察觉到自己的存在或分析出我们的意图。信息收集的工作需要充分的细致和耐心,不然极可能会与可利用的系统漏洞或可实施攻击的目标失之交臂。信息收集工作需要周密的计划、调研,最重要的是具备从攻击者的角度去思考问题的能力。但信息收集中最重要的是不能被条条框框限制住,而且要把收集到的每一点微小的信息记录下来。本文只列出信息收集的一些方法步骤,仅供参考。

信息收集目标

信息收集并非盲目的,是为了能让我们对目标系统有更进一步的认识,主要需要收集到的信息有以下几类:

1、Whois信息
2、网站架构
3、DNS信息(通过查询dns我们可以检测是否存在dns域传送漏洞)
4、子域名搜集
5、敏感目录及敏感信息、源码泄露(搜索引擎+工具)
6、脆弱系统(网络空间)
7、旁站查询
8、C端查询
9、指纹信息
10、端口服务
11、备案信息
12、真实ip
13、安全防护设备(WAF/IDS/FW/负载均衡)
14、社工信息(朋友圈、微博、qq空间、求职、交易等社交平台)
15、企业信息(天眼查、企业信用信息公示系统、工业和信息化部ICP/IP地址/域名信息备案管理系统)

信息收集流程

信息收集流程从域名,服务器,网站三个方面考虑,基本上能涵盖整改业务系统信息。

域名:whois、子域名、备案信息;
服务器:Dns信息、真实ip、端口服务;
网站程序(web层):网站架构、敏感目录及敏感信息、源码泄露(搜索引擎+工具)、脆弱系统(网络空间)、旁站查询、C端查询、指纹信息、探测waf;
企业扩展:天眼查、企业信用信息公示系统;

信息收集方法

0x01 收集域名信息

DNS、注册人、备案等有关域名的一切信息。

Whois信息:

1、站长之家:http://whois.chinaz.com/

2、微步:https://x.threatbook.cn/

3、国外who.is:https://who.is/

4、爱站:https://whois.aizhan.com/

5、Linux whois命令

备案信息:

天眼查:https://www.tianyancha.com/

ICP备案查询网:http://www.beianbeian.com/

国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html

敏感字收集:

搜索引擎

1
2
3
4
5
6
7
8
9
10
11
Google用法:
Site ----------指定域名
Inurl----------URL中的关键字
Intext---------网页正文中的关键字
Filetype-------指定的文件类型
Intitle---------网页标题中的关键字
link-----------link:baidu.com表示返回说有和baidu.com连接的URL
Info ----------查找指定站点的基本信息
Cache---------搜索Google里有关某些内容的缓存

例:site: edu.cn intext: 后台管理

子域名信息收集:

1、在线子域名

http://tools.bugscaner.com/subdomain/
https://phpinfo.me/domain/

2、爆破枚举

Layer子域名挖掘机:https://www.webshell.cc/6384.html
subDomainsBrute: https://github.com/lijiejie/subDomainsBrute
K8
orangescan
DNSRecon

ps: 在https://github.com/ 上也可以搜索子域名,运气好的话,会有意想不到的收获

3、检索给定域名的子域名

VirusTotal:https://www.virustotal.com/#/home/search
DNSdumpster:https://dnsdumpster.com/

4、基于SSL证书查询

https://crt.sh/
https://censys.io/
https://developers.facebook.com/tools/ct/
https://google.com/transparencyreport/https/ct/

5、搜索引擎

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


0x02 收集服务器信息

DNS信息收集:

1、Kali(host、big命令)
2、windows(nslookup命令)
3、在线工具
http://tool.chinaz.com/dns/
https://tool.lu/dns/

查找真实的IP

在渗透过程中,目标服务可能只有一个域名。那么如何听过这个域名来确定目标服务器的真是IP对渗透测试来说就很重要。如果目标服务器不存在CDN,可
直接通过(www.ip138.com) 获取目标的一些IP及域名信息。但现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。

判断是否为使用了CDN

可以通过ping目标主域,观察域名解析的情况来判单还可以利用在线网址17CE(https://www.17ce.com) 进行全国多地区的ping服务器操作,然后对比各个地区ping出的IP结果判断,查看这些IP是否一致,如果一样的,极有可能不存在CDN,如果不太一样或者规律很强,可以尝试查找这些IP的归属地,判断是否存在CDN。

寻找真实IP方法思路如下:

1、二级域名法 一般网站不会所有的二级域名放CDN,因此我们可以利用这点来获取网站的真实ip
2、多地ping法 由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN
3、nslookup法 找国外的比较偏僻的DNS解析服务器进行DNS查询,因为大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP,因此,通过国外在线代理网址App Svnthetic Monitor(https://asm.ca.com/en/ping.php) 访问,可能会得到真实的IP。
4、查看邮件法 通过查看邮件原文来确定ip地址(但要自己的邮箱服务器),因为CDN不会发送邮件。
5、RSS订阅法 RSS原理于邮件法差不多
6、查看历史解析记录法 查找域名历史解析记录,域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址(https://www.netcraft.com)
7、利用网站漏洞(XSS、命令执行、SSRF、php探针、phpinfo页面等) 可以通过一些页面和漏洞获取到服务器ip地址也是可能的。

验证获取的ip

直接用IP访问或者在目标段比较打的情况下,借助类似Masscan的工具批量扫描对应IP段中所有开了80.443.8080端口的IP。然后珠峰尝试IP访问观察相应结果是否为主站点

端口服务信息:

Nmap,无状态端口扫描工具Masscan,御剑高速TCP端口扫描工具等

常见的端口信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
	端 口                 端口说明                    攻击方向

文件共享服务端口:::
21/22/69-----------Ftp/Tftp文件传输协议-------允许匿名上传、下载、爆破和嗅探操作
2049---------------Nfs服务-------------------配置不当
139----------------Samba服务----------------爆破、未经授权访问、远程代码执行
389----------------Ldap目录访问协议----------注入、允许匿名访问、弱口令

远程链接服务端口:::
22 ---------------SSH远程链接--------------爆破、SSH隧道及内网代理转发、文件传输
23 ---------------Telnet远程连接- -----------爆破、嗅探、弱口令
3398---------------Rdp远程桌面连接--------Shift后门(Windows Server 2003以下的系统)、爆破
5900---------------VNC ---------------弱口令、爆破
5632---------------PyAnywhere服务-----------抓密码、代码执行

Web应用服务端口:::
80/443/8080--------常见的Web服务端口-------\Web攻击、爆破对应服务版本的漏洞
7001/7002----------WebLogic控制台-----------Java反序列化、弱口令
8080/8089-----------Jboss/Resin/Jetty/Jenkins---反序列化控制台弱口令
9090----------------WebSphere控制台--------Java反序列化、弱口令
4848----------------GlassFish控制台 ---------/弱口令
1352----------------Lotus domino邮电服务----弱口令、信息泄露、爆破
10000---------------Webmin-Web控制面板----/弱口令

数据库服务端口:::
3306----------------MySQL-------------------注入、提权、爆破
1433----------------MSSQL数据库------------/注入、提权、SA弱口令、爆破
1521----------------Oracle数据库-------------/TNS爆破、注入、反弹Shell
5432----------------PostgreSQL数据库---------爆破、注入、弱口令
27017/27018---------MongoDB数据库----------爆破、未授权访问
6379----------------Redis数据库--------------/可尝试未授权访问、弱口令
5000----------------SysBase/DB2数据库--------/爆破、注入

邮件服务端口:::
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 Rexec服务-------------爆破、Rlogin登陆
873-----------------Rsync服务------------------匿名访问、文件上传
3690----------------Svn服务--------------------Svn泄露、未经授权访问
50000---------------SAP Management Console-----远程执行

端口服务对应图:

c段查询

Nmap扫描

1
nmap -sP 192.168.1.0/24

0x03 网站信息收集

操作系统

1、Nmap
2、查看数据包响应头
3、wappalyzer插件
4、云悉

指纹识别

是指自动识别网址所用的CMS,常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress

指纹有哪些

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
指定路径下指定名称的js文件或代码。

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

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

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

display:none中的版权信息。

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

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

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

注释掉的html代码中

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

cookie中的关键字

robots.txt文件中的关键字

404页面

302返回时的旗标

常见的指纹识别工具

御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量级WEB指纹识别等

在线指纹识别网址

BugScaner:http://whatweb.bugscaner.com/look/
云悉指纹:http://www.yunsee.cn/finger.html
WhatWeb:http://whatweb.net/
在线指纹识别:http://whatweb.bugscaner.com/look/

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

1、御剑

2、搜索引擎

1
2
3
4
5
6
7
8
9
10
11
12
13
14
基本语法:

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

3、BBscan
BBscan是一款信息泄漏批量扫描脚本。它是依旧还是由lijiejie大佬用python写的安全工具。
https://github.com/lijiejie/BBScan

4、GSIL
GSIL是一款由python3写的从github上寻找敏感文件的安全工具。
https://github.com/FeeiCN/GSIL

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

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

空间搜索引擎

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

1、Shodan

2、FOFA

3、Zoomeye

旁站查询

1、在线工具
2、k8旁站查询

waf探测

1、手工(提交恶意数据)
2、工具(WAFW00F、Nmap)
Nmap探测WAF有两种脚本,一种是http-waf-detect,一种是http-waf-fingerprint

CATALOG
  1. 1. 前言
  2. 2. 信息收集目标
  3. 3. 信息收集流程
  4. 4. 信息收集方法
    1. 4.1. 0x01 收集域名信息
      1. 4.1.1. Whois信息:
      2. 4.1.2. 备案信息:
      3. 4.1.3. 敏感字收集:
        1. 4.1.3.1. 搜索引擎
      4. 4.1.4. 子域名信息收集:
        1. 4.1.4.1. 1、在线子域名
        2. 4.1.4.2. 2、爆破枚举
        3. 4.1.4.3. 3、检索给定域名的子域名
        4. 4.1.4.4. 4、基于SSL证书查询
        5. 4.1.4.5. 5、搜索引擎
    2. 4.2. 0x02 收集服务器信息
      1. 4.2.1. DNS信息收集:
      2. 4.2.2. 查找真实的IP
        1. 4.2.2.1. 判断是否为使用了CDN
        2. 4.2.2.2. 寻找真实IP方法思路如下:
        3. 4.2.2.3. 验证获取的ip
      3. 4.2.3. 端口服务信息:
      4. 4.2.4. c段查询
        1. 4.2.4.1. Nmap扫描
    3. 4.3. 0x03 网站信息收集
      1. 4.3.1. 操作系统
      2. 4.3.2. 指纹识别
        1. 4.3.2.1. 指纹有哪些
        2. 4.3.2.2. 常见的指纹识别工具
        3. 4.3.2.3. 在线指纹识别网址
      3. 4.3.3. 敏感目录及敏感信息、源码泄露(搜索引擎+工具)
      4. 4.3.4. 空间搜索引擎
      5. 4.3.5. 旁站查询
      6. 4.3.6. waf探测