2024年6月10日发(作者:)

第3章 带球——漏洞利用

带球的概念就是突破、利用对方的破绽。扫描器会发现很多不同类型的漏洞,这里仅介

绍其中两种常见的漏洞利用方式。毕竟多数读者已经有了利用漏洞的上手经验,所以在

介绍漏洞利用的时候,本章仅会大致介绍有关思路,而不会详细阐述每种类型漏洞的利

用方法。

无论您采用的是

Nexpose

程序、

Nessus

程序,还是其他名字的漏洞扫描程序,都不影响漏

洞利用阶段的工作。在确定目标的漏洞之后,我会利用现成的

exploit

程序利用那些漏洞。

如果要专门搜索漏洞,请参考

2.3

节中的相关内容,它会介绍使用扫描器发现

exploit

的具

体方法。本章简要讲解

Metasploit

的使用方法,旨在突出利用脚本攻击漏洞的重要性。

3.1 Metasploit(Windows/Kali Linux)(www.

Metasploit

框架可用于开发

exploit

、我们最常使用的漏洞利用工具就是

Metasploit

了。利用

漏洞以及实现辅助攻击。最重要的是,它是以研发的理念进行开发的。无论是要开发独

创的模块,还是要用自带的模块攻击目标,

Metasploit

平台都可以实现。使用人员并不需

要具备丰富的

Ruby

知识,他们只要掌握基本的脚本技巧就能轻松使用整个平台。本书不

再花费过多的篇幅介绍

Metasploit

的特点。百闻不如一见,我们通过范例来介绍它吧。

5

3.1.1 配置Metasploit进行远程攻击的基本步骤



选择要使用的攻击利用代码或者模块。

5

/metasploit-unleashed/Building_A_Module

39

黑客秘笈—渗透测试实用指南



设置该模块的参数。

set

命令可配置模块的输入变量。

设置目标主机和端口。

设置本地主机和端口。

如果有确凿的信息,可设置系统版本、用户账号及其他信息。

运行

show options

命令查看需要设置的其他选项。



配置有效负载(

payload

)。

负载(

payload

)是在利用漏洞之后运行的实施具体操纵行为的程序。

/metasploit-

有关负载类型的详细介绍,请参见:

unleashed/Payload_Types

运行

show payloads

命令可查看

payload

的全部类型。

使用

set payloads

命令可设置要使用的负载。



设置编码器(

Encoder

)。

编码器是

Metasploit

隐匿攻击程序特征的一种基本的方法。遗憾的是,即使采

用了编码技术,

payload

仍然经常被反病毒软件拦截。所以,在渗透测试中这个

功能并不是很可靠。在本书的后续章节里,我们会继续讨论规避反病毒软件的

其他手段。

运行

show encoders

命令可以查看封装负载的各种编码器,使用

set encoders

令可对

payload

进行实际的封装。



设置其他的选项。



exploit

命令可启动事先指定好也配置好的攻击程序。

虽然我通常使用

Metasploit

CLI

(命令行界面),但是我也记不住各种类型的所有命令。

有关指令行界面的各种指令,可参考它的速查手册:

/

huntereight/cheat-sheets/metasploit-4-5-0-dev-15713/

您还可以使用

help

命令查看各种帮助。

40