如何进行渗透测试?
作者:网络转载 发布时间:[ 2015/12/3 13:40:16 ] 推荐标签:软件测试 WEB测试 渗透测试
通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用第一阶段发现的漏洞或弱口令等脆弱 性进行入侵;后攻击是指在获得攻击目标的一定权限后,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比,渗透测试仅仅进行预攻击阶段的工 作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行渗透测试,通常需要一些专业工具进行信息收集。 渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为网络扫描工具、通用漏洞检测、应用漏洞检测三类。
一、常用网络扫描工具
网络扫描是渗透测试的第一步,其目的在于发现目标的操作系统类型、开放端口等基本信息,为后续的扫描工作做基础。事实上,利用操作系统本身的一些命令如 ping、telnet、nslookup等也可以对目标的信息进行判断,但是利用专业的工具可以给出更加全面和准确的判断。
NMap
NMap 是Linux操作系统下的一款网络连接端扫描软件,其功能主要有三个:探测一组主机是否在线;扫描主机端口是否打开;判断目标操作系统。NMap的常用扫描方式有:
1) TCP connect端口扫描:-sT参数
2) 端口扫描TCP同步:-sS参数
3) 端口扫描UDP:-sU参数
4) Ping扫描:-sP参数
SuperScan
SuperScan是一款功能强大的端口扫描软件,其主要功能有:
1) 通过Ping来检验IP是否在线;
2) IP和域名相互转换;
3) 检验目标计算机提供的服务类别;
4) 检验一定范围目标计算机的是否在线和端口情况;
5) 工具自定义列表检验目标计算机是否在线和端口情况;
6) 自定义要检验的端口,并可以保存为端口列表文件;
7) 软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,我们也可以自己定义修改这个木马端口列表.
Wireshark
Wireshark是一个网络封包分析软件,其功能是借取流经本地网卡的有数据流量进而分析。通常的应用包括:网络管理员用来解决网络问题、网络安全工程师用来检测安全隐患、开发人员用来测试协议执行情况、用来学习网络协议。
在渗透测试中,Wireshark通常被用于嗅探局域网内的数据传输格式,探查是否存在明文传输口令、数据传输风险等。图形界面的Wireshark 使用十分便捷,选取监听的网卡之后,主界面中会显示所有的数据流量。双击任意条目,则可以根据协议的层次拆分该数据流。Wireshark内置了基本的网 络协议,可以方便的查询包括但不局限于IP、TCP、UDP、HTTP、FTP、SMB等常见的协议内容。
由于Wireshark借取的数据是所有流经网卡的数据,在实际应用中重要的操作是通编写过滤器获得需要的数据流量。主界面中的Filter选项可以方 便的进行过滤器的编辑,过滤包括源地址、目的地址、协议类型等配合各种逻辑运算符组成的表达式,从而根据需要快速的找到目标数据流量。
二、通用漏洞检测工具
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装 的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如MS-08-067、oracle的漏洞。由于系统开启了135、139、445、1433、1521 等应用程序端口,同时没有及时安装补丁,使得外来主机可以通过相应的端口发送恶意的请求从而获取不应当获得的系统权限。
在实际的应用中,如果防火墙做了良好的部署,则对外界展现的端口应该受到严格控制,相应的通用漏洞危害较小。但是如果没有在边界上进行良好的访问控制,则缓冲区溢出漏洞有着极其严重的威胁,会轻易被恶意用户利用获得服务器的高权限。
Nessus
Nessus 是一款系统漏洞扫描与分析软件,采用B/S架构的方式安装,以网页的形式向用户展现。用户登录之后可以指定对本机或者其他可访问的服务器进行漏洞扫描。 Nessus的扫描程序与漏洞库相互独立,因而可以方便的更新其漏洞库,同时提供多种插件的扩展和一种语言NASL(Nessus Attack Scripting Language)用来编写测试选项,极大的方便了漏洞数据的维护、更新。在进行扫描完成后,Nessus还可以生成详尽的用户报告,包括脆弱性、漏洞修 补方法以及危害级别等,可以方便的进行后续加固工作。
X-Scan
X-Scan 是一款国产的漏洞扫描软件,完全免费,无需安装,由国内民间黑客组织“安全焦点”完成。X-Scan的功能包括:开放服务、操作系统鉴别、应用系统弱口令、IIS编码漏洞、应用漏洞检测等。
X-Scan通常被用来进行弱口令的检测,其提供的弱口令检测模块包含telnet、ftp、SQL-server、cvs、vnc、smtp、 nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,采用字典攻击的方式,配合恰当的字典生成工具可以完成大部 分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。
Metasploit
Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
事实上Metasploit提供的是一个通用的漏洞攻击框架,通过它可以方便的获取、开发针对漏洞的攻击。Metasploit将负载控制,编码器,无操 作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。
对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以及metasploit的漏洞编写规则。而对于普 通的渗透测试人员,仅仅只需要安装metasploit,下载新的漏洞库和shellcode,选择攻击目标,发送测试可以完成漏洞检测工作。事实 上,metasploit不仅提供漏洞检测,还可以进行实际的入侵工作。由于采用入侵脚本时可能对系统造成不可预估的效果,在进行渗透测试时应当仅仅使用测试功能。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11