什么是信息收集

信息收集主要是收集服务器的配置信息和网站的敏感信息,主要包括域名信息、子域名信息、目标网站信息、目标网站真实IP、目录文件、开放端口和服务、中间件信息等等。在进行渗透测试之前,第一步也是非常关键的一步就是对目标进行信息收集,我们尽可能收集关于目标的信息,这将会大大提高发现漏洞的概率

当拿到一个网站的时,从基本信息入手,可以收集如IP、端口、域名、网段等;从系统信息入手,可以获取其中操作系统与版本;从应用信息入手,获取各个端口应用服务,如web应用、邮件应用等;又或者从服务信息入手,获取高危服务,如文件共享服务

信息收集大致分类

第一类:主动信息收集。通过直接访问、扫描网站

第二类:被动信息收集。利用第三方的服务对目标进行访问了解,比例:谷歌搜索、SSL证书查询、Shodan搜索等等

Whois


在进行网站注册的时候,需要申请域名,申请之后这些注册的信息将会保存到相关的域名数据库服务器中,并且这些域名信息经常是公开的,任何人都可以查询。

如果我们可以获取目标的真实ip,那么还需要对网站域名whois信息进行收集。

Whois就是一个用于查询域名是否已经被注册,如果以及注册,可以查询相关信息的数据库(注册人姓名、注册人的E-mail、电话号、注册机构、通信地址、邮编、注册有效时间、失效时间查询等等),然后利用谷歌的语法搜索,搜索出关于域名的很多信息。

1)利用网站

网站查询:Network Tools by YouGetSignal.com

站长之家:http://whois.chinaz.com

2)利用kali下自带的whois

kali下的whois+域名

子域名探测


子域名也称二级域名,当进行渗透测试的时候,一些目标网站的规模比较大,主站会进行重点防御,安全性强,下手难度高。通过子域名探测,可以对目标网站下发现更多的域或子域,大大提高漏洞发现的概率,再通过这些子域,接近真正的目标。除了不太现实的手动探测外,一般使用工具进行挖掘,如Layer,subDomainsBrute,K8PortScan

一.工具

1)Layer子域名挖掘工具

直接输入域名,选择要扫描的端口,设置线程即可,而且图形化界面使用起来简单快捷

2)subDomainsBrute lijiejie

基本命令python subDomainsBrute.py baidu.com

扫描完成之后,在M:\子域名检测lijiejie\subDomainsBrute-master\tmp下存放着扫描到的子域名

3)scanport

二.语法搜索

利用谷歌的语法搜索子域名

谷歌常用语法及其说明

关键字

说明

举例

site

限制搜索范围的域名

site:edu.cn

inurl

URL中存在关键字的网页

Inurl:ganyu

intext

搜索网页<body>部分的关键字

Intext:ganyu

filetype

搜索文件的特定后缀或者扩展名

filetype:txt

intitle

搜索网页标题的关键字

intitle:ganyu

link

返回所有与baidu.com做链接的URL

link:baidu.com

info

查找指定站点的一些基本信息

Info:baidu

三.SSL证书

https://myssl.com/ssl.html

CDN绕过


什么是CDN?

CDN全称是Content Delivery Network(内容分发网络),用处是将源站内容分发存储至各个节点,当用户需求源站资源时,只需取得距用户最近的一个节点,获取所需内容,大大提高了用户访问时的响应速度,解决因分布距离、带宽大小、服务器性能带来的访问延迟问题,其实就是将内容缓存在终端用户附近。

举个例子,当用户点击网站的一个URL时,DNS会根据点击的这个URL去寻求IP地址解析,如果网站开启了CDN服务,会由CDN专用DNS服务器去处理这个IP,然后将CDN的全局负载均衡设备IP地址返回用户。用户根据给的IP,访问全局负载均衡,负载均衡按照用户的URL,选择一台举例用户最近缓存服务器,将这台服务器的IP告诉用户,用户向缓存服务器发起请求,最后将资源传输给用户终端。

所以如果信息收集目标开启了CDN服务,虽然可以直接ping域名,但是得到的并非真正的IP,只是距离我们最近一台目标节点的CND服务器IP,所以使得我们无法或者真实的IP地址。

一.判断是否开启了CDN绕过

1)在不同的地方ping同一个域名【有时候ping出的ip不唯一但是固定的几个,可能未使用CDN而使用的是双线。】

2)利用在线网站进行多地区ping 多个地点Ping服务器,网站测速 - 站长工具

3)利用在线nslookup查询,如果查询多次发现返还的IP不同,说明开启

二.绕过CDN,寻求真实IP

1)利用国外在线网站ping(利用国内CDN往往只是对国内用户进行访问加速的原理)

Website uptime monitoring service, check is site down - Host-tracker - en

2)利用御剑CDN逆向IP查询(简洁高效)

3)利用一台国外主机进行ping

4)Netcraft        网址:http://searchdns.netcraft.com(还不错)

端口探测


在渗透测试中,对端口信息的收集极为重要,服务器开了几个端口,端口后面的服务是什么,这些都是十分关键的信息。一个IP地址标识了一台主机,而一台主机可以提供多种服务,如web服务、ftp服务、SMTP 服务等。但是如果说IP地址与主机提供的服务是一对多的关系的话呢,光靠IP地址是不行的,这时就需要端口号进行区分。就好比一栋房子,我们得知道有哪些窗户是打开或是闭合的,从哪里入手,因此端口探测就显得尤为关键。

除了手动探测外,最常见的就是利用Nmap扫描、Zmap或者御剑进行扫描。

Namp的基本使用

主要作用

目标探测:探测目标主机

端口探测:探测目标开放端口

版本探测:探测目标主机的网络服务,名称及版本号等等

脚本检测:漏洞扫描、检测病毒,入侵扫描等等

可以支持编写探测脚本或运行

同时可以进行c段嗅探,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是专注于C段中0,对D段的1-255进行嗅探,然后获取敏感信息。

基本命令

1.【扫描单个ip地址】nmap 127.0.0.1

2.【扫描多个ip】nmap 127.0.0.1 127.0.0.1

3.【扫描指定的ip范围】nmap 127.0.0.1-2

4.【扫描整个d段】nmap 127.0.0.1/24

5.【扫描文件内的所有目标地址】nmap -iL M:\1.txt

6.【扫描除了127.0.0.1以外的地址】nmap 127.0.0.1/24 -exclude 127.0.0.1

7.【扫描除了M:\1.txt以外的地址】nmap 127.0.0.1/24 -exclude M:\1.txt

8.【扫描目标的20、21、22端口】nmap 127.0.0.1 -p 21,22,23

9.【对目标地址进行路由跟踪】nmap --traceroute 127.0.0.1

10.【扫描目标地址所在c段的在线状况】nmap -sP 127.0.0.1

11.【目标地址的操作系统的指纹识别】nmap -O 127.0.0.1

12.【服务器版本探测】nmap -sV 127.0.0.1

13.【探测防火墙状态】nmap -sF -T4 127.0.0.1

一些常见的端口号:

21端口

FTP 文件传输服务

22端口

SSH 远程连接服务

23端口

TELNET 终端仿真服务

25端口

SMTP 简单邮件传输服务

53端口

DNS 域名解析服务

80端口

HTTP 超文本传输服务

110端口

POP3

443端口

HTTPS 加密的超文本传输服务

1080端口

SOCKS代理协议服务器

1521端口

Oracle数据库

3306端口

MYSQL数据库端口

5432端口

PostgreSQL数据库端口

6379端口

Redis数据库端口

8080端口

TCP服务端默认端口

8888端口

Nginx服务器的端口

9200端口

Elasticsearch服务器端口

27017端口

mongoDB数据库默认端口

22122端口

fastdfs服务器默认端口

目录扫描


扫描目标站点的目录,寻找敏感信息【如目录名、文件(phpinfo.php、readme.php)、后台(admin.php)、robots.txt(告诉网络搜索引擎漫游器,此网站中的哪些内容是应该或者不应该被搜索引擎的漫游器获取的)、备份文件等(.bak .zip www.rar)】。

利用工具

1)御剑

输入域名,加入字典,选择线程和超时时间,点击开始。同时御剑还可以用于SQL注入检测,各种加密解密,cdn逆向ip查询,查询目标主机的信息

2)Dirsearch

基本命令:python dirsearch.py -e * -u www.baidu.com

指纹识别


通常来说指纹识别就是人的手指末端正面皮肤上凹凸不平的纹路,纹路规律的排列形成特有的独一无二的的指纹。这里讲的指纹识别其实就是网站cms指纹识别,计算机操作系统以及web容器的指纹识别,如果目标网站系统并非自主研发的,就很有可能是使用了一些cms建站系统,如phpcms、eshop、wordpress、dedecms、dicuz、phpweb等等,对网站进行指纹识别,将会识别出网站所使用的CMS信息

常见网站信息识别网站:

潮汐指纹:TideFinger 潮汐指纹 TideFinger 潮汐指纹

CMS指纹识别:在线指纹识别,在线cms识别小插件--在线工具

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

三分钟学会渗透测试——信息收集相关推荐

  1. 【经验】渗透测试信息收集步骤、网站、工具分享

    渗透测试信息收集步骤.网站.工具分享 刚刚参加完一次大型活动,感觉这个暑假自己的成长很明显.虽然之前的假期也有打算做些什么或者也确实做了什么,但收效甚微.也许人性如此吧,总是要有什么理由推着自己才能前 ...

  2. 渗透测试-----信息收集(通过DNS解析找IP地址、CDN、IP查询、IP物理地址、搜索引擎、网站信息收集)

    文章目录 渗透测试 信息收集 一.IP地址信息收集 1. 通过DNS解析找IP地址 1.1 ping命令 1.2 nslookup命令 1.3 dig工具 1.4 dnsenum 1.5 站长工具 2 ...

  3. 【渗透测试基础-3】渗透测试信息收集的内容及方法

    目录 1 信息收集概述 1.1 目的 1.2 收集内容 2 收集域名信息 2.1 Whois查询 2.1.1 Whois简介 2.1.2 Whois操作 2.2 反查 2.3 备案信息查询 3 收集子 ...

  4. 渗透测试信息收集:目录扫描

    入行这么久,一次完整的渗透也没完成过,最近想从信息收集开始,完整的渗透一次网站,目前在进行信息收集,写篇文章,记录下自己在进行目录扫描中用过的工具. 渗透测试信息收集:目录扫描 目录 渗透测试信息收集 ...

  5. 渗透测试-----信息收集(概述、whois、子域名查询、爆破、vulhub域名传送漏洞复现、kali安装docker)

    文章目录 渗透测试 信息收集 1. 概述 2. 供练手的网站 3. whois查询 4. 子域名查询 域传送漏洞 1. 概述 2. 解决办法 3. vulhub漏洞复现 4. 子域名爆破 渗透测试 信 ...

  6. 【每天学习一点新知识】渗透测试信息收集篇

    目录 1.网页直接获取信息 2.端口扫描 3.子域名查询 4. C段旁注 5.网络空间搜索引擎.谷歌语法 6.whois查询 渗透测试流程: 信息收集是渗透测试的前期工作,对于渗透测试来说十分重要.只 ...

  7. 渗透测试——信息收集(详细)

    信息收集: 前言: 信息收集是渗透测试除了授权之外的第一步,也是关键的一步,尽量多的收集目标的信息会给后续的渗透事半功倍.收集信息的思路有很多,例如:页面信息收集.域名信息收集.敏感信息收集.子域名收 ...

  8. Kali Linux渗透测试——信息收集

    笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程 渗透测试标准(PTES:http://www.pentest-standard.org)的七个阶段: 1.前期交互阶段:讨论确定渗透 ...

  9. 渗透测试信息收集概要

    文章目录 信息收集概要 Whois查询 指纹CMS 网站IP 旁站.C段服务器 服务器操作系统版本.容器版本.数据库类型 邮箱收集 端口服务(80.443等) 敏感文件搜索 目录遍历 说明.txt 目 ...

最新文章

  1. Python基础,面向对象
  2. win7安装gtp磁盘_GPT转MBR分区格式安装win7/win10系统教程
  3. python实现进程通信_python进程间的通讯实现
  4. springboot+mybatis实现动态切换数据源
  5. SharePoint 2010 Crawl Component Stuck in “Recovering” status
  6. centos8 安装mysql_Centos 离线安装mysql8(以及在线安装)
  7. 教程-Delphi资源文件(全面分析于使用)
  8. c 运算符重载前置++_C ++运算符重载–综合指南
  9. 用Docker构建与环境无关的系统
  10. rpc接口和http接口的区别和联系1 什么是http接口http接口是基于http协议的post和get接口。2 什么是rpc接口rpc接口就相当于调用本地接口一样调用远程服务的接口。
  11. [JNI]开发之旅(6)JNI函数中访问java类中对象的属性
  12. WAP 1.X 2.0 相关知识
  13. python设置excel表样式
  14. MySQL事务的保证机制
  15. c语言编程泰勒展开式计算,学习笔记:用c语言编写泰勒展开公式myexp()实现math.h.数学函数...
  16. “女人~,你在玩火”一个有磁性的声音说道——常用自动化测试工具
  17. js 5文钱可以买一只公鸡,3文钱可以买一只母鸡,一文钱可以买3只小鸡,现在100文买100只鸡,请问各多少只
  18. 小仙女讲JVM(1)—综述
  19. 【Unity】内存泄漏危害及处理方式(腾讯WeTest分析使用)
  20. 2022 第十三届 蓝桥杯 省赛 Java B组 真题 详细解析 答案

热门文章

  1. python读ad域日志_基于python LDAP3的AD域账号注册系统
  2. easyexcel 阿里巴巴官方文档地址
  3. 函数参数中带省略号的用法
  4. 基于视觉的手势识别系统(一)——前言
  5. win 2016 ssh_摄像机跟踪软件Vicon Boujou v5.0.2 (Win/mac)
  6. Word控件Spire.Doc 6.0.77版发布| 附下载
  7. 小米MIUI短信权限遇到的坑
  8. MySQL与mybatis查询精华(本人总结)持续更新中
  9. 电子签名功能-微信小程序
  10. 微信开放平台PC端扫码登录