信息收集总结

在进行一个渗透测试项目的过程中,对一个目标站点进行的第一步工作就是信息收集,信息收集是渗透测试的灵魂。

我把它分为四大块儿内容:

##### 一、域名方面

1、whois信息(邮箱、联系人、地址、电话)

2、子域名

3、备案信息

##### 二、服务器方面

1、dns信息

2、端口服务

3、真实ip(服务、端口、协议、CDN)

##### 三、web层方面

1、操作系统类型与网站架构(语言、中间件、数据库、平台)

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

3、系统漏洞

4、旁站查询

5、C段查询

6、指纹信息

7、探测waf(后续可确定bybass方式)

##### 四、企业信息方面

1、天眼查

2、企业信用信息公示系统

3、工业和信息化部ICP/IP地址/域名信息备案管理系统

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

# 详细如下:

##### 一、域名方面

###### 1、whois信息(邮箱、联系人、地址、电话)

    Whois是一个标准的互联网协议,可用于收集网络注册信息,注册的域名、IP地址等信息。(Whois就是一个用于查询域名是否已被注册以及注册域名的详细信息的数据库)

在线网址:

http://mip.chinaz.com/Ip/IpWhois/?query=

https://www.aizhan.com/

###### 2、子域名

1)子域名检测工具:Layer子域名挖掘机、DnsSearch、subDomainsBrute、K8、wydomain

2)搜索引擎枚举:google语法搜索子域名。eg: site:baidu.com

3)cmd中的nslookup,eg: nslookup 192.168.10.111

###### 3、备案信息

      ICP备案是指网络内容提供商(Internet Content Provider),《互联网信息服务管理办法》指出需要对网站进行备案,未取得许可不得从事互联网信息服务。

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

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

##### 二、服务器方面

###### 1、dns信息

    域名系统 (DNS) 将人类可读的域名 (例如,www.amazon.com) 转换为机器可读的 IP 地址 (例如,192.0.2.44)。

DNS历史解析相关网站:

http://whoisrequest.com/history/

https://completedns.com/dns-history/

###### 2、端口服务

扫描工具:nmap、masscan、zmap、御剑端口扫描工具、goby、gorailgun等

###### 3、真实ip(服务、端口、协议、CDN)

如果目标没有使用CDN,可以通过ping获取IP地址。

使用了CDN,那就绕过CDN来获取真实的IP地址。

    CDN即内容分布网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。简单来说就是一组在不同运营商之间的对接点上的高速缓存服务器,把用户经常访问的静态数据资源直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以打打提高网站的响应速度及用户体验。


    如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CND服务器,这就导致我们没法直接得到目标的真实IP段范围。

绕过CDN寻找真实IP,看其他笔记。

##### 三、web层方面

###### 1、操作系统类型与网站架构(语言、中间件、数据库、平台)

1)操作系统类型

    服务器用的操作系统有linux/windows,现在企业网站服务器的操作系统有百分之九十以上用的是Linux操作系统。知道了服务器的操作系统之后,还需要知道操作系统使用的具体版本,因为很多低版本的操作系统都存在已知的漏洞。

    判断是Linux还是Windows?

    **1)最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。但是,通过TTL值来判断服务器类型也不是百分之百准确的,有些windows服务器的TTL值也是几十,而且有的服务器禁止ping;

    **2)还可以通过大小写判断网站服务器系统. window系统类服务器是不区分大小写的,而linux系统则区分大小写,所以可以在URL中改变大小写字母判断;

    **3)判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描,-O 和-A 参数都能扫描出来。

    **4)一般情况下

            iis6.0的都是window2003系统;

            如果是iis7.0一般都是window系列的操作系统win7或者win8;

            如果是Apache/2的话就是linux的操作系统。

2)网站架构

a)数据库类型(Mysql/Oracle/Access/Mqlserver)

    我们要知道目标网站用的是哪种数据库,并且数据库是哪一个版本。虽然这几种数据库在语法上是大体相同的,但是还是有区别。

常见几种数据库:

**1)Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名:.mdb 一般是asp的网页文件用access数据库;

**2)SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433,数据库后缀名 .mdf;

**3)MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。

MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面,默认端口是3306;

**4)Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521;

四者区别:

    首先,成本上的差距,access是不要钱的,mysql也是开源的,sql server 是收费的一般也就几千,Oracle的费用则数万。

    其次,处理能力,access支持千以内的访问量,sql server支持几千到上万的访问,而Oracle则支持海量的访 问。

    再次,从数据库的规模来看,access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。

3)网站容器(Apache、Nginx、Tomcat、IIS)

    可以使用插件wappalyzer查看网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。

    比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。

4)网站开发语言(php/jsp/asp/aspx)

目前网站主要分动态网站和静态网站。

静态网站:其网页内容主要是通过写死的html呈现给浏览器;

动态网站:它的网页内容,可能是通过后端编程语言,如(java,.net,php等)动态生成的。

如何分析网站是用何语言开发?

1)查看网页后缀名

    含 .do的 网址,可能是 java开发,而且用到了 java servlet技术;

    含 .jsp的网址,可能是用 java开发;

    含 .aspx 的网址,可能是用 asp.net开发

    含 .asp的网址,可能是用 asp开发;

    含 .php的网址,可能是用 .php开发;

2)wappalyzer插件查看

3)通过网站报错信息判断

    各类异常错误抛出时会透露语言信息,但是这也有个弊端,如果服务器端禁用了错误回显或者自定义了错误页面,则无法判断。

4)F12查看

    打开调试跟踪工具,F5刷新一下网址,看网络请求。分析 Request Header 与 Response Header,有时也可以通过分析 cookie 或 session去发现一些痕迹。

5)在你想知道的网站地址上,加上一个/index.XXX就可以了。(XXX为语言类型)。

    拿百度来说,百度的域名为:www.baidu.com。

    因为www.baidu.com/index.php可以正常访问,而www.baidu.com/index.aspx,www.baidu.com/index.asp,www.baidu.com/index.jsp,均不能访问,所以通过判断最后得到的结果就是php。

6) 用多种编程语言开发的多个子站点集成

    有些网站可能用了不止一种后端开发语言开发,可能是多个语言的合集,多个子站点集成在一起,这种情况不能很好的判断。

7)伪静态,或反向代理

    也有一些网站使用了伪静态,或者是反向代理,把真实的网络资源请求给包装隐藏起来了,这种情况也不能很好的判断。

###### 2、敏感目录及敏感信息

1)敏感目录:

在信息收集过程中,需要收集的敏感目录/文件包括:

1)后台目录:弱口令,万能密码,爆破;

2)安装包:获取数据库信息,甚至是网站源码;

3)上传目录:截断、上传马等;

4)mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell;

5)安装页面 :可以二次安装进而绕过;

6)phpinfo:会把你配置的各种信息暴露出来;

7)网站文本编辑器:fck、ke等;

8)iis短文件利用:条件比较苛刻 windows、apache等;

9)测试文件;

10)网站备份文件;

11)robots.txt文件;

    robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。

    当一个搜索机器人访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

    如果一个网站存在robots.txt文件,那我们就可以清楚的了解网站的结构。

目录扫描工具:dirsearch、dirmap、御剑等

2)敏感信息:

Google hack:指使用谷歌等搜索引擎对某些特定的网络主机漏洞进行搜索。

            site:指定搜索域名。如:site:baidu.com

            inurl:指定url中是否存在某些关键字。如:inurl:php?id=

            intext:指定网页中是否存在某些关键字。如:intext:后台

            filetype:指定搜索文件类型 如:filetype:txt

            intitle:指定网页标题是否存在某些关键字 如:intitle:后台管理

            link:指定网站链接 如:link:baidu.com 指定与百度做了外链的站点

            info:指定搜索网页信息 如:info:baidu.com

###### 3、源码泄露(搜索引擎+工具、GitHub等)

    Github不仅能托管代码,还能对代码进行搜索,当上传并公开代码时,一时大意,会让某些敏感的配置信息文件等暴露于众。

github直接搜索:

1)"target.com" "dev"

2)"dev.target.com"

3)"target.com"  API_key

4)"target.com"  password

######4、系统漏洞

###### 5、旁站查询

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

    旁站信息:旁站是和目标网站在同一台服务器上的其它的网站,主站无法获取权限的情况下,旁站便可以作为攻击入口,然后再想办法跨到真正目标的站点目录中

###### 6、C段查询

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

    通过目标所在C段的其他任一台机器,想办法跨到我们的目标机器上。

    每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。

旁站和 C 段的查询方式:

(1)利用 Bing.com,语法为:http://cn.bing.com/search?q=ip: 这里写要查的 ip 地址

(2)站长之家:s.tool.chinaz.com/same

(3)利用 Google,语法:site:125.125.125.*

(4)利用 Nmap,语法:nmap -p 80,8080 –open ip/24

(5)K8 工具、御剑、goby、gorailgun等

(6)在线网址:https://webscan.cc/

###### 7、指纹信息

    指纹是指网站CMS指纹识别、计算机操作系统以及web容器的指纹识别等,只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。

    应用程序一般在html、js、css等文件中包含一些特征码,这些特征码就是所谓的指纹。当碰到其他网站也存在次特征时,就可以快速识别出该程序,所以叫做指纹识别。

    常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、phpcms、ecshop、dvbbs、siteweaver、aspcms、帝国、Z-Blog、WordPress等。

识别一些主流CMS工具有:御剑web指纹识别、whatweb、webrobo、椰树、轻量web指纹识别等。

插件:wappalyzer

在线网址:

Bugscaner: http://whatweb.bugscaner.com/look/

whatweb: http://whatweb.net/

###### 8、探测waf(后续可确定bybass方式)

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

waf 常用绕过方法:

1) 手工(提交恶意数据,简单粗暴)

2) Kaili 工具(WAFW00F、Nmap)

Nmap 探测 WAF 有两种脚本:

一种是 http-waf-detect,命令:nmap -p80,443 --script=http-waf-detect ip

一种是 http-waf-fingerprint。命令:nmap -p80,443 --script=http-waf-fingerprint ip

##### 四、企业信息方面

在线网址:

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

2)企业信用信息公示系统:http://gsxt.gdgs.gov.cn/index.html

3)工业和信息化部ICP/IP地址/域名信息备案管理系统:https://beian.miit.gov.cn/#/Integrated/index

4)社工信息

朋友圈、微博、qq空间、求职、交易等社交平台及社工库在线网站查询

你可能感兴趣的:(信息收集总结)