渗透测试介绍
渗透测试就是模拟攻击者入侵系统,对系统进行一步步地渗透,发现系统地脆弱环节和隐藏风险。最后形成测试报告提供给系统所有者。系统所有者可根据该测试报告对系统进行加固,提升系统的安全性,防止真正的攻击者入侵。
渗透测试的前提一定是得经过系统所有者的授权!
未经过授权的渗透测试,就是违法行为!
渗透测试意义
信息安全评估的重要方法,有利于掌握系统整体安全强度。
模拟黑客攻击和思维,评估计算机潜在风险。
发现系统薄弱环节和可能利用的路径,提前防范。
有授权,不存在入侵风险。
渗透测试方法
--白盒测试
在知道目标整体信息和源码的情况下进行渗透,类似于代码审计。
--黑盒测试
仅知道目标,其余信息均不知道,完全模拟黑客入侵。
--灰盒测试
知道目标部分信息,例如架构和网络拓扑,进行渗透的方式。
(若按照其他方式还可分为人工测试和自动化测试)
渗透测试一般流程
准备阶段—>信息收集—>漏洞检测—>漏洞利用—>内网转发—>内网渗透—>痕迹清除—>撰写报告
--准备阶段
获得授权 制定方案 目标确定 测试环境确定 测试范围和深度 测试时间确定 测试风险管理
--信息收集
信息收集两种方法
主动信息收集:对目标进行访问或扫描。
被动信息收集:通过第三方收集目标信息。
主要收集的信息
1.域名信息,ip,子域名,DNS记录 是否存在CDN。子域名收集可利用工具:Layer子域名挖掘机,findmain等
2.公网信息。目标相关信息。员工信息,邮箱,注册人等;在Github等代码托管平台查找敏感信息。
3.网站指纹识别。服务器类型(Windows\Linux) 网站容器(Apache\Nginx\Tomcat\IIS)
脚本类型(php\jsp\asp\aspx) 数据库类型(mysql\oracle\access\sqlserver\redis)
4.服务器端口开放情况。可以使