信息搜集详解

域名、子域名、IP、端口搜集

工具使用:

子域名

暴力枚举:layer子域名挖掘机

子域名扫描工具有oneforall、SubDomainsBrute等。

敏感信息搜集

面试宝典

常见敏感文件

1.robots.txt 
2.crossdomin.xml
3.sitemap.xml
4.后台目录 
5.网站安装包
6.网站上传目录
7.mysql管理页面
8.phpinfo
9.网站文本编辑器
10.测试文件
11.网站备份文件(.rar、.zip、.7z、.tar、.gz、.bak)
12.DS_Store 文件
13.vim编辑器备份文件(.swp)
14.WEB—INF/web.xml文件

下方 4、5、6 属于web源代码泄露

1.robots.txt

网站允许爬虫路径友好提示

网站主站根目录下接:robots.txt

2.跨域策略文件crossdomain.xml

跨域策略文件是一个xml文档文件,主要是为web客户端(如Adobe Flash Player等)设置跨域处理数据的权限。

重点查看 allow-access-from 字段获取网站目录信息

3. sitemap.xml(没看懂)

Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

4.源代码泄露------介绍与泄露拼接一起

什么是版本控制?

可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本”)时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。

下面来介绍下目前常见的版本控制工具

1.Git

Git是目前世界上最先进的分布式版本控制系统,使用Git和Gitlab搭建版本控制环境是现在互联网公司最流行的版本控制方式
简介:
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。
Git易于学习,占用内存小,具有闪电般快速的性能。
Github地址:https://github.com/git/git
官方网站:https://git-scm.com/
官方文档:https://git-scm.com/docs
中文文档:https://git-scm.com/book/zh/v2
下载地址:https://git-scm.com/downloads

.git源代码泄露

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

2.SVN

简介:
TortoiseSVN是一款非常易于使用的跨平台的 版本控制/版本控制/源代码控制软件。它基于Apache Subversion(SVN)® ; TortoiseSVN为Subversion提供了一个简单易用的用户界面。
TortoiseSVN开源地址:https://osdn.net/projects/tortoisesvn/
Subversion的Github地址:https://github.com/apache/subversion
官方网站:https://tortoisesvn.net/
官方文档:https://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html
中文文档:https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html
下载地址:https://tortoisesvn.net/downloads.html

.svn源代码泄露

SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

3.HG

简介:
Mercurial是一个免费的分布式源代码管理工具。它可以有效地处理任何规模的项目,并提供简单直观的界面。Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。
官方网站:https://www.mercurial-scm.org/
官方文档:https://www.mercurial-scm.org/wiki/BeginnersGuides
下载地址:https://www.mercurial-scm.org/downloads

.hg源代码泄露

Mercurial 是一种轻量级分布式版本控制系统,使用 hg init的时候会生成.hg。

4.CVS

CVS是版本控制系统,是源配置管理(SCM)的重要组成部分。使用它,您可以记录源文件和文档的历史记录。老牌的版本控制系统,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
官方网站:http://www.nongnu.org/cvs/
官方文档:https://web.archive.org/web/20140629065005/http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs.html
下载地址:https://ftp.gnu.org/non-gnu/cvs/

.cvs源代码泄露

CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。主要是针对 CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。

优势:

1.更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository
2.更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
3.对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。

5. .DS_store文件泄露

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

漏洞利用工具:
github项目地址: https://github.com/lijiejie/ds_store_exp
用法示例:ds_store_exp.py http://xxx.com/.DS_Store

6.网站备份文件泄露rar、zip、tar.gz、7z、bak、tar

管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。
常见的备份文件后缀:.rar.zip.7z.tar.gz.bak.txt.old.temp

7.SWP 文件泄露

swp即swap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp。
漏洞利用:直接访问.swp文件,下载回来后删掉末尾的.swp,获得源码文件。

8.WEB-INF/web.xml 泄露

WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF 主要包含一下文件或目录:
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
通过找到 web.xml 文件,推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码。

敏感目录收集方式

网页中寻找

  • 在robots.txt中看能否发现敏感目录
  • F12源代码链接处
  • 通过查看一些图片的属性路径,运气好会发现很多隐藏的目录
    结合域名+目录,用御剑进行扫描,当然也可以手动输入一些常见的后台管理地址进行访问。

其他端口中寻找

有时候网站的不同端口中有一些便是专门的后台管理地址。根据经验总结,很多网站8080、8081端口是网站的管理地址。
eg:http://www.xxx.com:8080

网站分目录下寻找

有的时候网站会把管理地址放在一个分目录下,有的时候一个网站比较大,后台管理页面也比较多,就要分目录的去找,
eg:http://www.xxx.com/test/admin/manage.php
你可以通过一些方式获取到网站的目录,然后在这个目录下进行扫描。当一个网站你扫描根目录没有任何收获时,这个时候通过分析网站的目录结构,然后扫描域名+目录,就能找出它的后台管理地址。

子域名下寻找

有的时候网站的管理地址会放在子域名下,所以主站什么都找不到的情况下,如果发现子域名,就通过这些方法去子域名下找一下吧。
eg: http://admin.xxx.com/login

google hacker

google hacker传送门

网站爬虫

通过awvs,burpsuite的爬行功能,可以拓扑出网站的目录结构,有的时候运气好能在网页的目录结构中找到好东西,不过爬行一般会结合工具扫描,比如你构造域名+目录,然后扫描这个。

信息整理

指纹识别

1.云悉在线(需要账号,注册需邀请码)

http://www.yunsee.cn

  1. 火狐与谷歌插件:wappalyzer

https://www.wappalyzer.com

​ 3.潮汐在线指纹 (已注册) #好像很好用

http://finger.tidesec.com/

waf识别

wafw00f python环境

CDN识别

1.win+r→cmd→nslookup 域名地址查看

2.在线网站

(1)站长之家

​ 通过“chinaz.com”网站搜索目标网站域名,如果出现许多不同的ip地址,说明存在CDN。如果只有一个地址,说明无CDN!
https://ping.chinaz.com/

(2) 另一个网站(亲测比站长之家快)

https://www.itdog.cn

CDN绕过方法探究:

1.人为安全配置不当

在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过。

案例1:为了方便用户访问,我们常常将www.test.comtest.com 解析到同一个站点,而CDN只配置了www.test.com,通过访问test.com,就可以绕过 CDN 了。

案例2:站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。

2.查找子域名(详情见子域名搜集篇)

因为CDN很贵,多数网站只会给主站用CDN,而子域名很少用。 子域名可能会跟主站在同一个服务器上,可以先搜集子域名,根据子域名的IP地址,推断主站的IP地址

常用的子域名查找方法和工具:

1、搜索引擎查询:如Google、baidu、Bing等传统搜索引擎,site:http://baidu.com inurl:http://baidu.com,搜target.com|公司名字。

2、一些在线查询工具,如:

http://tool.chinaz.com/subdomain/
http://i.links.cn/subdomain/    
http://subdomain.chaxun.la/
http://searchdns.netcraft.com/
https://www.virustotal.com/

3、 子域名暴力猜解

子域名暴力工具:
Layer子域名挖掘机
wydomain:https://github.com/ring04h/wydomain    
subDomainsBrute:https://github.com/lijiejie/
Sublist3r:https://github.com/aboul3la/Sublist3r



3.DNS历史解析

查询域名的历史解析记录,可能会找到网站使用CDN前的解析记录,从而获取真实ip,相关查询的网站有:

Jsons在线: jsons.cn/nslookup/								#一般
iphistory:https://viewdns.info/iphistory/				#可以用
DNS查询:(https://dnsdb.io/zh-cn/)							#的花钱了
微步在线:(https://x.threatbook.cn/)
域名查询:(https://site.ip138.com/)
DNS历史查询:(https://securitytrails.com/)
Netcraft:https://sitereport.netcraft.com/?url=github.com

IP History 查询记录:

4.国外网站ping域名(maybe)

阿里云在国外也设置了线路,但不是所有国家都有线路。在一些地区有几率找到

https://ping.chinaz.com/

https://check-host.net/check-ping?

5.搜索引擎搜索

通过关键字或网站域名,就可以找出被收录的IP,很多时候获取到的就是网站的真实IP。

1、钟馗之眼:https://www.zoomeye.org
2、Shodan:https://www.shodan.io
3、Fofa:https://fofa.so						#最好用吧

6.邮箱头信息(未实现)

比如说,邮箱注册,邮箱找回密码、RSS邮件订阅等功能场景,通过网站给自己发送邮件,从而让目标主动暴露他们的真实的IP,查看邮件头信息,获取到网站的真实IP。

7.敏感信息 phpinfo泄露

如果目标网站存在phpinfo泄露等,可以在phpinfo中的SERVER_ADDR或_SERVER[“SERVER_ADDR”]找到真实ip

posted on 2023-06-05 09:13  菜菜坤  阅读(1)  评论(0)    收藏  举报

导航