信息收集 Chapter 1

以前我也耸着肩膀缩着头,站在别人都不看我的角落里……那样没用的,不会让你觉得更好。就算在最难的时候,也要摆出一副我是开迈巴赫来的表情啊

信息收集实战

个人认为,渗透测试中,理论必须要结合实操一起练习,才能对漏洞的熟悉程度熟稔于心,所以信息收集笔记也会随机采集网址,进行信息采集,对关键信息进行打码处理。

例子 1

被动搜索

随便找了一个小网址

打开网页,从网页可以获取到的内容:

  1. 网址:https://www.666.com
  2. 标题:XXXXXXXXXXXXXXX
  3. 备案号:XXXXXXXXXXX
  4. 网址开发:XXXXXXXX信息技术有限公司
  5. 目标服务:卖xx,有自己搭建的商城购物车

然后按下F12,随便点击几个网页,根据请求头和返回信息:

请求头:

Request URL: https://www.666.com/shopdetail.php?id=NzA0
Request Method: GET
Status Code: 200 OK
Remote Address: 127.0.0.1:1080
Referrer Policy: no-referrer-when-downgrade

返回请求头:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding: gzip
Content-Length: 16940
Content-Type: text/html
Date: Wed, 10 Apr 2019 06:15:47 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: Microsoft-IIS/8.5
Vary: Accept-Encoding
X-Powered-By: ASP.NET

然后再网址后面加上并不存在的路径,比如/xaqawdad,发起访问,根据返回的结果发现服务器应该是iis,并且修改url中的网址大小写,反响正常,说明不是linux,
通过使用ctrl+f查看网页源代码,发现大量的xxx.php,判断使用语言为php

可以得出:

  1. 服务器:Microsoft-IIS/8.5
  2. 程序语言:php

X-Powered-By代表运行平台,其中的值是可以被修改的,所以推测是iis服务器,配置asp.net通过fastcgi配置php运行环境。 Remote Address: 127.0.0.1:1080,Remote Address是获取你的客户端IP的,但是显示的127.0.0.1,说明可能用了反向代理,apache和nginx都有这个功能

接下来查看是否有waf,手动测试在网站后面加上xx.mdb,xx.sql之类的,有一些waf会进行拦截,或者在网址动态参数后面加上and 1=2 union select %23这样的sql语句,一些waf会通过正则检测到sql语句。

发现没有出现拦截的情况,于是可以推测:

  1. WAF:可能不存在

随后使用写的脚本检测是否存在waf,结果显示不存在。

接下来碰碰运气,看看还能不能在网页中翻出来后台管理地址,管理员名,子域名等等的数据,凭借经验再后缀加上admin,manage,login测试一下,这次运气好,直接获取到了后台管理地址,并且发现了一个登陆注册的输入框,可以为xss,逻辑漏洞,爆破等等做基础铺垫。

  1. 后台管理地址:https://www.666.com/admin/

然后网址后加上robots.txt,试试运气结果啥都没有

梳理一下获取到的信息:

  1. 网址:https://www.666.com
  2. 标题:XXXXXXXXXXXXXXXXXXX
  3. 备案号:XXXXXXXXXXXXXX
  4. 网址开发:XXXXXX技术有限公司
  5. 目标服务:卖xx,有自己搭建的商城购物车
  6. 服务器:Microsoft-IIS/8.5
  7. 程序语言:php
  8. WAF:可能不存在
  9. 后台管理地址:https://www.666.com/admin/
  10. 存在动态链接,可以检测sql注入,存在注册登陆框,可以检测xss,逻辑漏洞,强制爆破

主动搜索

首先去站长之家的SEO综合查询,查询网址的信息,直接访问:

https://seo.chinaz.com/

获取到了和上面相同的信息,提升了掌握的信息可靠度,并且获取到了IP:

1.使用IP:X.X.X.X

直接访问IP+端口号,或者使用多地PING,查看响应的IP,或者用这个网址专门检查是否存在CDN

https://www.cdnplanet.com/tools/cdnfinder/

发现该IP为真实IP地址,使用nmap扫描一下IP的信息:

nmap -T4 -A -v www.666.com

返回结果:

PORT      STATE SERVICE     VERSION
21/tcp    open  ftp         FileZilla ftpd
| ftp-syst: 
|_  SYST: UNIX emulated by FileZilla
80/tcp    open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
| http-server-header: 
|   Microsoft-HTTPAPI/2.0
|_  Microsoft-IIS/8.5
|_http-title: Did not follow redirect to https://www.666.com
443/tcp   open  https       Microsoft-HTTPAPI/2.0
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|       secure flag not set and HTTPS in use
|_      httponly flag not set
|_http-favicon: Unknown favicon MD5: 097031F5F91264F544F8E9C72C2D6BA1
| http-methods: 
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
| http-server-header: 
|   Microsoft-HTTPAPI/2.0
|_  Microsoft-IIS/8.5
|_http-title: ¡¾¹ÙÍøÍƼö ÄêÖÕÊ¢µä¡¿ÄþÏÄèÛè½Íø-ÖÐÄþèÛè½-ÇຣºÚèÛè½Ö±Ïú¹Ù·½ÍøÕ...
| ssl-cert: Subject: commonName=xxxxx
| Subject Alternative Name: DNS:xxxxx, DNS:xxxxx
| Issuer: commonName=TrustAsia TLS RSA CA/organizationName=TrustAsia Technologies, Inc./countryName=CN
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2018-10-25T00:00:00
| Not valid after:  2019-10-25T12:00:00
| MD5:   cf6c 1e29 c6b7 519a 2b79 dac1 2d6b 5283
|_SHA-1: 4616 2875 d710 f030 221f d852 fa3b 6edd a5dd a7fa
33899/tcp open  ssl/unknown
| ssl-cert: Subject: commonName=172_21_0_2
| Issuer: commonName=172_21_0_2
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2019-01-02T04:00:03
| Not valid after:  2019-07-04T04:00:03
| MD5:   a6e9 2394 b388 d17f 2b9a 22e3 ce89 57ab
|_SHA-1: 0f79 07b5 657d e2fe 284a 01ac e669 07ee ba71 6551
|_ssl-date: 2019-04-10T07:16:31+00:00; -2s from scanner time.
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows 2012 (89%)
OS CPE: cpe:/o:microsoft:windows_server_2012

可以得到开放端口和扫描判断IP使用的服务器:

  1. 开放端口:21端口ftp,80端口http,443端口https,33899端口识别失败,不过按经验推测应该是3389修改,即远程桌面
  2. 主机:Microsoft Windows 2012 (89%)

没有扫描到数据库端口,可能做了站库分离,即数据库存储在另一台服务器上,根据经验和php搭配的应该是mysql。

然后根据IP获取到旁站,发现了3个旁站,这4个网站都在这一台服务器上,使用到网址:

http://www.webscan.cc/
  1. 获取到3个旁站

通过这个网址获取服务商域名DNS大全:

https://www.cnblogs.com/yingsong/p/4429127.html

然后用云悉提供的接口查询信息,网址:

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

获取到了和上面相同的信息,更加提升了掌握的信息可靠度,并且获取到了域名的注册商:

  1. 域名注册商:Bizcn.com,Inc(商务中国)
  2. DNS服务器:cdncenter.com
  3. 注册邮箱:xxxx@bizcn.com
  4. 注册电话:+86.5xx257xx88

这些都再whois信息中可以查到,我一般使用这个网址查询whois信息:

https://www.whois.com/whois/

通过查看备案号,发现该备案号还额外备案了5家网站,发现这5家网站有3家都在这台服务器上面,证实了旁站的可靠性

然后通过百度谷歌语法搜一搜有啥敏感目录,不过几乎很少。

然后用御剑扫一下目录,看看能有什么发现

果不其然…直接封IP了- -

等待一段时间后,恢复访问,把御剑的扫描线程设置为1,或者自己手动写一个路径扫描器也行,还能做各种定制化,发现了phpmyadmin,这下锤实了使用php语言。

通过查询GitHub上是否有相关信息泄露,结果啥都没有,然后检测使用到CMS,啥都没的,估计是自己独立开发的,然后找子域名,也啥都没有

并且还扫描到了其他三个网站的后台管理地址,推测应该是多个网站使用一台服务器,这样为突破渗透提升了更大的可能性

整理

  1. 网址:https://www.666.com
  2. 标题:XXXXXXXXXXXXXXXXXXX
  3. 备案号:XXXXXXXXXXXXXX
  4. 技术支持:XXXXXX技术有限公司
  5. 目标服务:卖xx,有自己搭建的商城购物车
  6. 服务器:Microsoft-IIS/8.5
  7. 程序语言:php
  8. WAF:可能不存在
  9. 后台管理地址:https://www.666.com/admin/
  10. 存在动态链接,可以检测sql注入,存在注册登陆框,可以检测xss,逻辑漏洞,强制爆破
  11. 使用IP:X.X.X.X
  12. 域名注册商:Bizcn.com,Inc(商务中国)
  13. DNS服务器:cdncenter.com
  14. 开放端口:21端口ftp,80端口http,443端口https,33899端口识别失败,不过按经验推测应该是3389修改,即远程桌面
  15. 主机:Microsoft Windows 2012 (89%)
  16. 发现phpmyadmin登陆页面
  17. 发现多个后台管理地址
  18. 获取到3个旁站
  19. 注册邮箱:xxxx@bizcn.com
  20. 注册电话:+86.5xx257xx88

例子 2

目标是随机搜索的有限公司,也是制造和出售商品的企业公司

被动搜索

首先打开主页,根据主页的内容可以获取下面的信息

  1. 网址:http://xxxxxxx.com/index.aspx
  2. 标题:xxxxxxxxxxxxxx有限公司
  3. 目标服务:生产与出售xxx
  4. 技术支持:网站安全由杭州xxxxxxx提供
  5. 程序语言:aspx
  6. 移动电话:139xxxxx700
  7. 公司地址:xx省 xx县 xxx竹泉路xxx号
  8. 在页面中的【联系我们】中发现了输入框,可以用来做xss检测之类,也可以尝试抓包测试注入,这个要靠经验来判断什么东西可以做什么事。
  9. 发现了动态链接网址,可以做sql注入,链接类型:http://cn.xxxxxxx.com/goods_list.aspx?k1=4&k2=16

按F12然后点击几个网页看看是否有其他信息

发现这些信息:

Server: WWW Server/1.1
Vary: Accept-Encoding
X-AspNet-Version: 4.0.30319
X-Safe-Firewall: zhuji.360.cn 1.0.9.47 F1W1

可以看到服务器类型填写的WWW,和以往的直接显示的apache,iis不一样,这种估计是后端做了屏蔽显示主机类型,也可能是waf对敏感信息屏蔽处理,可以发现使用了360的防火墙,这些不好搞了啊。

虽然不清楚服务器的类型,但是判断是windows和linux还是有很多办法的,比如把网址中的news.aspx?k1=5改成nEWs.aspx?k1=5后继续访问网址,能正常访问,说明是Windows,因为linux会对文件的大小写敏感,NEW.ASP和new.asp在linux下是两个文件,不过asp和aspx是微软开发的,基于.net平台,所以说asp和aspx,以及数据库access,mssql(都是微软开发)运行的服务器99%都是windows平台,但是借助一些工具比如mono可以在linux下运行aspx

然后在动态链接上面加上单引号,在主页后面加上admin,robots.txt,看卡返回的结果,发现加上单引号页面提示waf拦截,但是返回的结果不一样,比如我加上单引号或者and 1=2,返回的网页是这样的:

当前网页暂时无法访问(SQL注入拦截)
无法访问原因
服务器管理员启用了SQL注入拦截功能,可能是当前网页的 URL / POST / COOKIES中包
含了特定的 SQL字符而被防火墙拦截。
解决办法
如果是错误拦截,请联系服务器管理员,修改 SQL注入拦截规则,或将此域名URL加入白名单。
如果您的网站需要从 URL / POST / COOKIES 里传递 SELECT FROM 等 SQL语句关键字,为了
避免作为 SQL注入被拦截,请联系服务器管理员将您的网站域名或URL加入白名单。

我加上双引号,返回的结果是这样的

警告!你的IP已经被记录!不要使用敏感字符!

个人不成熟的推测,应该是网址的开发程序员自己写了waf拦截程序,并且使用了360的waf,两种waf对违法访问的检测正则表达式不一样,所以返回的网页内容也不一致,只能说加大了渗透的难度。

加上robtos.txt,虽然页面返回的正常内容,但是什么数据都没得- -,加上admin,mangae,页面报错了,但是幸运的是,暴露了物理路径和服务器的相关信息:

详细错误信息
模块    IIS Web Core
通知    MapRequestHandler
处理程序    StaticFile
错误代码    0x80070002
请求的 URL    http://cn.xxxxxxx.com:80/manage
物理路径    D:\www\web\xxxxxxx.com_zqHURQP14Q89cPS984lp\wwwroot\manage
登录方法    匿名
登录用户    匿名

可以断定是windows服务器,并且使用iis运行环境

因为页面中有图片,我右键查看到图片的源地址为:

http://xxxxxxx.com/mtscs/0215b63d-ef5c-4a75-b63a-c5f048e7f728/20180208160824019.jpg

我直接访问:

http://xxxxxxx.com/mtscs/

页面报错,还是哪个报错信息,然后我把jpg改成aspx,访问网站:

http://xxxxxxx.com/mtscs/0215b63d-ef5c-4a75-b63a-c5f048e7f728/20180208160824019.aspx

页面报错,但是报错的信息就很爽了,返回页面:

“/”应用程序中的服务器错误。
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 
请求的 URL: /mtscs/0215b63d-ef5c-4a75-b63a-c5f048e7f728/20180208160824019.aspx
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.3221.0

这下得到了运行环境的版本信息,不亏。

随后我又继续在页面中翻图片找路径,发现商品列表中的图标路径和而上面的路径不一样,他的路径是:

http://xxxxxxx.com/mtdl/ueditor/net/upload/image/20180208/6365370172075780479866869.png

通过路径可以发现使用了ueditor编辑器,除了这个,这两个路径也是非常重要,我们可以用御剑扫描这两个路径的后台。所以说F12看审查元素是个好东西,主要是我不怎么会js,如果会js还可以分析他们页面的js代码,得知他们的运行逻辑可以找到漏洞

得出结论:

  1. 服务器:windows
  2. WAF:使用360的防火墙,并且程序自己也有防注入拦截功能
  3. 运行环境:IIS
  4. 物理路径:D:\www\web\xxxxxxx.com_zqHURQP14Q89cPS984lp\wwwroot\
  5. 版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.3221.0
  6. 编辑器:ueditor
  7. 获取到两个路径可以扫描:http://xxxxxxx.com/mtscs/和http://xxxxxxx.com/mtdl/

主动搜索

首先上站长之家,查到了whois信息和备案信息:

使用IP:0.0.0.0
主办单位名称:xxxxxxxxxxxxxx有限公司使用高级查询
主办单位性质:企业
网站备案/许可证号:浙ICP备xxxxx497号-1
网站名称:xxxxxxxxxxxxxx有限公司
网站首页网址:www.xxxxxxx.com

以及:

域名:xxxxxxx.com
注册商:Beijing Innovative Linkage Technology Ltd. dba dns.com.cn北京新网互联科技有限公司
域名服务器whois.dns.com.cn
DNSNS1.MOUNTOR.NET
NS2.MOUNTOR.NET

然后我不知道触发了什么,打开网页发现被加入黑名单了- -

当前IP地址(我的ip)暂时无法访问,请联系服务器管理员!
特别提示:

    如果(我的ip)是 CDN IP、WEB防火墙IP、代理服务器IP,请将
此IP添加到 IIS 防火墙的 CDN IP 白名单中,以避免错误拦截。

通过云悉接口和工具都没能检测到使用的cms类型,应该是独立开发的

没办法,借助外力好了,使用多地ping和一些网址进行查询,网址在上面提起过,多地ping结果发现都是同一个网址,也就是说没有使用CDN,直接访问这个ip的80端口,返回页面的信息中看到了上文的被动搜索中看到的技术支持公司的信息

温馨提示:该网站暂时无法进行访问
原因一:根据工信部相关法规,您尚未进行备案;
原因二:根据工信部相关法规,您当前的接入商不是杭州xxxxxxx;
原因三:您的网站可能存在不适宜传播的信息,请联系网站管理员。
本页面为默认提示页面,如网站存在以上问题请及时进行处理。
请访问杭州xxxxxxx官网联系客服处理相关事宜 ;
谢谢合作!

应该是目标企业把服务器都托管给了该技术公司,使用IP反查域名,看看这个ip上面有多少个域名,结果站长之家一个都没显示出来,使用爱站网的接口,发现了50个域名都在这个网站上- -,50个旁站美滋滋,使用查询接口:

https://dns.aizhan.com/

看来是一家专业的托管技术公司,这下渗透的难度有点高了。因为有waf拦截,尝试使用一下端口扫描看看有什么结果,先用网上的在线扫描端口看看,避免自己先一顿扫又被封IP。发现站长之家的接口在维护,但是站长之家的老接口还存活:

http://old.tool.chinaz.com/port/

根据返回结果发现只有一个80端口开放,我擦。

看看google hacking能不能发现啥敏感信息吧,结果很难受,啥都没的,子域名也没得,然后再github上搜索目标的技术支持公司,也啥子都没有,接下来只能用工具探测了,因为存在waf,扫描肯定会被拦截,但是控制好扫描速度和频率,慢慢的来,还是有希望的,先上nmap,然后御剑慢慢的搞起来,使用get请求,设置1个线程就行。

然而nmap迟迟不返回结果,估计是没扛过waf这一关,那么nmap换个方式扫描吧,使用命令:

nmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 --script "default or (discovery and safe)" 0.0.0.0

因为都设置了延迟,所以速度慢慢到,这个时候可以去找别的信息,既然这个服务器太难搞,那就不得已而为之的弄他的旁站和C段了。很幸运的是,在他的旁站上面有许多网站的后台管理地址直接再首页的最下方显示- -

在出门买了一碗凉皮并吃完后,发现终于扫完了,目录什么消息都没得,后台管理也没找出来,如果不行的话,还能找到技术支持的公司,从他那里下手,可以获取到路径,nmap显示:

服务器:Microsoft Windows 8.1 R1 (96%)
开放端口:49155/tcp open  msrpc   Microsoft Windows RPC

主目录啥都没扫出来,不过在上文中发现两个路径,在扫这个路径的时候:

http://huxxxxp.com/mtdl/

扫描这个目录的时候,发现了一个网址:

http://xxxx.com/mtdl/ueditor/net/controller.ashx

登陆提示为了安全需要重新登陆,然后重定向到一个后台管理地址,并且验证码很容易识别!

重定向到:http://xxxx.com/mtdl/mt_ddll.aspx

美滋滋~这下不仅可以尝试越权,还能尝试注入,爆破等

  1. 全部使用托管平台防护与运营
  2. 使用IP:0.0.0.0
  3. 主办单位名称:xxxxxxxxxxxxxx有限公司使用高级查询
  4. 主办单位性质:企业
  5. 网站备案/许可证号:浙ICP备1xxxxx97号-1
  6. 注册商:Beijing Innovative Linkage Technology Ltd. dba dns.com.cn北京新网互联科技有限公司
  7. 域名服务器whois.dns.com.cn
  8. 同IP上有50+的旁站,部分旁站的代码逻辑不强,但是该服务器存在waf
  9. 服务器:Microsoft Windows 8.1 R1 (96%)
  10. 开放端口:49155/tcp open msrpc Microsoft Windows RPC
  11. 获取到后台管理地址:http://xxxx.com/mtdl/mt_ddll.aspx

梳理

  1. 服务器:windows
  2. WAF:使用360的防火墙,并且程序自己也有防注入拦截功能
  3. 运行环境:IIS
  4. 物理路径:D:\www\web\xxxxxxx.com_zqHURQP14Q89cPS984lp\wwwroot\
  5. 版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.3221.0
  6. 编辑器:ueditor
  7. 获取到两个路径可以扫描:http://xxxxxxx.com/mtscs/和http://xxxxxxx.com/mtdl/
  8. 全部使用托管平台防护与运营
  9. 使用IP:0.0.0.0
  10. 主办单位名称:xxxxxxxxxxxxxx有限公司使用高级查询
  11. 主办单位性质:企业
  12. 网站备案/许可证号:浙ICP备1xxxx497号-1
  13. 注册商:Beijing Innovative Linkage Technology Ltd. dba dns.com.cn北京新网互联科技有限公司
  14. 域名服务器whois.dns.com.cn
  15. 同IP上有50+的旁站,部分旁站的代码逻辑不强,但是该服务器存在waf
  16. 服务器:Microsoft Windows 8.1 R1 (96%)
  17. 开放端口:49155/tcp open msrpc Microsoft Windows RPC
  18. 获取到后台管理地址:http://xxxx.com/mtdl/mt_ddll.aspx
坚持原创技术分享,您的支持将鼓励我继续创作!
------ 本文结束 ------

版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%