1.3 渗透测试的一般化流程

凡事预则立,不预则废,做任何事情都要有一个预先的计划。渗透测试作为测试学科的一个分支,早已形成了完整的方法论。在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali Linux的基本方法。这里讨论方法论的目的有两个:

第一,在第一节里,我们看到Kali Linux集成了这么多工具,而且更令人欣喜的是已经对这些工具进行了专业的分类。这些工具的使用场景和使用阶段是什么样的呢?把工具拿来胡乱一顿扫描是不会有什么结果的。

第二,本书的章节规划,也需要一个规范,这个规范是我从渗透测试方法论中学来的,并进行了简化,称之为“渗透测试的一般化流程”。

当然本节内容不会长篇大论,也不适用于企业内部的专业的渗透测试团队来遵循。只是希望给初学渗透测试的同学一个入门的指引,有章可循,有法可依。只是学习本书的基本练习流程,不是标准的测试流程。

下面这这张图是《backtrack4 利用渗透测试保证系统安全》一书的Backtrack方法论。

它将渗透测试分成了十个步骤,其中第6步“社会工程学”为可选步骤,但是笔者认为社会工程学在渗透测试的任何一个流程中都有用武之地,它是安全测试的一个方法,不应该成为一个单独的流程。

在本书中,我们将整个过程划分为5个步骤。

1.3.1 信息搜集

在练习过程中,选择目标的过程,读者自行完成。在讲解具体漏洞攻击的章节中,还会讲解一些如何快速查找特定目标的方法。本书假定读者已经准备好了测试目标才阅读和实践书中内容,所以流程的第一步为信息搜集。

在这一步中,我们尽可能的使用多种信息搜集工具,包括搜索引擎和社会工程学方法。对能收集到的信息,来者不拒。

只有建立在足够信息分析的基础上,渗透测试才能游刃有余。因为信息越多,发现漏洞的几率越大。

同时对不同应用的信息收集的侧重点也不同。比如web应用和桌面应用,对于web应用,服务器操作系统、web服务器类型、web后台语言会被首先关注;而对于桌面应用,更多的是关心应用程序本身。

1.3.2 发现漏洞

在搜集了足够的信息之后,首先我们要判断它会存在哪些漏洞。这可以通过搜索引擎,和通用的漏洞扫描工具来完成。通常使用搜索引擎是明智的选择,比如我们在第一步中知道对方站点的编写语言为php 5.3.*,可以在google搜索“php 5.3”漏洞。

很多专业的bug站点的信息,更值得我们驻足。这样我们就可以针对性的进行漏洞扫描。此时使用专门的漏洞扫描工具比通用工具来得更实际和高效。

1.3.3 攻击

基本上,你能得到的漏洞,都可以找到对应的攻击方法。Kali Linux中也提供了很多现成的工具,来帮助我们顺利的攻击目标。

这一步包含两个方面,一个是利用现有漏洞利用,一个是提权。二者有时候是一回事,比如权限漏洞。

渗透测试和以破坏为目的的黑客行为还是有区别的,测试的目的是证明漏洞的存在,而不是搞破坏。所以有时候攻击成功之后可能测试任务就结束了,当然这和测试目标是紧密相关的。

攻击还包含一个重要的内容,就是如何隐藏攻击行为或者清除攻击痕迹。让对方无法或者说很难通过反追踪技术查找到攻击者。

1.3.4 权限维持

权限维持阶段,是我们成功攻破一个系统后,如何继续保持对系统的控制权限的问题。

一般会创建高权限的隐藏账户,或者安装后门程序(包括木马,病毒)。

1.3.5 文档化

文档化不是本书的强制流程,但是笔者强烈建议我们对每次渗透测试的过程和结果进行文档化处理。这样会形成知识的积累。当然如果你是专业的渗透测试工程师或者手上有渗透测试的项目,那么标准化文档是必不可少的。

小结

本节所讲解的流程不是标准的渗透测试流程,是本书的教学实践简化流程,读者要区别对待。

下一节,是本章的最后一节,以一个小例子来体验Kali Linux的渗透测试,来提升大家的兴趣。

1.4节--《小试牛刀》。

更多相关文章 www.xuanhun521.com

ps:对此文章或者安全、安全编程感兴趣的读者,可以加qq群:Hacking:303242737;Hacking-2群:147098303;Hacking-3群:31371755;hacking-4群:201891680;Hacking-5群:316885176

Kali Linux渗透测试实战 1.3 渗透测试的一般化流程的更多相关文章

  1. kali linux 2.0下搭建DVWA渗透测试演练平台

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  2. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

  3. 学习Kali Linux必须知道的几点

    Kali Linux 在渗透测试和白帽子方面是业界领先的 Linux 发行版.默认情况下,该发行版附带了大量入侵和渗透的工具和软件,并且在全世界都得到了广泛认可.即使在那些甚至可能不知道 Linux ...

  4. Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战

    Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...

  5. Kali Linux渗透测试实战 1.2 环境安装及初始化

    1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...

  6. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  7. Kali Linux渗透测试实战 2.2 操作系统指纹识别

    目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...

  8. Kali Linux渗透测试实战 2.1 DNS信息收集

    目录 2.1 DNS信息收集1 2.1.1 whois查询3 2.1.2 域名基本信息查询4 Dns服务器查询4 a记录查询4 mx记录查询5 2.1.3 域名枚举5 fierse 5 dnsdict ...

  9. Kali Linux渗透测试实战 1.1 Kali Linux简介

    1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...

随机推荐

  1. Python之路(第二十五篇) 面向对象初级:反射、内置方法

    [TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它 ...

  2. oralce的lag和lead函数

    https://www.cnblogs.com/always-online/p/5010185.html

  3. Windows使用SSH Secure Shell实现免密码登录CentOS

    笔记来自:http://blog.csdn.net/jiangshouzhuang/article/details/50683049 1.在Windows上生成密钥找到Secure Shell Cli ...

  4. 2019.01.19 codeforces893F.Subtree Minimum Query(线段树合并)

    传送门 线段树合并菜题. 题意简述:给一棵带点权的有根树,多次询问某个点ppp子树内距离ppp不超过kkk的点的点权最小值,强制在线. 思路: 当然可以用dfsdfsdfs序+主席树水过去. 然而线段 ...

  5. const修饰指针时应注意的问题

    1.指向常量的指针 顾名思义,一个指针指向const对象,则称它为指向常量的指针. ; int* ptr=&a; //错误 const int* ptr=&a; //必须用const来 ...

  6. python 基础_ 打印输出 循环分支2

    一.在python3中的打印输出 1.输出字符串是print("hello world!!!") #输出字符串的时候可以是单引号括起来,也可以是双引号括起来.区别在于 2.输出变量 ...

  7. CPU load高而使用率低的问题分析

    最近服务器上出现了一个很诡异的问题,症状如下图所示: 查看进程发现: 如上图所示,非常多的df -h进程没有退出.于是手工kill掉这些 df -h进程.cpu load恢复正常. 至于为什么会有这么 ...

  8. 11-DOM介绍

    什么是DOM DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构.目的其实就是为了能让js操作html元素而制定的一个规范. DOM就是由节点组成的. 解析过程 ...

  9. Design Principle

    原文地址:面向对象设计模式原则详解 http://blog.csdn.net/hguisu/article/details/7571617 程序员必备的七大面向对象设计原则(一) http://www ...

  10. android的消息处理机制(图文+源码分析)—Looper/Handler/Message[转]

    from:http://www.jb51.net/article/33514.htm 作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想.andro ...