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