一、信息收集简介
1.1 什么是信息收集
信息收集就是要充分了解被测试的对象。包括:测试域名、IP、公司、管理员、邮箱、电话等……
1.2 信息收集的两种模式
被动:测试人员不能直接和被测试对象进行通信。例如:查询whois信息(通常来说被动测试相对安全)
主动测试这需要直接和被测试对象进行通信。例如:直接ping目标主机(通常来说主动测试相对危险一些)
1.3 信息收集的内容
目标人物:电话、邮箱、QQ、whois信息等…
目标网站的配置:域名和子域名,编程语言【C、java、php、go、python】,数据库类型【oracle、mysql、sqlserver】,中间件类型【apache、tomcant、nginx、iis】,开放端口【80、443、8080、3306、3389、22、9000、111、53、20、21】
目标的历史事件:历史漏洞、使用手册、通知、公众号
二、信息收集的具体操作
2.1 信息收集关注的点
1.网站源代码
2.网站的备案信息
3.网站的请求和响应报文
各种首部
cookie
4.网页上的内容
5.网站上的说明
6.关注robots.txt
7.测试一些常规的目录:例如admin、login、bakcup、www、web
1)网站备份文件:web.zip、web.rar、web.tar.gz、www.zip、www.rar、wwwtar..gz
2)数据别分文件:sq.bak、sql.rar、sql.zip、www.zip、web.sql
2.2 网站源代码
按f12
右击,选择检查源代码
重点看到的内容
1)检查注释信息
文件开头的注释
登录框附近的注释
其他位置
2)检查js代码
检查js中如何加密登录信息,检查是否有秘钥信息
2.3 whois检查
whois其实本质是一种协议
whois查询,就是查询域名在进行购买、备案过程中填写各种信息,包括邮箱、电话…
查询whois信息的方法
方法1:用在线网站
1.http://whois.chinaz.com/
2.http://www.whois.com/
方法2:用kaili内置数据库
1.whois 目标网站
补充:查询DNS解析记录
http://dbcha.com/ 可以查询A记录、TXT记录
2.4 查看企业信息
查询企业信息
天眼查
企查查
小蓝本
查询企业信息包括
管理员手机
管理员邮箱
微信公众号
小程序
app
公司旗下的其他网站
股东姓名-密码
以上内容都是做自己密码字典的内容
2.5 子域名
顶级域名:
.gov【政府】、.net【网络服务商】、.edu【学校】、.com【商业组织】、cn【中国】、.hk【香港】、.jp【日本】、.tw【台湾】、.org【非盈利组织】、.mil【军事】
一级域名:
公司主动申请的
例如:jb.com、baidu.com、qq.com
二级域名:
以jd.com为例
1)mail.jd.com
2)ftp.jd.com
3)xxx.jd.com
查询子域名的方法
https://cre.sh
也可以用软件的方式扫描
子域名挖掘机
2.6 扫描端口
什么是端口:
每个进程占用的一个编号
我们可以通过端口反推你服务器上运行的程序
例如:目标服务器开了80,意味着在运行nginx或者apache、iis,那么这个服 务器就是web服务器
例如:目标服务器开了22端口,意味着运行ssh,那么就说明这个系统就是linux
例如目标服务器开了3389端口,意味着开了远程桌面,那么这个系统就是windows
扫描端口的方法
pypthon+telnet 自动扫描
手动扫描 telnet
nmap
务必牢记常见的端口和服务
ssh 22 用于命令行模式远程连接linux
tomcat
iis
apache
musql 3306 数据库对外提供服务的端口
oracle
redis
nginx
php-fpm
dns 53 dns所开放的端口
ftp 20/21 文件传输协议
2.7 网络空间搜索引擎
fofa:fofa.info
傻蛋:shodan.io
钟馗之眼:zoomeye.org
资产
app
小程序
公众号
网站
域名
子域名
2.8 目录扫描
软件:御剑
爬虫文件:robots.txt
为什么扫描
找到敏感文件和路径,例如后台登录地址
2.9 旁站扫描
什么是旁站
在一个服务器上的其他不同的网站
为什么找旁站
扩大搜索范围 https://tool.chinaz.com
2.10 C段扫描
信息收集的C段,指的是和目标网站IP相邻的其他IP地址
2.11 http资源
图片
音频
视频
css
js
访问网站的过程,就是想网站请求资源的过程,当服务器收到请求后,会返回用户请求的资源
http的报文
客户端向服务端发送http请求
服务端收到请求会给与http响应
http的首部
1、请求首部
1)Host:向哪个网站发情况
2)User-Agent:用户访问网站时候使用的浏览器类型
3)Accept:期望接受的数据类型
4)Accept-Encoding:
5)Accept-Language:
6)Connection:
2、响应首部
1)Server:中间件类型
2)Status code:响应状态码
3、通用首部
2.12 Google黑客
什么是Google黑客
用Google的搜索语法,在Google搜索引擎中,搜索目标数据,包括
1)说明文档
2)账号密码文件
3)历史备份数据:www.bak、www.sql
4)公司的组织架构图
http://go.ldd.cool/
关键字
filetype:xxx
filetype:xls 账号密码
site:xxx
filetype:xls site:zju.edu.cn 学生名单
site:zju.edu.cn 后台
site:zju.edu.cn 登录
inurl: 根据url中包含的内容进行搜索
inurl:.php?id=3
intext: 根据网页的内容进行搜索
intext: 登录
intitile: 根据网页的title进行搜索
www.baidu.com
1)baidu.com 这个是域名
2)www 是这个域名中的一个主机的名字
3)www.baidu.com 可以在全网中为一个标识一个主机
2.13 CMS指纹识别
什么是CMS
CMS就是网站内容管理系统,通过使用cms可以实现快速建网站
PHP的:
woedpress
discuz
dedecms
ecshop
...
CMS需要识别的内容
1)编辑语言:java、C、python、php、go
2)是否用js
3)中间件类型:nginx、iis、apache、tomcant、tengine、weblogic
4)数据库类型:mysql、sql server、oracle、db2、mariadb
5)框架类型:ecshop、discuz、woedpess、dedecms、thinkphp
指纹识别的方法
主要就是检查robots.txt是否有特征目录和文件
md5
文件的md5特征码
不同文件的md5只不一定
特点
1、单项加密算法
2、蝴蝶效应,初始内容发生任何变化都会导致加密算法完全不同
HTTP响应头种可能包含一些特定的标记或编码方式,可以用来推测出该网站所使用的CMS,例如:
WordPress:X-Powered-By:PHP/7.4.0
Joomal:X-Powered-By:ASP.NET
Drupal:X-Generator:Drupal 8 ()
2.14 识别waf
waf:网站防火墙
waf的种类:
看门狗
知道创宇-创宇盾
阿里
华为
github开源项目:wafw00f
安装过程
1)git clone https://github.com/EnableSecurity/wafw00f.git
2)cd wafw00f
3)python2 setup.py install
waf00f -l
使用过程
wafw00f www.52pojie.cn
2.15 识别CDN
CDN
cdn是要结合缓存技术,在各地部署缓存服务器
用户解析网站域名的是,DNS会给客户端返回一个距离客户端较近的缓存服务器,要用户来访问
判断目标网站是否用了CDN
https://cdn.chinaz.com/
绕过CDN常规方法
1)从国外解析域名
2)查看网站历史记录 www.netcraft.com
3)网站证书历史申请记录(ssl)
4)网络空间搜索引擎收集资产