01-信息收集

发布时间 2023-06-27 15:25:40作者: 光丶暗

信息收集(打点)

1. 组织信息

1.1 whois查询

​ 通过whois查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站,域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。通过whois查询获取IP、法人的名字、电话、邮箱、地址等信息对社工攻击具有很大的作用。

站长之家查询接口:https://whois.chinaz.com/  
全球whois查询:https://www.whois.com/whois/

1.2 ICP备案查询

​ 通过查询备案信息,可以收集到更多的资产信息。

ICP备案查询-站长之家:https://icp.chinaz.com/
ICP备案查询网:https://www.beianx.cn/

1.3 企业信息收集

​ 通过查询企业信息,可以收集到目标的子公司,分公司,子域名,邮箱等信息。

天眼查:https://www.tianyancha.com/
爱企查:https://aiqicha.baidu.com/
企查查:https://www.qcc.com/

1.4 SEO权重查询

​ SEO权重通常是用于评估网站在搜索引擎结果中的排名和权重。

站长之家:https://rank.chinaz.com/all/
爱站SEO查询:https://www.aizhan.com/cha/

2. web资产信息

2.1 web基本架构

​ 开发语言,程序源码,中间件容器,数据库类型,服务器操作系统,第三方软件等

  1. 开发语言:asp,php,aspx,jsp,java,python,ruby,go,html,javascript等
  2. 程序源码:根据开发语言分类;应用类型分类;开源CMS分类;开发框架分类等
  3. 中间件容器:IIS,Apache,Nginx,Tomcat,Weblogic,Jboos,glasshfish等
  4. 数据库类型:Access,Mysql,Mssql,Oracle,db2,Sybase,Redis,MongoDB等
  5. 服务器操作系统:Windows系列,Linux系列,Mac系列等
  6. 第三方软件:phpmyadmin,vs-ftpd,VNC,ELK,Openssh等

2.2 判断网站开发语言,中间件等信息

  1. 通过Header头部来判断
  2. 通过Wappalyzer插件来判断
  3. 通过在线工具识别:http://whatweb.bugscaner.com/look/

2.3 子域名信息

​ 子域名也是二级域名,是指顶级域名的域名。假设目标网络规模比较大,直接从主域名入手很难,因为一般主域名是重点防护区域,所以可以从子域名入手,然后在想办法迂回接近真正的目标。

在线子域名爆破:https://tools.yum6.cn/Tools/urlblast/
OneForAll工具(推荐):https://github.com/shmilylty/OneForAll
layer子域名挖掘机:https://github.com/euphrat1ca/LayerDomainFinder

2.4 旁站,C段信息

​ 旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。

旁站在线查询:https://www.webscan.cc/
C段在线查询:https://c.webscan.cc/

2.5 CMS识别

​ CMS(Content Management System)又称整站系统或文章系统。在2004年以前,如果想要进行网站内容管理,基本上都靠手工维护,但在信息爆炸的时代,完全靠人维护相当困难。所以就出现了CMS,开放者只要给客户一个软件包,客户自己安装配置好,就可以定期更新数据来维护网站,节省了大量的人力和物力。

whatweb在线识别:http://whatweb.bugscaner.com/look/
Kali:whatweb
ehole工具:https://github.com/EdgeSecurityTeam/EHole

2.6 目录和敏感文件

​ 在渗透测试中,探测web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传页面、甚至可以扫描出网站的源代码。

常见文件或目录:

robots.txt、后台目录、网站安装包、网站上传目录、mysql管理页面、phpinfo、网站文本编辑器、测试文件、网站备份文件(.rar、zip、7z、tar.gz、.bak)、DS_Store文件、vim编辑器备份文件(.swp)、.git、.svn等。

工具:

dirsearch扫描工具:https://github.com/maurosoria/dirsearch
7kbscan扫描工具:https://github.com/7kbstorm/7kbscan-WebPathBrute
kali-dirb扫描工具
dirbustr工具

2.7 端口扫描

​ 确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。

  • 御剑端口扫描

  • Nmap

常见端口对应服务:

2.8 第三方搜索引擎

  • fofa:https://fofa.info/
  • 360quake:https://quake.360.net/quake/#/index
  • 鹰图:https://hunter.qianxin.com/
  • 钟馗之眼:https://www.zoomeye.org/
  • shadon:http://ww7.shadon.io/
  • 零零信安:https://0.zone/

3. CDN绕过

​ 内容分发网络,是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

​ CDN 是利用缓存技术,解决如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过 CDN 分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的(负载均衡)。

3.1 判断是否存在CDN

  • 超级ping:https://ping.chinaz.com/

  • 17ce:https://www.17ce.com/

  • nslookup

3.2 CDN绕过方法

  1. 查询子域名

​ 目标站点加速选项中只对主域名进行了加速,未对子域名进行配置。

  1. 国外ip访问

    国外发起请求:https://tools.ipip.net/cdn.php

  2. 历史解析记录

    查找域名的历史解析记录,可能找到未配置CDN之前的ip地址。

    ip138查询:https://site.ip138.com/

  3. 查询邮件IP地址

    邮件服务器如果向外部用户发送邮件,那么邮件头部的源码中会包含此邮件服务器的真实IP地址。

    常见的触发点:邮箱注册、激活,邮箱找回密码等

  4. 通过一些接口去查询

    接口查询:https://get-site-ip.com/

  5. 通过faction.ico图标

  6. 网站源码文件或phpinfo信息泄露

    • .zip、.rar等网站备份文件

    • phpinfo信息泄露

  7. 利用漏洞获取IP

    利用漏洞让对方真实服务器主动出网,获取到的来源IP就是真实IP

4. OA系统,框架识别

4.1 php框架

  1. thinkphp框架

识别方法:

  • Wappalyzer插件
  • ico图标
  • header返回头部
  • 报错信息
  • 源码
  1. Laravel框架

识别方法:

  • Wappalyzer插件
  • header头部:Set-Cookie特征

4.2 Java框架

  1. Shiro框架

识别方法:

  • 请求包中cookie中:rememberMe字段
  • 返回包中:rememberMe=deleteMe
  1. Struts2

识别方法:

  • 一般url中看到:.do或.action结尾,大概率是struts2框架
  1. SpringBoot

识别方法:

  • 小绿叶默认图标
  • 常见的404,500等报错页面

image-20230514111121686

4.3 OA系统

工具利用:https://github.com/newbe3three/gotoscan

5. 信息泄露

5.1 github搜索

​ 尝试在GitHub上寻找相关的敏感信息,如数据库连接信息,邮箱密码,uc-key,阿里的osskey,有时还可以找到源代码泄露。

用法:

in:name password	搜索标题中含有关键字password
in:descripton password	搜索描述中含有关键字password
in:readme password		文件搜索含有关键字

举例:https://github.com/search?q=edu.cn+password&type=code

5.2 google hacking 语法收集

常用语法:

site:找到与指定网站有联系的URL。例如输入Site:family.chinaok.com,返回所有和这个网站有关的URL。

intitle:返回所有网页标题中包含关键词的网页。例如输入intitle:cbi,这样网页标题中带有 cbi 的网页都会被搜索出来。

inurl:搜索包含有特定字符的URL。例如输入inurl:cbi,则可以找到带有 cbi 字符的URL。

intext:搜索网页正文内容中的指定字符。例如输入intext:cbi,将返回所有在网页正文部分包含 cbi 的网页。

link:例如link:thief.one,返回所有和 thief.one 做了链接的URL。

filetype:搜索指定类型的文件。例如输入filetype:cbi,将返回所有以 cbi 结尾的文件URL。

举例:

site:edu.cn 学号 xls

site:.cn 身份证 xls

site:edu.cn 初始密码

site:edu.cn index of "admin"

5.3 网盘信息收集

凌云搜索 https://www.lingfengyun.com/
盘搜搜:http://www.pansoso.com/
盘搜:http://www.pansou.com/

5.4 社工信息收集

网站注册信息:www.reg007.com
一些社工库

5.5 Js敏感信息泄露

https://github.com/pingc0y/URLFinder
https://github.com/rtcatc/Packer-Fuzzer (webpack)
https://github.com/momosecurity/FindSomething

5.6 敏感文件泄露

.git信息泄露:

​ 访问xxx/.git 文件 403或存在即可尝试获取源码

  • inurl:/.git
  • https://github.com/BugScanTeam/GitHack

.svn信息泄露:

​ 访问xxx/.svn/entries 内容存在即可尝试获取源码

  • inurl:/.svn/entries
  • https://github.com/callmefeifei/SvnHack
  • https://blog.csdn.net/wuxinweii/article/details/123099063

.DS_Store泄露:

​ 该文件为mac下的数据文件,访问存在即可尝试获取源码

  • inurl:/.DS_Store
  • https://github.com/lijiejie/ds_store_exp

6. 使用开源项目收集信息

6.1 ARL灯塔

地址:https://github.com/TophantTechnology/ARL

安装:

​ Ubuntu 下可以直接执行 apt-get install docker.io docker-compose -y 安装相关依赖

​ Dcker启动:

git clone https://github.com/TophantTechnology/ARL
cd ARL/docker/
docker volume create arl_db
docker-compose pull
docker-compose up -d

默认端口5003 (https), 默认用户名密码admin/arlpass

6.2 第三方搜索引擎

地址:https://github.com/Kento-Sec/AsamF

地址:https://github.com/xzajyjs/ThunderSearch