Kali Linux渗透测试实战 1.3 渗透测试的一般化流程
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 渗透测试的一般化流程的更多相关文章
- kali linux 2.0下搭建DVWA渗透测试演练平台
		
DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...
 - Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建
		
一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...
 - 学习Kali Linux必须知道的几点
		
Kali Linux 在渗透测试和白帽子方面是业界领先的 Linux 发行版.默认情况下,该发行版附带了大量入侵和渗透的工具和软件,并且在全世界都得到了广泛认可.即使在那些甚至可能不知道 Linux ...
 - Kali Linux Web 渗透测试视频教程—  第四课 google hack 实战
		
Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...
 - Kali Linux渗透测试实战 1.2 环境安装及初始化
		
1.2 环境安装及初始化 目录(?)[-] 环境安装及初始化 下载映像 安装虚拟机 安装Kali Linux 安装中文输入法 安装VirtualBox增强工具 配置共享目录和剪贴板 运行 Metasp ...
 - Kali Linux Web 渗透测试视频教程—  第二课 google hack 实战
		
Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...
 - Kali Linux渗透测试实战 2.2 操作系统指纹识别
		
目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...
 - 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 ...
 - Kali Linux渗透测试实战  1.1 Kali Linux简介
		
1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ...
 
随机推荐
- MySQL中varchar与char区别
			
MySQL中varchar与char区别(转) MySQL中varchar最大长度是多少? 一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字 ...
 - [ES]elasticsearch章2 ES查询过程解析
			
es服务端是准确知道每个document分布在哪个shard上: search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能,所以一个search请 ...
 - 设计模式之生成者模式java源代码
			
假设要组装一辆自行车,并且自行车就是车轮和车架组成. Builder对应于组装自行车所使用的车轮和车架 ConcreteBuiler对应于自行车的车轮和车架,同时可以返回一辆自行车. Product对 ...
 - Ajax在jQuery中的应用 (4)向jsp提交表单数据
			
ajax技术带给我们的是良好的用户体验,同时,使用jquery可以简化开发,提高工作效率. 下面就介绍一下大致的开发步骤. 工具/原料 本文中使用的是 jquery-1.3.2.min.js 方法/步 ...
 - oracle merge into语法
			
oracle的merge into语法,在这种情况下: 基于某些字段,存在就更新,不存在就插入 不需要先去判断一下记录是否存在,直接使用merge into oerge into 语法: MERGE ...
 - SQL SERVER 如果判断text类型数据不为空
			
一个字段Remark的数据类型设置先设置为varcharr(255),后来考虑到扩展性需要将其定义为TEXT类型,但是SQL 语句报错. SQL 语句: SELECT * FROM ...
 - centos7 新增ip
			
1.进入network-scripts目录:cd /etc/sysconfig/network-scripts/ 2.复制ifcfg-eth0: cp ifcfg-eth0 ifcfg-eth0:0 ...
 - java socket之上传文件
			
一.功能介绍 该功能主要实现,将客户端的:F:/work/socketSample/filetemp/client/test_client.txt上传到服务端F:/work/socketSample/ ...
 - js setInterval详解
			
[自己总结]: 语法 setInterval(code,interval) ①可以有第三个参数,第三个参数作为第一个参数(函数)的参数 ②第一个参数是函数,有三种形式: 1.传函数名,不用加引号,也 ...
 - 第07章:MongoDB-CRUD操作--文档--创建
			
①语法 insert() save() --有修改没有新增 insertOne() [3.2版本新增]向指定集合中插入一条文档数据 insertMany() [3.2版本新增]向指定集合中插入多条文 ...