WEB安全入门系列之信息收集

2018-08-14 26,827

在渗透测试时,信息收集的全面性对于后期的渗透工作必为重要,甚至关联到能不能挖掘到漏洞,本篇文章从基本的信息收集方法进行详解,从根本上解决初、中级渗透测试人员不会收集网站信息的问题。


内容大纲:

一、基本信息收集

三、搜索引擎利用

二、网站后台查找

 


一、基本信息收集


1.0、域名信息

1.1-Whois查询

根据已知域名反查,分析出此域名的注册人、邮箱、电话等,可通过知道域名注册商对其进行社工,或利用管理员邮箱进行伪装邮件达到欺骗的目的。

 

站长工具:

http://whois.chinaz.com/

图片1.png

通过Whois查询可以获取网站管理员的手机号码、姓名、邮箱、域名注册商等信息。

图片2.png

利用查询到网站管理员手机号码、姓名、邮箱通过Whois反查查询出网站管理员所注册过的域名,可以对注册的其他域名进行漏洞挖掘。

邮箱反查:http://whois.chinaz.com/reverse?ddlSearchMode=1

注册人反查:http://whois.chinaz.com/reverse?ddlSearchMode=1

电话反查:http://whois.chinaz.com/reverse?ddlSearchMode=1

 

 

Whois查询的过程中,需要多次查询信息,避免产生偶然性,通过其他工具也可以查询到Whois信息:

微步在线-https://x.threatbook.cn/

爱站网-https://whois.aizhan.com/

万网域名信息查询-https://whois.aliyun.com/

腾讯云域名信息查询-https://whois.cloud.tencent.com/

 

 

 

 

1.2、子域名收集

当主站挖掘不到漏洞后,利用工具查询网站的子域名,逐个分析每个子站存在的漏洞,对存在的漏洞进行利用。

 

layer子域名挖掘机

图片3.png

通过查看WEB服务器信息,筛选版本比较低的服务器(win2003+iis6.0),查看每个子域名是否开启常见的端口(3389、3306、21端口等),利用爆破工具进行枚举,会达到事半功倍的效果。

下载地址:https://pan.lanzou.com/i0yeo0h

 

注:利用御剑这款工具也可以查询到子域名。

 

 

 

1.3、对应IP搜集

查询相关域名对应IP、别名记录等,判断出网站服务器所使用的服务商或服务器IP信息。

图片4.png

http://tool.chinaz.com/nslookup/

 

在线nslookup查询

图片5.png

http://tools.bugscaner.com/nslookup/

 

 

 

 

2.0、敏感目录

收集方向:

robots.txt、后台目录、安装包、上传目录、mysql管理页面、phpinfo、编辑器

 

目录扫描对应信息收集来说特为重要,比如robots文件当中就可能泄露网站的后台或者CMS信息等,安装包中便泄露了网站的源码,phpinfo泄露了服务器的一些配置信息,编辑器、上传页面便可以进行利用相关的漏洞进行渗透,mysql、后台管理页面可以进行枚举爆破来尝试登陆进行下一步的安全测试。

 

常用工具:

字典爆破--御剑:

图片6.png

链接:https://pan.baidu.com/s/1o6Fjax9W0bcyg0v1zQKYSA 密码:zsmh

 

DirBuster:

图片7.png

当使用扫描工具对站点进行扫描,网站存在WAF后,会给我们的工具进行拦截,这时候我们需要修改User Agent值来绕过WAF的拦截,而DirBuster这款扫描工具便可以修改User Agent值,

Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html) 百度蜘蛛抓取欺骗

Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html) 谷歌蜘蛛抓取欺骗

Firefox 3.6 Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8;baidu Transcoder) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729) 百度转码浏览欺骗

Chrome Mozilla/5.0 (en-us) AppleWebKit/534.14 (KHTML, like Gecko; Google Wireless Transcoder) Chrome/9.0.597 Safari/534.14 谷歌转码浏览欺骗

 

工具下载:https://pan.baidu.com/s/1u2mj_RjBUsBYi-sLxJXbQQ 密码:5h1m

附上使用教程:https://jingyan.baidu.com/article/f79b7cb37eba219144023e83.html

 

 

 

 

爬虫也是一种目录扫描,通过爬虫分析网站目录结构从而可以判断出网站所使用的CMS和网站的脚本,运气好的话可以爬到一些信息泄露的目录和文件,能够进一步进行渗透测试。

爬虫--中国菜刀:

图片8.png

链接:https://pan.baidu.com/s/1FTWbdm0ACMBQKL48ayuJMA 密码:3xix

 

Webrobot:

图片9.png

链接:https://pan.baidu.com/s/1Pe3h20aQpfQ5-aXxgINiVA 密码:md66

像这个网站便爬取到了可能是管理员的邮箱,丢社工库查询可能拿下邮箱,在Whois信息被管理员设置权限后通过爬虫爬到管理员邮箱,真是山重水复疑无路,柳暗花明又一村。

 

 

 

3.0、端口扫描

通过端口扫描可以判断出网站开启的服务,从而通过爆破枚举或者漏洞利用进行突破,进一步提升网站权限,端口扫描也是信息收集必备的操作。

扫描到的端口也许是网站的一个旁站,可以尝试对旁站进行漏洞探测,但是有些服务开启的端口可能被管理员修改,通过手工判断分析即可(例如开启了8888端口,通过尝试远程桌面连接确定该端口为3389修改过的端口)。

 

各服务开启的默认端口:

21 >> FTP

22 >> SSH

23 >> Telnet

110 >> POP3

1433 >> Sqlsever

3306 >> Mysql

... ...

3389 >>Mstsc

8080 >>Tomcat/jboss

9090 >>WebSphere等

 

ScanPort:

通过ping等方式获取网站IP,然后开始扫描

图片10.png

链接:https://pan.baidu.com/s/15DSrPICF8100mNKbCFwzuw 密码:0k5r

 

webrobot:

图片11.png

链接:https://pan.baidu.com/s/1Pe3h20aQpfQ5-aXxgINiVA 密码:md66

 

注:也可以使用Nmap进行端口扫描,如果网站存在WAF可以通过调节扫描线程或者利用FTP连接工具、SSH连接工具、Mysql连接等工具进行手工探测。

 

 

 

 

4.0、旁站C段

旁站:同服务器其他站点

C段:同一网段其他服务器

对于防护比较强的主站,通常是很难挖掘到漏洞的,这时需要查看该站点的旁站,通过探测旁站的漏洞进行利用,从而拿下主站的权限。

当网站不存在旁站时,就需要进行C段探测(有些网站买断了相邻的几个IP做为分站,如果拿到分站的管理员敏感信息,如密码之类的,可以尝试对主站进行撞库),通过拿下C段中服务器进行ARP欺骗达到劫持域名的效果。

 

旁站--同IP网站查询

图片12.png

通过ping等方式获取网站IP,然后进行查询,

图片13.png

http://s.tool.chinaz.com/same

 

通过爱站网页可以查询:

图片14.png

https://dns.aizhan.com/

 

C段--C段查询

图片15.png

http://www.5kik.com/c/

 

 

 

 

 

5.0、整站分析

5.1 服务器类型

检测服务器平台、版本等,获取后可以制定漏洞挖掘方案(如IIS6.0存在解析漏洞等)。

图片16.png

将首页或者其他页面通过修改大小写辨别网站所使用的系统:

区分大小写(页面报错)--Linux

不区分大小写(页面正常)--Windows

 

 

 

 

云悉WEB资产梳理

图片17.png

http://www.yunsee.cn/

根据IIS版本判断Windows系统,系统对应版本通过搜索引擎查找。

 

注:使用AppScan、WVS等扫描工具也可以判断。

 

 

 

 

5.2 网站容器

搭建网站的服务组件,例如:iis、Apache、nginx、tomcat等,通过网站容器判断存在的漏洞(如:Apache解析漏洞,nginx解析漏洞)。

火狐渗透测试浏览器

图片18.png

 

云悉WEB资产梳理:

图片19.png

http://www.yunsee.cn/info.html

 

 

 

 

5.3 脚本类型

判断ASP、ASPX、PHP、JSP等

 

一、通过修改首页文件后缀查看页面响应判断。

通过修改index.xxx后缀内容(为ASP\ASPX\PHP\JSP),查看页面返回情况,页面返回正常便可以判断脚本类型,判断脚本类型是信息收集中最基本的工作之一。

 

二、通过搜索框查找相关文章辨别脚本类型。

在网站搜索框中输入任意字符,查询后,通过浏览器上的URL判断网站脚本类型。

 

三、通过爬虫工具爬取网站目录判断网站脚本类型。

图片20.png

链接:https://pan.baidu.com/s/1Pe3h20aQpfQ5-aXxgINiVA 密码:md66

 

 

 

 

5.4 CMS类型

识别dedecms、phpcms、emlog、帝国cms等,通过网站使用的CMS找取该CMS已经公布的漏洞进行利用,进一步渗透网站。

云悉在线WEB指纹CMS识别平台

图片21.png

http://www.yunsee.cn/finger.html

 

BugScaner在线指纹识别平台

图片22.png

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

 

 

 

 

5.5 数据库类型

access、sqlserver、mysql、oracle、postgresql等

通常情况:access--asp mysql--php oracle--jsp sqlserver--aspx

postgresql--php 数据库的类型判断对于SQL注入必关重要,只有通过知道数据库类型才能进一步对网站进行SQL注入。

 

也可以通过端口扫描器扫描出网站开放的端口,然后对应开启的数据库类型。

图片23.png

各端口对应数据库类型:

1433--sql server 3306--mysql oracle--1521 postgresql--5432

access--默认不开放连接端口,数据库存储在FTP服务器上。

 

端口扫描判断数据库类型的方法较为准确,但是管理员也可能选择不开放外网数据库端口,开放内网的数据库端口,也有些管理员喜欢使用站库分离的方法或者使用WAF进行拦截端口扫描来防护站点,这样我们通过端口扫描判断数据库类型的方法便有些失效了。

 

 

 

 

5.6 WAF

判断安全狗、阿里云云盾、360网站卫士、护卫神等WEB应用程序防火墙,便于采取绕过WAF的办法。

 

云悉WEB资产梳理

图片24.png

http://www.yunsee.cn/info.html

 

在搜索框中输入XSS弹窗代码<script>alert('XSS')</script> WAF拦截后判断WAF

 

图片25.png

在可能存在的注入页面输入检测注入漏洞代码and 1=2,被WAF拦截后判断WAF。

 

 

 

 

 

 

 

 

 

 

二、搜索引擎的利用

2.0 谷歌Hacker

利用google hacking可以快速的对目标进行信息收集。

谷歌入侵的原理是利用谷歌去搜索包括特定文本字符串的网页,通过搜索引擎往往能查找到我们需要的网站信息,如后台页面、敏感文件、目录遍历等。

 

1. intext:后台管理      

查询页面中含有后台管理的网站,这里还可以利用site:语句(下同)指定查找的网站(包含子域名)中页面含有后台管理的站点,

图片26.png

           

2.intitle:管理登录  

查找网站标题中存在管理登录的页面

图片27.png

 

3. filetype: pdf

查找网站中pdf格式的文件,也可以搜索网站sql或者压缩包等文件

图片28.png

 

 

 

 

 

 

4. inurl:  php?id=

查找url中带有php?id=的网站

图片29.png

 

 

5.site:baidu.com       

指定查找baidu.com网站的信息,一般能搜索出子域名

图片30.png

 

6.  filetype:pdf  site:baidu.com

查找baidu.com网站内所有pdf格式的文件, filetype:pdf 可以替换成其他语法。

 

图片31.png

 

 

 

 

 

 

2.1 shodan搜索引擎

shodan网络搜索引擎偏向网络设备(摄像头、路由器)以及服务器(端口、开启服务、服务器平台版本)的搜索,具体内容可上网查阅,这里给出它的高级搜索语法。

https://www.shodan.io/

图片32.png

可以直接搜索到站点IP开启的端口、服务器版本及平台、开启服务、地理位置等

 

搜索语法

hostname:  搜索指定的主机或域名,例如 hostname:”google”

port:  搜索指定的端口或服务,例如 port:”21”

country:  搜索指定的国家,例如 country:”CN”

city:  搜索指定的城市,例如 city:”Hefei”

org:  搜索指定的组织或公司,例如 org:”google”

isp:  搜索指定的ISP供应商,例如 isp:”China Telecom”

product:  搜索指定的操作系统/软件/平台,例如 product:”Apache httpd”

version:  搜索指定的软件版本,例如 version:”1.6.2”

geo:  搜索指定的地理位置,例如 geo:”31.8639, 117.2808”

before/after:  搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:”11-11-15”

net:  搜索指定的IP地址或子网,例如 net:”210.45.240.0/24”

 

 

 

 

 

 

2.2 censys搜索引擎

censys搜索引擎功能与shodan类似,偏向网络设备和服务器的搜索。

地址:https://www.censys.io/

图片33.png

 

 

搜索语法

默认情况下censys支持全文检索。

 

23.0.0.0/8 or 8.8.8.0/24  可以使用and or not

 

80.http.get.status_code: 200  指定状态

 

80.http.get.status_code:[200 TO 300]  200-300之间的状态码

 

location.country_code: DE  国家

 

protocols: (“23/telnet” or “21/ftp”)  协议

 

tags: scada  标签

 

80.http.get.headers.server:nginx  服务器类型版本

 

autonomous_system.description: University  系统描述

正则

 

 

 

 

 

 

2.3 FoFa搜索引擎

FoFa搜索引擎偏向资产搜索。

http://fofa.so

图片34.png

 

搜索语法

直接输入查询语句,将从标题,html内容,http头信息,url字段中搜索

 

1、title="abc" 从标题中搜索abc。例:标题中有北京的网站

 

2、header="abc" 从http头中搜索abc。例:jboss服务器

 

3、body="abc" 从html正文中搜索abc。例:正文包含Hacked by

 

4、domain="qq.com" 搜索根域名带有qq.com的网站。例: 根域名是qq.com的网站

 

5、host=".gov.cn" 从url中搜索.gov.cn,注意搜索要用host作为名称。例: 政府网站教育网站

 

6、port="443" 查找对应443端口的资产。例: 查找对应443端口的资产

 

7、ip="1.1.1.1" 从ip中搜索包含1.1.1.1的网站,注意搜索要用ip作为名称。例: 查询IP为220.181.111.1的网站; 如果想要查询网段,可以是:ip="220.181.111.1/24",例如查询IP为220.181.111.1的C网段资产

 

8、protocol="https" 搜索制定协议类型(在开启端口扫描的情况下有效)。例: 查询https协议资产

 

9、city="Beijing" 搜索指定城市的资产。例: 搜索指定城市的资产

 

10、region="Zhejiang" 搜索指定行政区的资产。例: 搜索指定行政区的资产

 

11、country="CN" 搜索指定国家(编码)的资产。例: 搜索指定国家(编码)的资产

 

12、cert="google.com" 搜索证书(https或者imaps等)中带有google.com的资产。例: 搜索证书(https或者imaps等)中带有google.com的资产

 

13、banner=users && protocol=ftp 搜索FTP协议中带有users文本的资产。例: 搜索FTP协议中带有users文本的资产

 

14、type=service 搜索所有协议资产,支持subdomain和service两种。例: 搜索所有协议资产

15、os=windows 搜索Windows资产。例: 搜索Windows资产

 

16、server=="Microsoft-IIS/7.5" 搜索IIS 7.5服务器。例: 搜索IIS 7.5服务器

 

17、app="海康威视-视频监控" 搜索海康威视设备,更多app规则。例: 搜索海康威视设备

18、after="2017" && before="2017-10-01" 时间范围段搜索。例: 时间范围段搜索

 

高级搜索:可以使用括号 && || !=等符号,如

title="powered by" && title!=discuz

title!="powered by" && body=discuz

( body="content=\"WordPress" || (header="X-Pingback" && header="/xmlrpc.php" && body="/wp-includes/") ) && host="gov.cn" 

 

新增==完全匹配的符号,可以加快搜索速度,比如查找qq.com所有host,可以是domain=="qq.com"

 

 

 

2.4 钟馗之眼

钟馗之眼搜索引擎偏向web应用层面的搜索。

地址:https://www.zoomeye.org/

 menu.saveimg.savepath20180814154341.jpg

 

搜索语法

1、app:nginx  组件名

2、ver:1.0  版本

3、os:windows  操作系统

4、country:”China”  国家

5、city:”hangzhou”  城市

6、port:80  端口

7、hostname:google  主机名

8、site:thief.one  网站域名

9、desc:nmask  描述

10、keywords:nmask’blog  关键词

11、service:ftp  服务类型

12、ip:8.8.8.8  ip地址

13、cidr:8.8.8.8/24  ip地址段

 

 

 

 

 

 

 

 

 

 

 

三、网站后台查找

后台查找

·1弱口令默认后台:admin,admin/login.asp,manage,login.asp等等常见后台

 

·2查看网页的链接;一般来说,网站的主页有管理登陆类似的东西,大多数在网站底部版权处或鲁在冒页导肌程等,有些可能被管理员删掉

 

·3查看网站图片的属性有可能图片是上传大管理后台目录,但是是在前台显示

 

·4查看网站使用的管理系统,从而确定后台

 

·5用工具查找:wwwscan,intellitamper,御剑,进行爬虫、字典穷举扫描

 

·6robots.txt的帮助:robots.txt文件告诉蜘蛛程序在服务器上什么样的文件可以被查看

 

·7 GoogleHacker通过语法查找后台

 

·8查看网站使用的编辑器是否有默认后台,FCK、ewb等默认后台

 

·9短文件利用短文件漏洞进行猜解

 

·10、子域名有可能管理后台为admin.xxxxx.com、login.xxxxx.com

 

·11sqlmap-sql-shell load_file('d:/wwroot/index.php');利用sql注入查看文件源码获取后台

 

·12社工、XSS利用社会工程系获取后台,利用存储型XSs获取后台

 


本文作者:教主assassin

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/74312.html

Tags:
评论  (1)
快来写下你的想法吧!

教主assassin

文章数:7 积分: 107

不走回头路,不踏寻常路。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号