浅谈nmap

扫描方式:

nmap默认使用TCP connect [-sT]遵循tcp协议中三次握手过程,并以此检测目标机器上的开放端口

SYN scan [-sS]被视为一种隐蔽的扫描技术,因为不需要再目标和扫描器之间建立完全的链接,因此也被称为半开扫描。–sS参数表明Nmap要对目标进行SYN scan。TCP connect与SYN这两种扫描方式在大多数情况下是类似的,唯一的区别在于SYN scan更不容易被防火墙和入侵检测系统发现,不过现代的防火墙已足以检测出SYN scan。

UDP scan [-sU]使用于识别目标中开放UDP端口的扫描技术,需要向目标机器发送0字节的UDP数据包,如果返回的是ICMP端口不可达信息,就表明端口是关闭的,否则就可以判断是开放的

ACK scan [-sA]是一种比较特别的扫描类型,可以判断端口是否被防火墙过滤。通过向远程端口发送TCP ACK数据帧即可实现。如果目标没有响应,可以判断是被过滤的端口;如果目标返回的是RST(连接重置)数据包,则可以判断该端口是未被过滤的端口。这个信息有助于寻找目标中的弱点,因为对目标中未被过滤的端口进行攻击,成功的几率更高。

扫描实现:

TCP connect scan是最基本的扫描技术,需要在扫描器和测试端口之间建立完整的连接,可通过操作系统的网络函数实现。其主要过程是,扫描器向目标机器发送一个SYN数据包,如果目标端口是开放的,则向扫描器返回一条ACK消息,之后扫描器再向目标机器返回一条ACK消息,从而在两者之间成功建立连接,成为“三次握手”过程。该过程启动后连接自动终止。这一技术具有自身的有点,但很容易被防火墙或入侵检测系统追踪到。

 

SYN scan是另一种TCP扫描类型,不需要与目标建立完全连接。这种扫描并不使用操作系统的网络函数,而是生成原始IP数据包并对目标相应进行监测。如果目标端口是开放的,则返回一条ACK消息,之后扫描器发送一条RST(连接重置)消息中断连接,因此也被称为半开放扫描。同是,这种扫描也被认为是一种隐蔽扫描技术,可以防止在配置不当的防火墙或入侵检测系统中产生告警标记

 

UDP扫描是一种无连接的扫描技术,因此不会向扫描器返回响应信息以说明目标是否接受到数据包。如果目标端口是关闭的,则向扫描器返回一条ICMP端口不可达消息;如果没有返回消息,则端口被视为开放。但使用该方法可能会产生错误的结果,因为防火墙在设置上可以阻塞数据包,目标机器也就不会生成响应消息,从而导致扫描器将目标端口视为开放。

 

ACK scan的主要目的是识别过滤端口和非过滤端口,这是一种独特且方便的扫描技术,有助于发现目标系统的弱点,因为未被过滤端口是易于攻击的目标。但主要缺点是不能识别开放端口,因为该扫描从不与目标建立连接。在ACK scan的结果中只会列出某些端口是过滤的还是非过滤的。将ACK scan与其他扫描类型结合使用,可以得到更好的隐蔽扫描结果

 

除了一般的端口扫描之外,nmap还提供了一些高级选项,有助于获取更多关于目标的信息。其中应用最为广泛的选项是operating system identifcation [-O],可用于判断目标主机的操作系统类型。另一个广泛使用的Nmap选项是version detection [-sV]。该选项可以与前面讲过的任意扫描类型混合使用,从而获知目标开放端口上运行服务的具体版本。

 

增加匿名性

以匿名方式进行扫描是非常重要的。如果不采用安全隐蔽措施进行扫描,防火墙和IDS日志将会揭示扫描者的 IP地址,Nmap中Decoy [-D]选项可以提供这样的功能。

decoy选项不能防止扫描者IP地址被防火墙和IDS记录下来,而是使得扫描行为看起来更加复杂。使用这一选项时,会在日志文件中增加其他扫描源,看起来就像有几个其他攻击者一起对目标机器进行并发扫描一样。所以,如果在扫描时添加两个 decoy IP地址,从日志文件看,请求数据包是从3个不同的IP地址发送的,其中一个是真正的扫描者IP地址,而另外两个是扫描者自己添加的假IP地址,如:

nmap -sS 192.168.56.102 -D 192.134.24.34,192.144.56.21

这一示例展示了decoy参数的作用,-D参数后面的IP地址是假IP地址,会在目标机器的网络日志文件中和真正的扫描者IP地址一起出现,这会混淆网络管理员,将3个IP地址都误判为假的或欺骗的。然而,过多地使用decoy地址会影响扫描结果,因此建议根据实际需要使用一定数量的decoy地址。

TCP connect scan是最基本的扫描技术,需要在扫描器和测试端口之间建立完整的连接,可通过操作系统的网络函数实现。其主要过程是,扫描器向目标机器发送一个SYN数据包,如果目标端口是开放的,则向扫描器返回一条ACK消息,之后扫描器再向目标机器返回一条ACK消息,从而在两者之间成功建立连接,称之为“三方握手”过程。该过程启动后连接自动终止。这一技术具有其自身的优点,但很容易被防火墙或入侵检测系统追踪到。

SYN scan是另一种TCP扫描类型,不需要与目标建立完全连接。这种扫描并不使用操作系统的网络函数,而是生成原始IP数据包并对目标响应进行监测。如果目标端口是开放的,则返回一条ACK消息,之后扫描器发送一条RST(连接重置)消息中断连接,因此也称为半开扫描。同时,这种扫描也被认为是一种隐蔽扫描技术,可以防止在配置不当的防火墙或入侵检测系统中产生告警标记。

UDP 扫描是一种无连接的扫描技术,因此不会向扫描器返回响应信息以说明目标是否接收到数据包。如果目标端口是关闭的,则向扫描器返回一条 ICMP 端口不可达消息;如果没有返回消息,则端口被视为开放。但使用该方法可能会产生错误的结果,因为防火墙在设置上可以阻塞数据包,目标机器也就不会生成响应消息,从而导致扫描器将目标端口视为开放。

ACK scan的主要目的是识别过滤端口和非过滤端口,这是一种独特而又方便的扫描技术,有助于发现目标系统的弱点,因为未被过滤端口是易于攻击的目标。但主要缺点是不能识别开放端口,因为该扫描从不与目标建立连接。在ACK scan的结果中只会列出某些端口是过滤的还是非过滤的。将ACK scan与其他扫描类型结合使用,可以得到更好的隐蔽扫描结果。

更多

下面介绍关于nmap扫描的更多知识,以及怎样将不同的扫描类型结合使用。

操作系统与版本检测

除了一般的端口扫描之外,Nmap还提供了一些高级选项,有助于获取更多关于目标的信息。其中应用最广泛的选项是 operating system identifcation [-O],可用于判断目标主机的操作系统类型,如下例所示。

msf > nmap -O 192.168.56.102

[*] exec: nmap -O 192.168.56.102

Starting Nmap 5.51SVN ( http://nmap.org ) at 2011-10-19 02:25 IST

Nmap scan report for 192.168.56.102

Host is up (0.0014s latency).

MAC Address: 08:00:27:34:A8:87 (Cadmus Computer Systems)

Device type: general purpose

Running: Microsoft Windows XP|2003

从结果可以看到,Nmap成功地检测出目标机器的操作系统类型。根据操作系统类型,可以更容易找到合适的攻击代码。

另一个广泛使用的Nmap选项是version detection [-sV]。该选项可以与前面讲过的任意扫描类型混合使用,从而获知目标开放端口上运行服务的具体版本。

msf > nmap -sT -sV 192.168.56.102

[*] exec: nmap -sV 192.168.56.102

Starting Nmap 5.51SVN ( http://nmap.org ) at 2011-10-19 02:27 IST

Nmap scan report for 192.168.56.102

Host is up (0.0011s latency).

Not shown: 997 closed ports

PORT STATE SERVICE

VERSION

135/tcp open msrpc Microsoft Windows RPC

139/tcp open netbios-ssn

445/tcp open microsoft-ds Microsoft Windows XP

MAC Address: 08:00:27:34:A8:87 (Cadmus Computer Systems)

Service Info: OS: Windows

从结果可以看到,版本中多了一个额外的版本列信息,其中包含了目标机器上运行服务的不同版本。

增加匿名性

以匿名方式进行扫描是非常重要的。如果不采用安全隐蔽措施进行扫描,防火墙和IDS日志将会揭示扫描者的 IP地址,Nmap中Decoy [-D]选项可以提供这样的功能。

decoy选项不能防止扫描者IP地址被防火墙和IDS记录下来,而是使得扫描行为看起来更加复杂。使用这一选项时,会在日志文件中增加其他扫描源,看起来就像有几个其他攻击者一起对目标机器进行并发扫描一样。所以,如果在扫描时添加两个 decoy IP地址,从日志文件看,请求数据包是从3个不同的IP地址发送的,其中一个是真正的扫描者IP地址,而另外两个是扫描者自己添加的假IP地址,如下例所示。

msf > nmap -sS 192.168.56.102 -D 192.134.24.34,192.144.56.21

这一示例展示了decoy参数的作用,-D参数后面的IP地址是假IP地址,会在目标机器的网络日志文件中和真正的扫描者IP地址一起出现,这会混淆网络管理员,将3个IP地址都误判为假的或欺骗的。然而,过多地使用decoy地址会影响扫描结果,因此建议根据实际需要使用一定数量的decoy地址。

2.5 探索用于扫描的辅助模块

辅助模块是Metasploit框架的内置模块,有助于执行各种类型的任务。辅助模块与攻击代码不同,它运行在渗透测试人员的机器上,并且不提供任何 shell。Metasploit 框架中提供了350多个不同的辅助模块,每个都可以执行一些特定任务,这里只讨论几个扫描器辅助模块。

准备

要使用辅助模块,需要3个简单的步骤。

(1)激活模块:使用use命令将特定模块设置为等待执行命令的活跃状态。

(2)设置规范:使用set命令设置该模块执行所需要的不同参数。

(3)运行模块:完成前两个步骤之后,使用run命令最终执行该模块并生成相应结果。

要了解Metasploit框架中有哪些可用的扫描模块,可以浏览如下地址。

root@bt:~# cd /pentest/exploits/framework3/modules/auxiliary/scanner

使用辅助模块,需要启动msfconsole会话过程。

怎样实现

下面实际操作这些步骤,运行扫描辅助模块。

首先,在Metasploit框架中搜索一下有哪些可用的端口扫描模块。

msf > search portscan

Matching Modules

================

Name Disclosure Date Rank Description

---- ---------------- ---- ----------

auxiliary/scanner/portscan/ack normal TCP ACK Firewall Scanner

auxiliary/scanner/portscan/ftpbounce normal FTP Bounce Port Scanner

auxiliary/scanner/portscan/syn normal TCP SYN Port Scanner

auxiliary/scanner/portscan/tcp normal TCP Port Scanner

auxiliary/scanner/portscan/xmas normal TCP "XMas" Port Scanner

从上述结果中可以看到可用扫描器列表,包含了前面讨论过的基本扫描类型。下面先从简单的SYN scan开始。

怎样工作

下面我们将通过3个步骤使用该模块。

(1)通过下面的命令激活模块。

msf > use auxiliary/scanner/portscan/syn

msf auxiliary(syn) >

从结果可以看到,命令行提示符已经切换到要使用的模块之下,这也表示该模块现在已处于激活状态。

(2)接下来,使用 show options命令检测,该模块有哪些参数是必需的。

msf auxiliary(syn) > show options

Module options (auxiliary/scanner/portscan/syn):

Name Current Setting Required Description

---- --------------- -------- -----------

BATCHSIZE 256 yes number of hosts to scan per set

INTERFACE no The name of the interface

PORTS 1-10000 yes Ports to scan

RHOSTS yes target address range or CIDR

SNAPLEN 65535 yes The number of bytes to capture

THREADS 1 yes The number of concurrent threads

TIMEOUT 500 yes The reply read timeout in

milliseconds

结果的第一列列出了该模块所需的参数。Required列中的参数是需要传递给该模块的,其中标记为 yes 的参数必须包含实际的值。还可以看出,所有列都包含默认值。RHOSTS包含了待扫描的IP地址范围,需要将其设置为要扫描的目标IP地址。

msf auxiliary(syn) > set RHOSTS 192.168.56.1

RHOSTS => 192.168.56.1

现在,该模块已经做好对目标 IP进行SYN scan的准备。使用 set命令还可以修改其他值,比如,如果要修改端口范围,就可以使用下面的命令。

msf auxiliary(syn) > set PORTS 1-500

(3)最后运行该模块,执行其相应操作。

msf auxiliary(syn) > run

成功运行run命令后,该模块将执行具体的SYN扫描过程并产生相应结果。

更多

下一节中将介绍线程的使用。

线程管理

在辅助模块中设置和管理一定数量的线程,可以极大增强辅助模块的性能。在需要对整个网络或某个IP地址范围进行扫描时,可以提高线程数量,使得扫描过程更快。

msf auxiliary(syn) > set THREADS 10

2.6 使用辅助模块进行目标服务扫描

下面对某个IP地址范围内或某台单独目标主机上运行的特定服务进行针对性的扫描。有多种基于服务的扫描技术,例如VNC、FTP、SMB等。当需要在目标机器上寻找特定类型服务时,使用辅助模块会更加方便。

准备

下面查看有哪些可用的、基于服务的扫描辅助模块,可以通过下面的路径来查看。

root@bt:~# cd /pentest/exploits/framework3/modules/auxiliary/scanner

root@bt:/pentest/exploits/framework3/modules/auxiliary/scanner# ls

backdoor emc ip mysql pop3 sap ssh vnc

db2 finger lotus netbios portscan sip telephony

voice

dcerpc ftp misc nfs postgres smb telnet vxworks

dect http motorola ntp rogue smtp tftp x11

discovery imap mssql oracle rservices snmp upnp

从结果可以看到,存在大量的服务扫描模块选项,并在渗透测试时可用。

怎样实现

这些服务扫描模块的使用和其他模块都是类似的,遵循前面讲过的3个步骤。

首先尝试NetBIOS模块,扫描NetBIOS有助于识别Windows操作系统。在下面的示例中,扫描某个区域的网络,找出哪台机器正在运行NetBIOS。

msf > use auxiliary/scanner/netbios/nbname

msf auxiliary(nbname) > show options

Module options (auxiliary/scanner/netbios/nbname):

Name Current Setting Required Description

---- --------------- -------- -----------

BATCHSIZE 256 yes The number of hosts to probe

CHOST no The local client address

RHOSTS yes The target address range

RPORT 137 yes The target port

THREADS 1 yes The number of concurrent threads

msf auxiliary(nbname) > set RHOSTS 192.168.56.1/24

RHOSTS => 192.168.56.1/24

msf auxiliary(nbname) > set THREADS 10

THREADS => 10

将RHOSTS设置为扫描整个192.168.56.*地址段,线程数设置为10,接下来运行该模块并对结果进行分析。

msf auxiliary(nbname) > run

[*] Sending NetBIOS status requests to 192.168.56.0->192.168.56.255 (256hosts)

[*] 192.168.56.1 [DARKLORD-PC] OS:Windows Names:(DARKLORD-PC, WORKGROUP, __MSBROWSE__) Addresses:(192.168.56.1) Mac:08:00:27:00:a8:a3

[*] 192.168.56.103 [SP3] OS:Windows Names:(SP3, WORKGROUP)

Addresses:(10.0.2.15, 192.168.56.103) Mac:08:00:27:4b:65:35

[*] 192.168.56.102 [ABHINAV-5C02603] OS:Windows Names:(ABHINAV-5C02603, WORKGROUP) Addresses:(10.0.2.15, 192.168.56.102) Mac:08:00:27:34:a8:87

[*] Scanned 256 of 256 hosts (100% complete)

该网段中有3台机器正在使用NetBIOS,其各自的MAC地址也已找到。

下面进行另一种服务扫描,找出哪些机器正在运行MySQL数据库服务器,以及它们的具体版本。

msf > use auxiliary/scanner/mysql/mysql_version

msf auxiliary(mysql_version) > show options

Module options (auxiliary/scanner/mysql/mysql_version):

Name Current Setting Required Description

---- --------------- -------- -----------

RHOSTS yes The target address range

RPORT 3306 yes The target port

THREADS 1 yes The number of concurrent threads

msf auxiliary(mysql_version) > set RHOSTS 192.168.56.1/24

RHOSTS => 192.168.56.1/24

msf auxiliary(mysql_version) > set THREADS 10

THREADS => 10

msf auxiliary(mysql_version) > run

[*] 192.168.56.102:3306 is running MySQL, but responds with an error: \

x04Host '192.168.56.101' is not allowed to connect to this MySQL server

扫描结果显示,IP地址为192.168.56.102的目标机器正在运行MySQL,但遗憾的是,无法与该服务器建立连接。该示例再次展示了辅助模块的易用性和便利性,并且扫描结果提供了大量有用的信息。

这里建议尝试所有可用的辅助扫描器模块,这样有助于更好地理解目标机器。

怎样工作

辅助模块是为执行特定任务而构建的特殊用途模块。有时,只需要执行某种特定类型的扫描就可以发现服务。比如,MySQL 辅助模块通过探测默认端口(3306)检测 MySQL服务器,该模块还可以检测默认登录方式是否激活。使用者可以对/modules/auxiliary/ scanner.目录下的脚本进行分析,根据需要对其代码进行扩展,也可以重用脚本来构建自己的特定辅助扫描器。

2.7 使用Nessus进行漏洞扫描

前面我们学习了端口扫描的一些基本知识,并使用 Nmap 进行了一些实际操作。在其他几类工具中,也具备了端口扫描功能,使得扫描和信息收集过程得以进一步增强。接下来的内容中,将介绍这几种工具,使用这些工具可对目标进行扫描以发现可用服务和开放端口,进而判定某些特定服务和可用端口上存在的漏洞类型。

Nessus是使用最广泛的漏洞扫描器之一,该工具可对目标中是否存在某些漏洞进行扫描,并生成详细报告。在渗透测试中,Nessus是一个非常有用的工具。读者可使用GUI版本的Nessus,也可以在Metasploit控制台中使用。在本书的示例中,主要是在msfconsole中使用Nessus。

准备

要在msfconsole中使用Nessus,必须先加载Nessus,之后将其与服务器建立连接启动渗透测试过程。

首先,建立测试者的数据库与Metasploit之间的连接,以便存储中间结果。在Metasploit中启动和连接数据库的内容前面已经讲过。成功连接后,接下来的任务就是加载Nessus插件。

怎样实现

(1)要在Metasploit 中连接数据库并加载Nessus,可以执行如下命令。

msf > db_connect msf3:8b826ac0@127.0.0.1:7175/msf3

msf > load nessus

[*] Nessus Bridge for Nessus 4.2.x

[+] Type nessus_help for a command listing

[*] Successfully loaded plugin: nessus

(2)成功加载后,建立其与服务器之间的连接,使用如下命令。

msf > nessus_connect root:toor@localhost ok

[*] Connecting to https://127.0.0.1:8834/ as root

[*] Authenticated

在上述命令中,命令OK是额外的参数,用于确保Nessus服务器运行在可信网络中。

在Nessus中,可以使用nessus_user_list命令检查有哪些可用用户。

使用 nessus_user_add 命令可以添加新用户。要查看服务器上可用的策略,可以使用nessus_policy_list命令。

怎样工作

建立与服务器的连接之后,使用Nessus对目标机器进行扫描。扫描过程简单而迅速,下面对目标机器进行实际的扫描,以便了解Nessus的扫描过程,使用如下命令。

msf > nessus_scan_new 1 testscan 192.168.56.102

[*] Creating scan from policy number 1, called "testscan" and scanning

192.168.56.102

[*] Scan started. uid is 9d337e9b-82c7-89a1-a194-

4ef154b82f624de2444e6ad18a1f

扫描过程结束后,下一步就是导入Nessus生成的列表。首先检查有哪些可用列表。

msf > nessus_report_list

[+] Nessus Report List

ID Name Status

---- ------

9d337e9b-82c7-

89a1-a19-4ef154b82 testscan completed

f624de2444e6ad18a1f

ID列表示的是扫描过程生成的结果报告,导入这一报告。

msf > nessus_report_get 9d337e9b-82c7-89a1-a1944ef154b82f624de2444e6ad18

a1f

[*] importing 9d337e9b-82c7-89a1-a1944ef154b82f624de2444e6ad18a1f

报告导入后,就可以使用控制台命令对其进行操作,并对其进行分析以判断目标中有哪些弱点和漏洞,要查看目标中存在的漏洞,可以使用如下命令。

msf> hosts –c address, vuls, os_name

更多

下面快速了解怎样在GUI模式下使用Nessus工作。

在Web浏览器中使用Nessus

Nessus也可以使用GUI模式工作,在此种模式下与在控制台中一样强大而易用。如果是初次使用Nessus,需要先在Nessus网站注册并获取注册码,参见如下链接。

http://www.nessus.org/register/

注册完成后,启动Nessus并添加注册码,找到Applications | BackTrack | Vulnerability Assessment | Network Assessment | Vulnerability Scanner | nessus start,启动Nessus,此时会产生如下的错误消息。

Starting Nessus : .

Missing plugins. Attempting a plugin update...

Your installation is missing plugins. Please register and try again.

To register, please visit http://www.nessus.org/register/

这一错误是因为Nessus尚未注册。若要进行注册,需要使用通过电子邮件从Nessus获取的注册码,使用下面的命令可用于完成注册过程。

/opt/nessus/bin/nessus-fetch –register YOUR REGISTRATIN CODE

root@bt:~# /opt/nessus/bin/nessus-fetch --register E8A5-5367-982E-05CB-972A

Your activation code has been registered properly - thank you.

Now fetching the newest plugin set from plugins.nessus.org...

Your Nessus installation is now up-to-date.

If auto_update is set to 'yes' in nessusd.conf, Nessus will

update the plugins by itself.

现在启动浏览器并输入下面的地址。

https://localhost:8834

如果是初次在浏览器中启动Nessus,可能需要一些时间,请耐心等候。

2.8 使用NeXpose进行扫描

在上节中介绍了作为漏洞扫描器的 Nessus ,本节将介绍另一个重要的漏洞扫描器NeXpose。

NeXpose是Rapid7提供的一款非常流行的工具,可用于执行漏洞扫描功能并将扫描结果导入到Metasploit数据库中。NeXpose的使用和前面刚讲过的Nessus类似,下面快速介绍NeXpose的启动和使用,更进一步的使用留给读者您去探索。

准备

要从msf控制台中启动NeXpose,需要首先建立数据库到Metasploi的连接,之后加载插件建立与NeXpose服务器之间的连接,然后再启动对目标机器的扫描过程,下面在命令行中执行这些操作。

msf > db_connect msf3:8b826ac0@127.0.0.1:7175/msf3

msf > load nexpose

msf > nexpose_connect darklord:toor@localhost ok

[*] Connecting to NeXpose instance at 127.0.0.1:3780 with username

darklord...

怎样实现

连接到服务器后,可以扫描目标机器并生成报告。NeXpose 支持两条扫描命令,一条是nexpose_scan,另一条是nexpose_discover。前者可以扫描某个IP地址段并导入结果,后者则只负责发现其上运行的主机和服务。下面使用NeXpose对目标进行快速扫描。

msf > nexpose_discover 192.168.56.102

[*] Scanning 1 addresses with template aggressive-discovery in sets of 32

[*] Completed the scan of 1 addresses

怎样工作

扫描完成后,可以使用msf控制台中默认的数据库命令查看结果。

首先看一下NeXpose生成了哪些结果。

msf > hosts -c address,os_name,os_flavor

Hosts

=====

address os_name os_flavor

------- ------- ---------

192.168.56.102 Microsoft Windows XP

msf >

更多

收集到目标信息后,最后是导入结果,我们看一下怎样实现。

导入扫描结果

如果在msfconsole中使用过Nessus和NeXpose,可以跳过这些信息。

在使用Nessus或NeXpose的GUI版本时,需要手工将扫描结果导入到数据库。之所以反复讲到导入和存储扫描结果,是因为下一章将介绍如何使用 autopwn 命令对数据库中的主机自动化运行漏洞利用代码。要导入扫描结果,可以以 db_import filename 的格式使用db_import命令,如下面的具体示例。

msf > db_import nexposelist.xml

[*] Importing 'Nexpose XML (v2)' data

[*] Importing host 192.168.56.102

[*] Successfully imported /root/nexposelist.xml

2.9 使用Dradis框架共享扫描信息

在前面几节中,我们学习了获取目标相关信息的几种技术。实际执行渗透测试任务时,需要和其他场所的渗透测试人员共享一些信息,这种情况下,使用 Dradis 框架可以让渗透测试信息共享变得更加容易。Dradis是安全评估中用于信息共享的开源框架,该框架具备的一些功能特性使其成为优秀的信息共享工具,其中包括如下内容。

SSL通信支持。

文件与提示附件。

从Nessus、NeXpose等工具中导入扫描结果。

可以扩展并与漏洞数据库等外部系统连接。

尽管无助于获取目标的任何信息,但对所有安全专业人员而言,Dradis在共享渗透测试结果方面很重要。

准备

若要在BackTrack中启动Dradis框架,必须在终端中执行如下命令。

root@bt:~# cd /pentest/misc/dradis

root@bt:/pentest/misc/dradis# ./start.sh

命令成功执行后,可以通过如下地址在浏览器中启动Dradis框架。

https://127.0.0.1:3004

之后将提示建立Dradis框架中的口令和账号。

figure_0057_0011

怎样实现

下面开始体验 Dradis 框架。利用该框架,可以为域和子域地址建立类树结构,从而使得目标网络结构更加清晰,有助于以更合理的逻辑结构存储信息。该框架还提供了一些功能,可以以系统化的方式生成目标网络相关信息的完整报告。

figure_0058_0012

Dradis框架提供了 5个重要选项,即 add branch、import from fle、export、add note及note categories。

成功登录后,会出现类似上图的页面,在页面的左上角可以看到这些选项。下面介绍这些选项可以实现哪些功能。

怎样工作

从创建新报告开始,这一过程很简单,首先添加主机和子主机。

使用 add branch选项,可以添加新 IP地址或域名。添加顶级域名后,可以进一步地添加其子域名,接下来为其添加注释信息。

add note选项可用于添加从不同扫描结果中收集的信息。例如,可以添加来自Nmap、Nessus等漏洞扫描器的扫描结果。

note categories选项用于选择获取信息的媒介,包括 Brup scan、Nessus scan、NeXpose、Nmap等,可根据实际情况选择用于生成扫描结果的选项。

下图所示为使用Nmap对 192.168.56.1/24 IP地址段扫描的信息,左侧的树结构包括可用的目标,右侧的则是关于相应目标的报告。

Dradis框架的另一个功能是导入已有的报告或导出已创建的报告。

figure_0059_0013

Import from file选项为从不同扫描器导入以前的扫描结果提供了便利,也进一步提高了框架的能力。因此不同的测试人员可以将多样化的扫描结果导入到框架中,并将其整合成为一个综合性的报告。

专业的渗透测试人员可以利用 export option选项生成关于域和子域的完整报告,导出报告可以是XML格式或HTML格式,也可以以项目或自定义模板的形式导出。

 

 
posted on 2020-09-23 12:03  aurgelmir  阅读(284)  评论(0)    收藏  举报