系统渗透与防护——渗透测试

渗透测试

      是一种通过模拟攻击的技术与方法,打破目标系统的安全防御,并获得目标系统控制访问权的安全测试方法。

渗透测试的意义

  1. 新系统可能存在末知的安全风险。
  2. 企业安全更需要未雨绸缪,而楼是亡羊补牢。
  3. 渗透测试后,如果系统未被攻破,证明之前的安全防御是有效的。
  4. 渗透测试可以有效的评估系统的安全状态,并给出合理的改进方案。

渗透测试的目的

  1. 侵入系统获取机密信息。
  2. 将入侵过程和细节产生报告提供用。
  3. 确定用户系统存在的安全威胁,完善安全防御,降低安全风险。

渗透测试的原则

  1. 应渐进并且逐步深入,尽可能减少对业务的影响。
  2. 渗透测试的最大风险:测试过程中对业务产生的影响。
  3. 渗透测试的合规性 :符合规范和法律要求是渗透测试的必要条件。

渗透测试的目标分类

  1. 针对主机操作系统渗透:Windows、Linux等。
  2. 针对数据库系统渗透:MysQL. MS-SQL等。
  3. 针对应用系统渗透:PHP组成的网站等。
  4. 针对网络设备渗透:防火墙、路由器、交换机等。

渗透测试的七个阶段

第一阶段:事前交互

  1. 明确范围:IP、域名等。
  2. 明确规则:目标系统介绍、重点保护对象及特性、相关部门接口人、是否允许数据破坏、是否允许阻断业务正常运行等
  3. 确定需求:web应用还是人员权限管理漏洞,或者其他。

第二阶段:信息收集

信息收集是渗透攻击的前提。

  1. 信息收集工具:Nessus、Nmap等。
  2. 主动扫描:语言的类型、 服务器的类型、目录的结构、使用的软件、数据库类型。
  3. 开放搜索:人员信息(域名注册人员信息、web应用中网站发站人的id管理员姓名)、后台管理页面、默认账号。

第三阶段:危险建模

  1. 根据收集到的信息,识别出目标系统上可能存在的漏洞与弱点。
  2. 分析渗透测试过程中可能产生的风险:大量测试数据的处理,影响正常业务开展、服务器发生异常的应急、数据备份和恢复、成本。
  3. 测试方书号实施方案初稿并提交审核:在审核完成后,进行书面委托授权书,投权测试方进行渗透测试。

第四阶段:漏洞分析(手动&自动)

方法:

  1. 漏扫:Nessus. Openvas、AppScan。结合漏洞去 MSF 等位置找利用。

内容:

  1. 系统漏洞:系统没有及时打补丁
  2. Websever漏洞:Websever配置问题、Web应用用开发问题。
  3. 其它端口服务漏洞:各种21/445/22/3389。
  4. 通信安全:明文传输,token在cookie中传送等。

第五阶段:渗透攻击阶段

根据漏洞分析结果,进行精确打击。

  1. 绕过防御机制:是否有防火墙. WAF
  2. 绕过检测机制:是否有入侵检测、流量监控、杀毒软件。
  3. 定制渗透攻击路径:根据薄弱入口,定制渗透工具路径。
  4. 代码攻击:XSS、CSRF、SQL注入等。

第六阶段:后渗透攻击阶段

  1. 获取内部信息:基础设施( 网络连接、、路由、拓扑等)。
  2. 进一步渗透:内网入侵,敏感目标。
  3. 持续性存在:添加管理账号 ,长期驻扎。
  4. 清理痕迹:清理相关日志(访问,操作),上传文件等。

第七阶段:形成报告

  1. 按需整理:按照之前第一步跟客户确定好的范围 ,需求来整理资料 ,并将资料形成报告。
  2. 补充介绍:要对漏洞成因,验证过程和带来危害进行分析。
  3. 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法。

风险规避

注意事项

  1. 在事前交互阶段,必须取得客户授权。
  2. 取得客户授权后,必须向公安部门等监管机构进行报备。
  3. 不要进行诸如DDoS攻击、删库、删根。
  4. 测试之前对重要数据进行备份。
  5. 可以对原始系统生成镜像环境,然后对镜像环境进行测试。
  6. 明确渗透测试范围。

你可能感兴趣的:(网络安全,面试,网络,系统安全,web安全)