渗透测试 ---- 信息收集
信息收集
WEB
程序源码
在安全测试中,Web源码是一个重要的信息来源,可以通过审计源码找出漏洞,也可也根据网站使用的框架和CMS测试可能存在的漏洞。获取到Web源码可以为后期的测试提供更多思路
Web源码目录结构
admin 网站后台路径
data 数据相关目录
install 安装目录
member 会员目录
tmp 模板目录(和网站相关的整体框架)
data → config.php 数据库配置文件,网站和数据库的通讯信息、连接账号密码
Web源码脚本类型
ASP、PHP、ASPX、JSP、JAVAWEB等脚本类型源码的安全漏洞
Web源码应用分类
社交、论坛、门户。第三方、博客等不同的代码机制对应漏洞
根据网站的类型,侧重在哪些漏洞上做文章
- 门户网站------------------------综合类漏洞
- 电商------------------------------业务逻辑漏洞
- 论坛------------------------------XSS漏洞
- 博客------------------------------漏洞较少
- 第三方---------------------------根据功能决定
Web源码其他说明
框架与非框架
若网站使用了某个框架进行开发,则应该寻找框架漏洞
若网站未使用框架开发,则应寻找站开发使用的语言的漏洞,如thinkPHP漏洞
CMS识别
通过CMS识别,判断一个网站是用什么CMS系统模板搭建的
了解网站使用的CMS后可以通过各种途径获取CMS系统模板源码
利用CMS系统模板的漏洞对网站进行安全测试
开源与内部
- 开源:寻找相关漏洞文章。直接找漏洞或代码审计
- 内部:常规的渗透测试,用扫描工具判断漏洞
源码获取途径
- 扫描工具探测备份文件
- CMS识别
- 搜索引擎搜索源码
- 淘宝、闲鱼
- 第三方源码站,如菜鸟源码
操作系统、数据库与第三方软件
除去搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到Web或服务器的安全,导致网站或服务器权限的获取
操作系统层面
识别操作系统常见方法
通过大小写是否敏感识别,windows对大小写不敏感,Linux对大小写敏感
Windows改变大小写后网站可以访问
Linux服务器改变大小写后无法访问
用TTL来判断服务器系统
Linux的TTL一般为64或255
Windows的TTL一般为128
该方法误差大,不推荐使用
使用Nmap来判断操作系统
数据库层面
常见数据库
- 小型数据库 Access
- 中型数据库 MySQL
- 大型数据库 Oracle、SQL Server、Mongodb
通过网站使用的语言识别数据库
- ASP:Access,SQL server
- PHP:MySQL
- ASPX:SQL server
- Jsp:SQL server,oracle
- Python:Mongodb
通过端口开放情况识别数据库
- SQL server:1433
- MySQL:3306
- Oracle:1521
- Mongodb:27017
数据库类型区别及识别意义
每个数据库里面的安全机制,内部结构都有些许不一样,同样产生的漏洞也不一样。不同的数据库,攻击方法、漏洞类型及影响都有不同
第三方层面
常见的第三方软件:Jboss,phpMyAdmin,vsftpd,TeamView等
通过扫描工具查找第三方软件,来利用第三方漏洞,从而进行渗透测试
站点信息
信息收集时,收集主站点以外其他站点的信息,可以为渗透测试提供更多的思路和方法
站点搭建分析
- 子目录:网站目录下有着子目录,如
*.example.com
下存在*.example.com/bbs
、*.example.com/blog
等子目录,每个子目录都是一个独立站点 - 端口:网站除了默认访问端口80外,还存在其他端口的站点,如8080、8081、8888等端口都是独立的网站
- 子域名:如bbs、blog、web等子域名
- 类似域名:站点存在.cn、.net、.org等其他域名,或
*.example.com
存在*.example123.com
、*.example666.com
等类似域名 - 旁注/C段站点:
- 旁注 —— 同服务器,不同站点
192.168.1.100
www.a.com
www.b.com
找不到a站点的漏洞,寻找b站点的漏洞,通过b站点的权限对a站点测试 - C段 —— 同内网段,不同服务器,不同站点
192.168.1.100
www.a.com
www.b.com
192.168.1.101
www.c.com
www.d.com
a站点和b站点的漏洞都找不到,搜索192.168.1.这个网段,查找出192.168.1.101下的c、d站点
获取c、d站点权限 -> 获取服务器权限 -> 利用服务器权限对内网测试
- 旁注 —— 同服务器,不同站点
- 搭建软件特征站点:使用PHP study、宝塔、XAMPP等软件搭建网站时,利用软件漏洞,或弱口令等方式测试
WAF
WAF即防火墙,分为硬件形式和软件形式
大型公司会购买硬件防火墙,个人网站和小企业一般都是使用软件防火墙
WAF的识别
WAFw00f
sqlmap
sqlmap是对数据库使用的漏洞检测与攻击工具,但也可用于防火墙的检测
命令:sqlmap -u "http://www.example.php?id=1" --identify-waf
sqlmap -u "http://www.example.php?id=1" --check-waf
CDN
CDN即内容分发网络,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
但在安全测试过程中,若目标存在CDN服务,则无法获取目标真实IP地址,将会影响到后续的安全测试过程。
判断目标存在CDN服务
通常通过多地ping的方式确定目标是否使用了CDN,常用网站有:
http://ping.chinaz.com
、https://asm.ca.com/en/ping.php
使用chinaz网站ping百度时,可以看到不同的地区响应的IP地址不同,即百度使用了CDN服务
常见的CDN绕过技术
- 子域名查询:CDN服务开销大,一般不会对子域名使用CDN服务
小技巧:
通常在DNS服务器中将
www.example.com
与*.example.com
解析为同一个IP地址但在设置CDN服务器时,可能只将
www.example.com
或*.example.com
其中一个设置了CDN服务器,当检测另一个域名时,就能获得真实IP也可尝试使用
m.example.com
(手机端域名)检测
- 邮件服务查询:邮箱服务一般是内部人员使用,不会设置CDN
通过查看邮件源码的方式获取IP地址
此地址大概率为真实IP地址
国外地址请求:国外(非洲国家等)对国内网站访问量少,可能不会使用CDN
遗留文件:如phpinfo中的IP地址
黑引擎搜索特定文件:shodan、zoomeye、fofa等搜索引擎,搜索指定文件(如网站logo)的hash值
DNS历史记录:网站未使用CDN服务时,DNS解析的IP地址
第三方网站:
x.threatbook.cn
、www.get-site-ip.com
APP
若WEB无法取得进展或无WEB的情况下,我们需要借助目标的APP软件进行信息收集,从而开展后续渗透
对APP反编译获取相关信息
利用burpsuit抓包
资产监控
GitHub监控
收集整理最新的exp或poc
便于发现相关测试目标的资产
其他资产查询
们需要借助目标的APP软件进行信息收集,从而开展后续渗透
- 对APP反编译获取相关信息
- 利用burpsuit抓包
资产监控
GitHub监控
收集整理最新的exp或poc
便于发现相关测试目标的资产
其他资产查询
渗透测试 ---- 信息收集相关推荐
- 渗透测试-----信息收集(通过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】渗透测试信息收集的内容及方法
目录 1 信息收集概述 1.1 目的 1.2 收集内容 2 收集域名信息 2.1 Whois查询 2.1.1 Whois简介 2.1.2 Whois操作 2.2 反查 2.3 备案信息查询 3 收集子 ...
- 【经验】渗透测试信息收集步骤、网站、工具分享
渗透测试信息收集步骤.网站.工具分享 刚刚参加完一次大型活动,感觉这个暑假自己的成长很明显.虽然之前的假期也有打算做些什么或者也确实做了什么,但收效甚微.也许人性如此吧,总是要有什么理由推着自己才能前 ...
- 渗透测试信息收集:目录扫描
入行这么久,一次完整的渗透也没完成过,最近想从信息收集开始,完整的渗透一次网站,目前在进行信息收集,写篇文章,记录下自己在进行目录扫描中用过的工具. 渗透测试信息收集:目录扫描 目录 渗透测试信息收集 ...
- 渗透测试-----信息收集(概述、whois、子域名查询、爆破、vulhub域名传送漏洞复现、kali安装docker)
文章目录 渗透测试 信息收集 1. 概述 2. 供练手的网站 3. whois查询 4. 子域名查询 域传送漏洞 1. 概述 2. 解决办法 3. vulhub漏洞复现 4. 子域名爆破 渗透测试 信 ...
- 【每天学习一点新知识】渗透测试信息收集篇
目录 1.网页直接获取信息 2.端口扫描 3.子域名查询 4. C段旁注 5.网络空间搜索引擎.谷歌语法 6.whois查询 渗透测试流程: 信息收集是渗透测试的前期工作,对于渗透测试来说十分重要.只 ...
- 渗透测试信息收集概要
文章目录 信息收集概要 Whois查询 指纹CMS 网站IP 旁站.C段服务器 服务器操作系统版本.容器版本.数据库类型 邮箱收集 端口服务(80.443等) 敏感文件搜索 目录遍历 说明.txt 目 ...
- Kali Linux渗透测试——信息收集
笔记内容参考安全牛课堂苑房弘老师的Kali Linux渗透测试教程 渗透测试标准(PTES:http://www.pentest-standard.org)的七个阶段: 1.前期交互阶段:讨论确定渗透 ...
- 渗透测试信息收集总结
一.信息收集介绍 信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种 ...
- kali---DNS 渗透测试信息收集
目录 一.了解信息收集工具 1.whois 2.host 3.dig 4.dnsenum 5.dnsdict6 6.fierce 二.确定渗透测试目标,将收集到的信息粘贴如下,并筛选出重点测试服务器 ...
最新文章
- 第一次现场看球,第一次场看国家队打球,第一次场看国家队打架,第一次上电视,第... ......
- Jz2440 环境安装
- paragon+ntfs+linux,NTFS For Mac 超强兼容性
- JS splice()方法
- 填坑-关于SysTick定时器
- 语C、耽美、盲盒、Lolita……这些95后文化,你看懂了吗?
- python迭代器与生成器_python的迭代器与生成器实例详解
- matlab画爱心代码分享
- Android 高级控件ListView用法
- 自然数幂与伯努利数,分数相加
- labelImg使用教程
- 树莓派安装OpenCV - 亲测可用
- 如何移动visio2010连接线上的文本
- 【教3妹学算法-每日3题(2)】分割字符串的最大得分
- 人文遥感 — 美丽兴化,千岛菜花
- android 生成bks_Android 添加 证书(pem,crt,p12,bks,jks)到 keystore.bks
- 计算机的网络凭据,win10凭据密码是什么,网络凭据账户和密码是多少
- kon-boot启动盘测试
- 字体设计中什么是断笔设计啊
- [OpenStack] Linuxbridge 的Permission Denied故障调查