天天看点

网络安全——安全测试工具Metasploit与漏洞扫描

一、漏洞及漏洞发掘方法

 漏洞,是指在硬件、软件、协议实现或系统安全策略上存在缺陷,攻击者能够在未授权的情况下对系统进行访问或破坏。它会成为入侵者侵入系统和植入恶意软件的入口,影响系统用户的切身利益。漏洞与目标系统的操作系统版本、软件版本以及服务设置密切相关。研究漏洞必须要了解当前计算机系统及其安全问题的最新发展动态。常见的漏洞包括缓冲区溢出漏洞、跨站脚本漏洞(XSS)、SQL注入漏洞、数据库漏洞以及WEB应用漏洞等。

 常见的漏洞发掘方法分为以下几种。

 ·  黑盒攻击(Fuzzing):即通过注入数据进行自动化测试。

 ·  获取攻击对象的源代码进行审计:网络上有很多源代码审计工具可供使用,如Fortify。

 ·  反汇编审计:如果无法获取到源代码,可以基于汇编码进行反汇编审计。IDA是一款常用的反汇编软件。

 ·  动态跟踪分析:通过记录程序在不同条件下执行操作(如文件操作),分析这些操作序列是否存在问题。

 ·  补丁比较:厂商软件的问题通常都会在补丁中解决,如微软的Windows操作系统会不定期发布补丁程序,通过对比补丁前后文件的源码(或反汇编码)就能了解漏洞的具体细节。

 目前,针对常用的漏洞发掘方法已经开发出了很多漏洞扫描工具。漏洞扫描工具是一种能在计算机、信息系统、网络及应用软件中查找安全弱点的程序。通过对目标系统进行探测,向目标系统发送数据,并将反馈结果与漏洞特征库进行匹配,分析出目标系统上存在的安全漏洞。比较常用的漏洞扫描工具有Metasploit、Nmap、NeXpose、Nessus、Xscan等。

二、Metasploit Framework工具简介

 Metasploit Framework是一个强大的开源平台,为渗透测试、shellcode 编写和漏洞研究提供了一个可靠环境。它集成了各种常见的溢出漏洞和shellcode ,并且不断更新。当前版本收集了上千个实用的溢出攻击程序及一些辅助工具,操作简单,易用性好。当然,它不只是一个简单的收集工具,还提供了所有的类和方法,以便开发人员使用这些代码方便快速的进行二次开发。漏洞扫描只是Metasploit Framewotk众多功能中的一种,本文只介绍它的漏洞扫描功能。

网络安全——安全测试工具Metasploit与漏洞扫描

 Metasploit Framework的总体架构如图1所示,它包含Exploit、Auxiliary、Payload等多个模块:

 ·  Exploit是攻击模块,基本上目前所有的操作系统在Metasploit Framework上均有对应的攻击模块;

 ·  Auxiliary是辅助模块,用途非常广泛,它可以作为扫描器、拒绝服务攻击工具、Fuzz测试器,以及其他类型的工具;

 ·  Payload是在目标系统被攻陷之后执行的代码,如添加用户账号,获取[url=]shell[/url]交互权限等;

   三、Metasploit的几种漏洞扫描组件

 1、Nmap

 Nmap适用于Winodws、Linux、Mac等操作系统。它用于主机发现、端口发现或枚举、服务发现,检测操作系统、硬件地址、软件版本以及脆弱性的漏洞。Metasploit Framework平台集成了Nmap组件。通常在对目标系统发起攻击之前需要进行一些必要的信息收集,如获取网络中的活动主机、主机开放的端口等。

 Nmap扫描存活主机及主机运行的服务:

 nmap -P0 192.168.20.1-10,扫描结果显示网络中活动的主机有7台,且列举出了每台主机运行的服务及主机MAC地址。

msf > nmap -P0 192.168.20.1-10

[*] exec: nmap -P0 192.168.20.1-10

Starting Nmap 6.25 ( [url]http://nmap.org[/url] ) at 2013-06-06 15:47 ????????????

Nmap scan report for 192.168.20.1

Host is up (0.00014s latency).

Not shown: 995 closed ports

PORT      STATE    SERVICE

23/tcp    open     telnet

80/tcp    open     http

MAC Address: 00:0F:E2:69:5D:E2 (Hangzhou H3C Technologies Co.)

……

Nmap scan report for 192.168.20.4

Host is up (0.0098s latency).

Not shown: 986 closed ports

PORT      STATE SERVICE

21/tcp    open  ftp

80/tcp    open  http

135/tcp   open  msrpc

443/tcp   open  https

445/tcp   open  microsoft-ds

902/tcp   open  iss-realsecure

912/tcp   open  apex-mesh

3389/tcp  open  ms-wbt-server

MAC Address: 68:05:CA:0E:BF:59 (Intel)

……

Nmap done: 10 IP addresses (7 hosts up) scanned in 17.53 seconds

msf >

复制代码

    Nmap扫描操作系统和服务软件版本信息:

 msf > nmap -A -T4 192.168.20.4,Nmap显示的扫描结果相当详细,列出了目标服务器192.168.20.4上运行的操作系统是微软的Windows 7或者Windows 2008,提供FTP服务的软件是3Com 3CDaemon FTP Server,版本号为2.0,并且使用匿名账号anonymous可以登陆成功。

msf > nmap -A -T4 192.168.20.4

[*] exec: nmap -A -T4 192.168.20.4

Starting Nmap 6.25 ( http://nmap.org ) at 2013-06-06 15:54

Nmap scan report for 192.168.20.4

Host is up (0.0074s latency).

Not shown: 986 closed ports

PORT      STATE SERVICE         VERSION

21/tcp    open  ftp             3Com 3CDaemon ftpd 2.0

| ftp-anon: Anonymous FTP login allowed (FTP code 230)

|_ftp-bounce: bounce working!

80/tcp    open  http            HttpFileServer httpd 1.5g

|_http-title: JAX SERVER- /

135/tcp   open  msrpc           Microsoft Windows RPC

443/tcp   open  ssl/http        VMware VirtualCenter Web service

445/tcp   open  netbios-ssn

902/tcp   open  ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)

912/tcp   open  vmware-auth     VMware Authentication Daemon 1.0 (Uses VNC, SOAP)

3389/tcp  open  ms-wbt-server   Microsoft Terminal Service

MAC Address: 68:05:CA:0E:BF:59 (Intel)

Device type: general purpose

Running: Microsoft Windows 7|2008

TRACEROUTE

HOP RTT     ADDRESS

1   7.38 ms 192.168.20.4

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 203.48 seconds

msf >

四、专用漏洞扫描器

Metasploit自带了许多辅助模块