资安这条路 29 - [渗透测试] 渗透测试流程、资讯安全概论

终於到了倒数第二篇了,今天的文章说是为了渗透测试的流程,做了一下整理,当然每一个人在渗透测试的时候情况可能会不一定。

前期准备

  • 会提到开发能力,或多或少你需要会看得懂程序码或是撰写一些小工具,而我本身在资工系学习:C语言、C++、JAVA,自学 Python,在自我练习的期间学会如何看 PHP,当然你可能会学到 Linux Shell 怎麽写,PowerShell 怎麽使用,总之多学程序语言不是坏事。
  • 基本知识可以等同这个系列前面所介绍的 HTML、HTTP、通讯与网路概论,如果你要谈及资讯安全概论,不外乎就是从认识资讯安全的三大目的(CIA),也就是机密性、完整性、可用性,因为资讯安全的目标就是要保护资料的机密性、完整性、可用性,如果是针对企业还要遵循法规,比如台湾个资法或是欧盟 GDPR。
    • 机密性就会谈及密码学加解密的技术以及权限的存取控制
    • 完整性会谈到杂凑函数、数位签章与权限存取控制
    • 可用性会提到系统的容量规划与备份和备援、负载平衡等与权限存取控制
  • 除了谈谈 CIA 还会学习资安风险、资安威胁、安全要求、资产、资产价值、控制措施,这就是所谓的资安管理的教学内容。
    • 资产:对组织有价值的实体或资源(人、软件、设备、服务等)
    • 弱点:资产本身具备的脆弱点,发生的话可能造成 CIA 的损失
    • 威胁:资产於外在揭露的实体
    • 风险:当威胁成功造成弱点发生後,产生的损害程度
    • 控制措施:降低风险发生的措施或防护方式
  • 法律:我国订定「资通安全管理法」、「国家机密保护法」、「个人资料保护法」、「行政院各机关的资讯安全管理要点」、「27000 系列的资安标准」等
    • GDPR:被遗忘权、个资可携权、资讯取得权、个资处理反对权、个资处理限制权
  • 关於资讯安全风险管理的部分,这边仅简单列几个关键字供大家参考
    • 威胁有机率导致弱点产生冲击,造成资产有风险
    • 风险 = 冲击 x 可能性(机率)
    • 资安风险管理架构与标准
      • NIST SP800-39 资讯系统风险管理参考指引
      • ISO 27005 资安风险管理指引
      • ISO 31010:2009
    • 风险评监:风险识别、风险分析、风险评估
    • 灾害复原计画(Disaster Recovery Plan,DRP)
    • 业务永续运作计画(Business Continuity Plan,BCP)
    • 营运冲击分析(Business Impact Analysis,BIA)
    • 评估最大可容许中断的时间(Maximum Tolerable Downtime,MTD)
    • 日常维运、监控异常、稽核纪录、弱点评估
    • GCB:政府组态基准,帮助简化组态管理,规范终端一致性安全设定

渗透测试

  • 目的就是模拟骇客可能会入侵的手法来检测系统、网站的安全性
    • 如何开始,渗透测试前要先跟客户确认目标、范围
      • 建议渗透方准备确认表格与客户确认需求
      • 双方确认好便可进行签约,签约非常重要,可以保障双方
  • 渗透测试的分类
    • 黑猫白猫只要是会抓老鼠就是好猫
    • 黑箱白箱傻傻分不清楚
  • 渗透测试的范围
    • 虽然没有绝对的区分,但是可以大略分成 Server 与 网站应用程序
    • 这些范围也是需要跟客户谈好可以攻击到哪个程度
  • 以 testphp.vulnweb.com 为范例
    • 该网站为 Acunetix 为了测试自家产品 Web Vulnerability Scanner 所开发的测试网站
  • 进入 Recon 收集阶段
      • 透过 nslookup 查看 IP 位置
      • 使用 nmap 进行端口扫描
      • 查看封包回传的标头内容
      • 透过 Chrome 扩充程序查看目标网站的资讯
      • Google Hacking
      • Google 永远是你的好帮手
      • 公开资讯情蒐
      • 整理公开资讯
      • 弱点扫描
  • 我们透过以上的工具可以取得目标网站的基本资讯,当然还有许多工具可以使用,且我们介绍的工具还有很多进阶的使用方法,大家可以自行 Google 查看工具的详细使用方式。
  • 针对 Server 的弱点
      • 可以检测的弱点类型
      • 可能造成弱点的地方
      • 常使用的工具
  • 弱点利用与提权阶段
    • 取得网站基本资讯,可以了解网站的架构,也会透过绘制网站的地图,纪录 路径、参数、说明、方法(POST,GET)等
    • 再来就是透过我们前面所介绍的网站弱点去进一步的检测
    • 并不是每一次的渗透测试都需要取得最高权限,一切皆以当初签约与客户谈的内容为主,若客户不能接受取得权限,渗透测试人员就不该继续攻击。
  • 整理检测到的弱点
    • 弱点种类
    • 弱点说明
    • 弱点截图
    • CVSS 分数
    • 弱点危害
    • 修复建议
  • 撰写报告
    • 报告内要提到检测目标与范围与执行期间
    • 怎麽检测的方法与流程
    • 结果列表与说明
    • 修正建议
    • 结论
  • 最後就看签约有没有包含复测与复测报告

<<:  [Day 29] - Gatsby v.s. Next

>>:  [Vue.js + Axios] ToDoList (下)

Day05 Filebeat(三) 正则表达式

接下来这一个章节,焦点还是会在filebeat上,通常在收集log,并不是所有资料都需要收集到Ela...

JS 43 - 将表格式表单的资料列输出为 JSON 格式

大家好! 今天要继续昨天的表格式表单,将新增的资料列输出为 JSON 格式。 我们进入今天的主题吧!...

Re: 新手让网页 act 起来: Day21 - useReducer vs useState

前天我们介绍了 useReduecer 的基本使用方式,跟 useState 相比起来复杂许多,那究...

第13天~

转场动画-老师说也不要花太多时间 一样先通通关掉+第3个 建activity_main.xml的bu...

实战练习 - 使用 RxJS 实作「自动完成 / 搜寻 / 排序 / 分页」功能

今天我们用实际的例子来练习各种 RxJS operators 的组合运用!在一般的应用程序里面,资料...