查看原文
其他

Kali Linux 渗透测试:漏洞利用

计算机与网络安全 计算机与网络安全 2022-06-01

一次性付费进群,长期免费索取教程,没有付费教程。

教程列表见微信公众号底部菜单

进微信群回复公众号:微信群;QQ群:460500587



微信公众号:计算机与网络安全

ID:Computer-network

漏洞利用是获得系统控制权限的重要途径。从目标系统中找到容易攻击的漏洞,然后利用该漏洞获取权限,从而实现对目标系统的控制。为了便于练习,这里介绍Metasploit发布的Metasploitable。可以将其作为练习用的Linux操作系统。本文利用Metasploitable系统上存在的漏洞,介绍各种渗透攻击,如MySQL数据库、PostgreSQL数据库及Tomcat服务等。


一、Metasploitable操作系统


Metasploitable 是一款基于 Ubuntu Linux操作系统。该系统是一个虚拟机文件,下载解压之后可以直接使用,无需安装。由于基于Ubuntu,所以 Metasploitable 使用起来十分得心应手。Metasploitable就是用来作为攻击用的靶机,所以它存在大量未打补丁漏洞,并且开放了无数高危端口。


安装Metasploitable的具体操作步骤如下所示。


(1)下载Metasploitables。


(2)将下载的文件解压到本地磁盘。


(3)打开 VMwareWorkstation,并依次选择“文件”—“打开”命令,将显示如图1所示的界面。

图1  选择Metasploitable启动

(4)在该界面选择Metasploitable.vmx,然后单击“打开”按钮,将显示如图2所示的界面。

图2  安装的Metasploitable系统

(5)在该界面单击“开启此虚拟机”按钮或按钮,启动Metasploitable系统。


二、Metasploit基础


Metasploit 是一款开源的安全漏洞检测工具。它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报。当用户第一次接触 Metasploit 渗透测试框架软件(MSF)时,可能会被它提供如此多的接口、选项、变量和模块所震撼,而感觉无所适从。Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面等。下面介绍Metasploit下各种接口的使用方法。


1、Metasploit的图形管理工具Armitage


Armitage 组件是 Metasploit 框架中一个完全交互式的图形化用户接口,由 Raphael Mudge所开发。Armitage工具包含Metasploit控制台,通过使用其标签特性,用户可以看到多个Metasploit控制台或多个Meterpreter会话。


使用Armitage工具。具体操作步骤如下所示。


(1)启动Metasploit服务。在使用Armitage工具前,必须将Metasploit服务启动。否则,无法运行Armitage工具。因为Armitage需要连接到Metasploit服务,才可以启动。在Kali桌面依次选择“应用程序”—Kali Linux—“系统服务”—Metasploit—community/pro start命令启动Metasploit服务,将输出如下所示的信息:

从输出的信息中可以看到PostgreSQL数据库服务已启动,并创建了数据库用户和数据库


(2)启动Armitage工具。在Kali桌面依次选择“应用程序”—Kali Linux—“漏洞利用工具集”—“网络漏洞利用”—armitage命令,如图3所示。或者在终端运行armitage命令启动Armitage工具,如下所示:

图3  启动armitage界面

(3)启动armitage工具后,将显示如图4所示的界面。

图4  连接Metasploit界面

(4)在该界面显示了连接Metasploit服务的基本信息。在该界面单击Connect按钮,将显示如图5所示的界面。

图5  启动Metasploit

(5)该界面提示是否要启动 Metasploit 的 RPC 服务。单击“是(Y)”按钮,将显示如图6所示的界面。

图6  连接Metasploit界面

(6)该界面显示了连接 Metasploit 的一个进度。当成功连接到 Metasploit 服务的话,将显示如图7所示的界面。

图7  Armitage初始界面

(7)该界面共有三个部分,这里把它们分别标记为A、B和C。下面分别介绍这三部分。


● A:这部分显示的是预配置模块。用户可以在模块列表中使用空格键搜索提供的模块。

● B:这部分显示活跃的目标系统,用户能执行利用漏洞攻击。

● C:这部分显示多个Metasploit标签。这样,就可以运行多个Meterpreter命令或控制台会话,并且同时显示。


演示使用Armitage工具做渗透测试。具体操作步骤如下所示。


(1)启动Armitage工具,界面如图7所示。从该界面可以看到默认没有扫描到任何主机。这里通过扫描,找到本网络中的所有主机。


(2)在Armitage工具的菜单栏中依次选择Hosts—Nmap Scan—Quick Scan命令,将显示如图8所示的界面。

图8  输入扫描范围

(3)在该界面输入要扫描的网络范围,这里输入的网络范围是192.168.41.0/24。然后单击“确定”按钮,将开始扫描。扫描完成后,将显示如图9所示的界面。

图9  扫描结果

(4)从该界面可以看到,弹出了一个扫描完成对话框,此时单击“确定”按钮即可。并且在目标系统的窗口中,显示了三台主机。这三台主机就是扫描到的主机。从扫描完成的对话框中可以看到提示建议选择Attacks—Find Attacks命令,将可以渗透攻击目标系统。


(5)在菜单栏中依次选择Attacks—Find Attacks命令,运行完后将显示如图10所示的界面。

图10  消息

(6)从该界面可以看到攻击分析完成,并且右击扫描到的主机将会看到有一个Attack菜单,如图11所示。

图11  Attack菜单

(7)从该界面可以看到在目标主机的菜单中出现了Attack选项,在该菜单中共有五个选项。在没有运行Find Attacks命令前,只要Services、Scan和Host三个选项。这里扫描到的主机屏幕都是黑色,这是因为还没有识别出操作系统的类型。此时可以在菜单栏中依次选择Hosts—Nmap Scan—Quick Scan(OS detect)命令,扫描操作系统类型。扫描完成后,将显示操作系统的默认图标。


(8)扫描操作系统。扫描完成后,将显示如图12所示的界面。

图12  扫描的操作系统

(9)从该界面可以看到扫描到的目标主机,屏幕发生了变化。此时就可以选择目标,进行渗透攻击。


(10)此时,可以在预配置模块窗口选择模块渗透攻击目标系统,如选择渗透攻击浏览器模块。在预配置模块中依次选择exploit—windows—browser—adobe_cooltype_sing模块,双击adobe_cooltype_sing模块,将显示如图13所示的界面。

图13  模块配置选项

(11)该界面显示了 adobe_cooltype_sing 模块的默认配置选项信息。这些选项的默认值,可以通过双击默认值修改。设置完成后,单击Launch按钮,在Armitage窗口将显示如图14所示的界面。

图14  渗透攻击结果

(12)从该界面可以看到,使用 adobe_cooltype_sing 模块渗透攻击的过程。从最后的信息中可以看到,渗透攻击成功运行。以后某台主机访问 http://192.168.41.235:8080/JEdB2oma7AEGV7G链接时,将会在目标主机上创建一个名为JEdB2oma7AEGV7G的PDF文件。只要有目标主机访问该链接,Armitage控制台会话中将会显示访问的主机,如图15所示。

图15  攻击信息

(13)从该界面可以看到主机192.168.41.146,访问了 http://192.168.41.235:8080/JEdB2oma7AEGV7G链接。并且,可以看到在主机192.168.41.146上创建了PDF文件。


2、控制Metasploit终端(MSFCONSOLE)


MSF 终端(MSFCONSOLE)是目前 Metasploit 框架较为流行的用户接口,而且也是非常灵活的。因为MSF终端是Metasploit框架中最灵活、功能最丰富及支持最好的工具之一。MSFCONSOLE 主要用于管理 Metasploit 数据库,管理会话、配置并启动 Metasploit模块。本质上来说,就是为了利用漏洞,MSFCONSOLE 将获取用户连接到主机的信息,以至于用户能启动渗透攻击目标系统。


当使用Metasploit控制台时,用户将使用一些通用的命令,如下所示。


● help:该命令允许用户查看执行命令的帮助信息。

● use module:该命令允许用户加载选择的模块。

● set optionname module:该命令允许用户为模块设置不同的选项。

● run:该命令用来启动一个非渗透攻击模块。

● search module:该命令允许用户搜索一个特定的模块。

● exit:该命令允许用户退出MSFCONSOLE。


MSFCONSOLE漏洞利用的具体操作步骤如下所示。


(1)在终端启动MSFCONSOLE,执行命令如下所示:

执行以上命令后,输出信息如下所示:

输出的信息出现msf>提示符,表示登录MSFCONSOLE成功。此时就可以在该命令行运行其他任何命令。


(2)使用search命令搜索所有有效的Linux模块。对于模块用户每次想要执行一个动作,这是一个很好的主意。主要原因是Metasploit各种版本之间,模块的路径可能有改变。执行命令如下所示:

执行以上命令后,输出信息如下所示:

输出的信息就是Metasploit中所有有效的模块。输出的信息显示为4列,分别表示模块名称、公开时间、等级及描述。以上输出的内容较多,但是由于篇幅的原因,这里只列出了一少部分内容,省略的内容使用省略号(......)代替。


(3)使用John Ripper linux密码破解模块。执行命令如下所示:

输出的信息表示已加载jtr_linux模块。


(4)查看模块的有效选项。执行命令如下所示:

从输出结果中可以看到 jtr_linux 模块有5个有效的选项,如 Crypt、JOHN_BASE、JOHE_PATH、Munge和Wordlist。在输出的信息中,对这5个选项分别有详细的描述。


(5)现在用户有一个选项的列表,这些选项为运行jtr_linux模块。用户能设置独特的选项,使用set命令。设置JOHN_PATH选项,如下所示:

(6)现在运行渗透攻击,执行命令如下所示:


3、控制Metasploit命令行接口(MSFCLI)


下面介绍Metasploit命令行接口(MSFCLI)。为了完成Metasploit的攻击任务,需要使用一个接口。MSFCLI刚好实现这个功能。为了学习Metasploit或测试/写一个新的渗透攻击,MSFCLI是一个很好的接口。


MSF命令行和MSF终端为Metasploit框架访问提供了两种截然不同的途径,MSF终端以一种用户友好的模式来提供交互方式,用于访问软件所有的功能特性,而MSFCLI则主要考虑脚本处理和与其他命令行工具的互操作性。MSFCLI常用的命令如下所示。


● msfcli:加载所有有效渗透攻击MSFCLI的列表。

● msfcli -h:查看MSFCLI帮助文档。

● msfcli [PATH TO EXPLOIT] [options = value]:启动渗透攻击的语法。


MSF命令行MSFCLI的使用如下所示。


(1)启动MSF命令行(MSFCLI)。启动的过程需要一点时间,请耐心等待,这取决于系统的速度。还要注意,随着MSFCLI负载,可利用的有效列表将显示出来。执行命令如下所示:

(2)查看MSFCLI帮助文档。执行命令如下所示:

以上输出的信息显示了msfcli命令的帮助文档。通过查看这些帮助文档,可以了解一个模块的使用说明和使用模式列表。


(3)为了证明前面所说的帮助文档信息。这里将选择A选项,显示模块的高级选项。执行命令如下所示:

以上信息显示了xmas模块的高级选项。输出信息中对每个选项都有3部分介绍,包括名称、当前设置及描述信息。


(4)此外,可以使用S模式列出当前模块的一个摘要信息。这个摘要模式是查看所有有效选项的一个很好的方法。大部分选项是可选的。但是为了使用户设置目标系统或端口,通常有些选项是必须的。启动摘要模式渗透攻击,执行命令如下所示:

以上信息为xmas模块的摘要信息。这些信息包括xmas模块的名称、位置、许可证、级别、提供商、基本选项及描述等。


(5)为显示渗透攻击有效的选项列表,可以使用O模式。该模式是用来配置渗透攻击模块的,每个渗透攻击模块有一套不同的设置选项,也可能没有。所有必须的选项必须是渗透攻击允许执行之前设置。从下面的输出信息中,可以看到许多必须的选项默认已设置。如果是这样,就不需要更新这些选项值了,除非用户想要修改它。执行命令如下所示:

输出的信息显示了xmas模块需要的配置选项,如BATCHSIZE、PORTS、RHOSTS、SNAPLEN、THREADS和TIMEOUT。


(6)用户可以使用E模式运行渗透攻击测试。执行命令如下所示:

使用MSFCLI演示渗透攻击,这里以ms08_067_netapi模块为例。具体操作步骤如下所示。


(1)查看ms08_067_netapi模块的配置参数选项。执行命令如下所示:

从输出的信息中可以看到该模块有三个配置选项,分别是 RHOST、RPORT 和SMBPIPE。


(2)查看ms08_067_netapi模块中可用的攻击载荷。执行命令如下所示:

输出的信息显示了 ms08_067_netapi 模块可用的攻击载荷。该模块可以攻击的载荷很多,由于篇幅的原因,中间部分使用省略号(......)取代了。


(3)这里选择使用shell_bind/tcp攻击载荷进行渗透测试。如下所示:

从输出的信息中,可以看到成功的从远程系统上拿到了一个Windows命令行的Shell。这表示渗透攻击成功。


三、控制Meterpreter


Meterpreter是Metasploit框架中的一个杀手锏,通常作为利用漏洞后的攻击载荷所使用,攻击载荷在触发漏洞后能够返回给用户一个控制通道。当使用Armitage、MSFCLI或MSFCONSOLE 获取到目标系统上的一个 Meterpreter 连接时,用户必须使用 Meterpreter传递攻击载荷。MSFCONSOLE用于管理用户的会话,而Meterpreter则是攻击载荷和渗透攻击交互。

Meterpreter包括的一些常见命令如下所示。


● help:查看帮助信息。

● background:允许用户在后台Meterpreter会话。

● download:允许用户从入侵主机上下载文件。

● upload:允许用户上传文件到入侵主机。

● execute:允许用户在入侵主机上执行命令。

● shell:允许用户在入侵主机上(仅是Windows主机)运行Windows shell命令。

● session -i:允许用户切换会话。


通过打开MSFCONSOLE实现控制。具体操作步骤如下所示。


(1)在MSFCONSOLE上启动一个活跃的会话。


(2)通过利用系统的用户启动登录键盘输入。执行命令如下所示:

从输出的信息中可以看到键盘输入嗅探已启动。


(3)捕获漏洞系统用户的键盘输入。执行命令如下所示:

以上输出的信息表示在漏洞系统中用户输入了www.baidu.com, aaaa及回车键、退出键。


(4)停止捕获漏洞系统用户的键盘输入。执行命令如下所示:

从输出的信息中可以看到键盘输入嗅探已停止。


(5)删除漏洞系统上的一个文件。执行命令如下所示:

(6)清除漏洞系统上的事件日志。执行命令如下所示:

(7)查看正在运行的进程列表。执行命令如下所示:

输出的信息显示了漏洞系统中正在运行的所有进程,包括进程的 ID 号、进程名、系统架构、用户及运行程序的路径等。


(8)使用kill杀死漏洞系统中指定的进程号。执行命令如下所示:

(9)尝试从漏洞系统窃取一个假冒令牌。执行命令如下所示:

使用不同的模块,Meterpreter中的命令是不同的。有些模块中,可能不存在以上命令。


四、渗透攻击应用


前面依次介绍了Armitage、MSFCONSOLE和MSFCLI接口的概念及使用。下面介绍使用MSFCONSOLE工具渗透攻击MySQL数据库服务、PostgreSQL数据库服务、Tomcat服务和PDF文件等。


1、渗透攻击MySQL数据库服务


MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。在Metasploitable系统中,MySQL的身份认证存在漏洞。该漏洞有可能会让潜在的攻击者不必提供正确的身份证书便可访问 MySQL 数据库。所以,用户可以利用该漏洞,对MySQL服务进行渗透攻击。恰好Metasploit框架提供了一套针对MySQL数据库的辅助模块,可以帮助用户更有效的进行渗透测试。下面介绍使用 MetasploitMySQL 扫描模块渗透攻击MySQL数据库服务。渗透攻击Metasploitable系统中MySQL数据库服务的具体操作步骤如下所示。


(1)启动MSFCONSOLE。执行命令如下所示:

(2)扫描所有有效的MySQL模块。执行命令如下所示:

输出的信息显示了 MySQL 上可用的模块。从这些模块中,选择渗透攻击的模块进行攻击。


(3)这里使用MySQL扫描模块。执行命令如下所示:

(4)显示模块的有效选项。执行命令如下所示:

以上的信息显示了在 mysql_login 模块下可设置的选项。从输出的结果中可以看到显示了四列信息,分别是选项名称、当前设置、需求及描述。其中Required为yes的选项是必须配置的,反之可以不用配置。对于选项的作用,Description都有相应的介绍。


(5)为渗透攻击指定目标系统、用户文件和密码文件的位置。执行命令如下所示:

以上信息设置了目标系统的地址,用户文件和密码文件的路径。


(6)启动渗透攻击。执行命令如下所示:

输出的信息是渗透攻击的一个过程,尝试使用指定的用户名/密码文件中的用户名和密码连接MySQL服务器。在渗透攻击过程中,Metasploit会尝试输入用户名和密码文件包含的用户名和密码组合。从输出的信息中可以看到,已测试出 MySQL 数据库服务器的用户名和密码分别是root和password。


2、渗透攻击PostgreSQL数据库服务


PostgreSQL是一个自由的对象——关系数据库服务(数据库管理系统)。它在灵活的BSD-风格许可证下发行。当第一次启动msfconsole时,Kali中的Metasploit会创建名称为msf3的 PostgreSQL 数据库,并生成保存渗透测试数据所需的数据表。然后,使用名称为msf3的用户,自动连接到msf3数据库。所以,攻击者可以利用这样的漏洞自动的连接到PostgreSQL 数据库。下面介绍使用 Metasploit 的 PostgreSQL 扫描模块渗透攻击PostgreSQL数据库服务。渗透攻击PostgreSQL数据库服务的具体操作步骤如下所示。


(1)启动MSFCONSOLE。执行命令如下所示:

(2)搜索所有有效的PostgreSQL模块。执行命令如下所示:

以上信息显示了PostgreSQL所有相关的模块。此时可以选择相应的模块进行攻击。


(3)使用PostgreSQL扫描模块。执行命令如下所示:

(4)查看PostgreSQL模块的所有选项。执行命令如下所示:

以上信息显示了postgres_login模块中可配置的选项。根据用户的攻击情况,选择相应选项进行配置。


(5)使用RHOST选项设置目标系统(本例中为Metasploitable)。执行命令如下所示:

(6)指定用户名文件。执行命令如下所示:

(7)指定密码文件。执行命令如下所示:

(8)运行渗透攻击。执行命令如下所示:

以上输出的信息是PostgreSQL渗透攻击的一个过程。测试到PostgreSQL数据库服务的用户名和密码分别是Postgres和Postgres。


3、渗透攻击Tomcat服务


Tomcat服务器是一个免费的开放源代码的Web应用服务器。它可以运行在LinuxWindows等多个平台上。由于其性能稳定、扩展性好和免费等特点深受广大用户的喜爱。目前,互联网上绝大多数Java Web等应用都运行在Tomcat服务器上。Tomcat默认存在一个管理后台,默认的管理地址是http://IP或域名:端口/manager/html。通过此后台,可以在不重启Tomcat服务的情况下方便地部署、启动、停止或卸载Web应用。但是如果配置不当的话就存在很大的安全隐患。攻击者利用这个漏洞,可以非常快速、轻松地入侵一台服务器。下面介绍渗透攻击Tomcat服务的方法。渗透攻击Tomcat服务的具体操作步骤如下所示。


(1)启动MSFCONSOLE。执行命令如下所示:

(2)搜索所有有效的Tomcat模块。执行命令如下所示:

以上输出的信息显示了 Tomcat 服务的可用模块。现在可以选择易攻击的模块,进行渗透攻击。


(3)使用Tomcat管理登录模块进行渗透攻击。执行命令如下所示:

(4)查看tomcat_mgr_login模块的有效选项。执行命令如下所示:

以上输出的信息显示了tomcat_mgr_login模块中有效的选项。此时可以选择相应的模块,进行配置。


(5)设置Pass_File选项。执行命令如下所示:

以上输出的信息显示了指定密码文件的绝对路径。


(6)设置User_File选项。执行命令如下所示:

以上输出的信息显示了指定用户名文件的决定路径。


(7)使用RHOSTS选项设置目标系统(本例使用的是Metasploitable)。执行命令如下所示:

输出的信息表示指定攻击的目标系统地址为192.168.41.142。


(8)设置RPORT选项为8180。执行命令如下所示:

以上信息设置了攻击目标系统的端口号为8180。


(9)运行渗透攻击。执行命令如下所示:

以上输出信息显示了攻击 Tomcat 服务的一个过程。从输出的结果中可以看到登录Tomcat服务的用户名和密码都为tomcat。


4、渗透攻击Telnet服务


Telnet服务是一种“客户端/服务器”架构,在整个Telnet运行的流程架构中一定包括两个组件,分别是Telnet服务器和Telnet客户端。由于Telnet是使用明文的方式传输数据的,所以并不安全。这里就可以使用Metasploit中的一个模块,可以破解出Telnet服务的用户名和密码。下面介绍渗透攻击Telnet服务。


(1)启动MSF终端。执行命令如下所示:

(2)使用telnet_version模块,并查看可配置的选项参数。执行命令如下所示:

从输出的信息中,可以看到有四个必须配置选项。其中三个选项已经配置,现在配置RHOSTS选项。


(3)配置RHOSTS选项,并启动扫描。执行命令如下所示:

从以上输出的信息,仅看到一堆文本信息。但是在这些信息中可以看到,显示了Telnet的登录认证信息Login with msfadmin/msfadmin to get started。从这条信息中,可以得知目标主机Telnet服务的用户名和密码都为msfadmin。此时可以尝试登录。


(4)登录目标主机的Telnet服务。执行命令如下所示:

以 上 信 息 显 示 了 登 录 Telnet 服 务 的 信 息。在 输 出 信 息 中 看 到msfadmin@metasploitable:~$提示符,则表示成功登录了Telnet服务。此时可以执行一些标准的Linux命令。例如,查看多个组的成员,执行命令如下所示:

输出信息中显示了msfadmin用户的相关信息。其中,gid表示groups中第1个组账号为该用户的基本组,groups中的其他组账号为该用户的附加组。


5、渗透攻击Samba服务


Samba是一套实现SMB(Server Messages Block)协议、跨平台进行文件共享和打印共享服务的程序。Samba服务对应的端口有139和445等,只要开启这些端口后,主机就可能存在Samba服务远程溢出漏洞。下面介绍渗透攻击Samba服务器


(1)启动MSF终端。执行命令如下所示:

(2)使用smb_version模块,并查看该模块可配置的选项参数。执行命令如下所示:

(3)配置RHOSTS选项。执行命令如下所示:

(4)启动扫描。执行命令如下所示:

从输出的信息中,可以看到扫描到正在运行的Samba服务器及其版本。


Metasploit 中使用 smb_version 模块,还可以指定扫描某个网络内所有运行 Samba服务器的主机。下面介绍扫描192.168.6.0/24网络内开启Samba服务器的所有主机。


(1)选择使用smb_version模块。执行命令如下所示:

(2)配置smb_version模块中可配置的选项参数。执行命令如下所示:

(3)启动扫描。执行命令如下所示:

从输出的信息中,可以看到192.168.6.0/24网络内有四台主机上正在运行着Samba服务器。在显示的信息中,可以看到运行Samba服务器操作系统类型。扫描到开启Samba服务器的主机后,就可以进行渗透攻击了。


6、PDF文件攻击

PDF是一种文件格式,该文件的使用比较广泛,并且容易传输。通常在工作中,用户都是从工作程序中打开了一个合法的PDF文档。当打开该文档时,该用户的主机就有可能被攻击。Metasploit 提供了一个渗透攻击模块,可以来创建一个攻击载荷,通过传递该攻击载荷对目标系统进行渗透攻击。下面介绍创建PDF文件攻击载荷。


创建PDF文件的具体操作步骤如下所示。


(1)启动MSFCONSOLE。执行命令如下所示:

(2)搜索所有有效的PDF模块。执行命令如下所示:

以上输出信息显示了PDF所有可用的模块。此时可以选择相应模块进行配置,配置后方便进行攻击。


(3)使用Adobe PDF Embedded EXE模块。执行命令如下所示:

(4)查看adobe_pdf_embedded_exe模块有效的选项。执行命令如下所示:

以上信息显示了adobe_pdf_embedded_exe模块所有可用的选项。此时配置必须的选项,然后进行渗透攻击。


(5)设置用户想要生成的PDF文件名。执行命令如下所示:

(6)设置INFILENAME选项。为了利用,使用该选项指定用户访问的PDF文件位置。执行命令如下所示:

(7)运行exploit。执行命令如下所示:

输出的信息显示了evildocument.pdf文件已经生成,而且被保存到/root/.msf4/local目录中。


7、使用browser_autopwn模块渗透攻击浏览器


Browser Autopwn是由Metasploit提供的一个辅助模块。当访问一个Web页面时,它允许用户自动地攻击一个入侵主机。Browser Autopwn 在攻击之前,会先进行指纹信息操作,这意味着它不会攻击Mozilla Firefox浏览器,而只会攻击系统自带的Internet Explorer浏览器。


加载browser_autopwn模块的具体操作步骤如下所示。


(1)启动MSFCONSOLE。执行命令如下所示:

(2)查询autopwn模块。

输出的信息显示了有一个autopwn模块。


(3)使用browser_autopwn模块。执行命令如下所示:

执行以上命令后,没有任何信息输出。


(4)设置payload。执行命令如下所示:

(5)查看payload的选项。执行命令如下所示:

输出的信息显示了payload模块的选项。此时就可以选择需要设置的选项进行配置。


(6)配置LHOST选项。执行命令如下所示:

以上输出的信息表示指定本地主机使用的IP地址是192.168.41.234。


(7)配置URIPATH选项。执行命令如下所示:

(8)启用渗透攻击。执行命令如下所示:

以上输出信息是一个漏洞攻击过程。此过程中输出的内容较多,由于篇幅的原因,中间部分内容使用省略号(......)取代了。从输出的过程中看到客户端192.168.41.146访问了192.168.41.234主机,并成功建立了一个活跃的会话。该会话是由客户端访问后产生的。当渗透测试启动后,在客户端的IE浏览器中输入http://IP Address:8080/filetypes访问主机,将产生活跃的会话。


(9)从第(8)步的输出结果中可以看到,成功建立的会话ID为1。为了激活此会话,执行命令如下所示:

从输出的结果中可以看到,启动了交互会话1进入到了Meterpreter命令行。


(10)查看能运行的Meterpreter命令列表。执行命令如下所示:

输出的信息显示了Meterpreter命令行下可运行的所有命令。输出的信息中,每个命令的作用都有详细的描述。用户可以根据自己的情况,执行相应的命令。


(11)启动键盘输入,执行命令如下所示:

(12)获取键盘输入信息,执行命令如下所示:

输出的信息显示了客户端在浏览器中输入的所有信息。如访问了 mail.qq.com 网站,登录的邮箱地址为1234567891,密码为123456。


8、在Metasploit中捕获包


Metasploit 中,通过使用模块进行渗透攻击可以获取到一个 Meterpreter Shell。在Meterpreter Shell中,可以捕获目标系统中的数据包。下面介绍如何在Metasploit中捕获数据包。


(1)首先要确定获取到一个活跃的会话,并有一个连接到目标主机的Meterpreter Shell。下面是Windows 7连接到攻击主机的一个Meterpreter Shell,如下所示:

从输出的信息中,可以看到成功的打开了一个Meterpreter会话。接下来,就可以使用run packetrecorder命令捕获目标系统的数据包了。


(2)查看packetrecorder命令的参数。执行命令如下所示:

以上输出的信息显示run packetrecorder命令的作用和可用选项参数。在捕获数据前,首先要指定捕获接口。所以,需要查看主机中可用的捕获接口。


(3)查看可用的捕获网络接口。执行命令如下所示:

从输出的信息中,可以看到只有一个网络接口。


(4)指定捕获接口开始捕获数据,并将捕获的文件保存到桌面上。执行命令如下所示:

执行以上命令后,将开始捕获目标主机的数据。捕获的文件将会保存到指定位置的一个logs目录中。以上捕获过程不会自动停止,如果要停止,则按下Ctrl+C组合键。


Metasploit中捕获的数据包,可以使用Wireshark工具打开并进行分析。在Kali Linux中,默认已经安装了Wireshark工具。


下面演示使用Wireshark工具,打开捕获的文件。具体操作步骤如下所示。


(1)启动Wireshark,使它在后台运行。执行命令如下所示:

或者在图形界面依次选择“应用程序”—Kali Linux—Top 10 Security Tools—wireshark命令,将显示如图16所示的界面。

图16  警告信息

(2)该界面显示的警告信息是因为当前使用超级用户运行该程序的。此时单击“确定”按钮,将显示如图17所示的界面。

图17  Wireshark主界面

(3)该界面就是Wireshark的主界面。此时在菜单栏中依次选择File—Open命令,选择要打开的捕获文件。打开捕获文件,界面如图18所示。

图18  捕获的数据包

(4)从该界面可以看到捕获的所有数据包。在 Wireshark 中,还可以通过使用各种显示过滤器过滤一类型的数据包。如果想查看一个完整的会话,右键单击任何一行并选择Follow TCP Stream命令查看,如图19所示。

图19  FTP会话

(5)该界面显示了一个完整的FTP会话。如登录FTP服务器的用户名、密码、端口及访问的目录等。


在Kali中,可以使用Xplico工具分析Wireshark捕获的文件。但是,该文件的格式必须是.pcap。该工具默认在Kali中没有安装,需要先安装才可以使用。下面介绍安装并使用Xplico工具分析数据包。


安装Xplico工具。执行命令如下所示:

执行以上命令后,运行过程中没有报错的话,则Xplico工具就安装成功了。接下来还需要将Xplico服务启动,才可以使用。由于Xplico基于Web界面,所以还需要启动Apache服务。


启动Apache服务。执行命令如下所示:

从输出的信息中,可以看到Apache服务已启动。


在某个系统中启动 Apache服务时,可能会出现[....] Starting web server:apache: Could not reliably determine the server' s fully qualified domain name, using 127.0.1.1 for ServerName信息。这是因为Apache服务器的配置文件中没有配置ServerName选项,该信息不会影响Web服务器的访问。


启动Xplico服务。执行命令如下所示:

从以上输出信息,可以看到Xplico服务已成功启动。现在就可以使用Xplico服务了。


使用Xplico工具解析捕获的pcap文件。具体操作步骤如下所示。


(1)在浏览器中输入http://localhost:9876,将打开如图20所示的界面。

图20  Xplico登录界面

(2)该界面用来登录Xplico服务。Xplico默认的用户名和密码都是xplico,输入用户名和密码成功登录Xplico后,将显示如图21所示的界面。

图21  案例列表

(3)从该界面可以看到没有任何内容。默认Xplico服务中,没有任何案例及会话。需要创建案例及会话后,才可以解析 pcap 文件。首先创建案例,在该界面单击左侧栏中的New Case命令,将显示如图22所示的界面。

图22  新建案例

(4)在该界面选择Uploading PCAP capture file/s,并指定案例名。本例中设置为Test,然后单击Create按钮,将显示如图23所示的界面。

图23  新建的案例

(5)在该界面的案例列表中显示了新建的案例。此时单击Test,查看案例中的会话,如图24所示。

图24  监听的会话

(6)从该界面可以看到没有任何会话信息,接下来创建会话。单击左侧栏中的 New Session命令,将显示如图25所示的界面。

图25  新建会话

(7)在该界面Session name对应的文本框中输入想创建的会话名,然后单击Create按钮,将显示如图26所示的界面。

图26  新建的会话

(8)从该界面可以看到新建了一个名为Windows XP Target的会话。此时进入该会话中,就可以加载pcap文件解析分析了。单击会话名WindowsXPtarget,将显示如图27所示的界面。

图27  上传pcap文件

(9)该界面是用来显示pcap文件详细信息的。目前还没有上传任何pcap文件,所以单击Browse按钮选择要解析的捕获文件。然后单击Upload按钮,将显示如图28所示的界面。

图28  成功上传了捕获文件

(10)从该界面可以看到pcap文件分为几个部分。关于pcap文件的每类型数据包,可以对应的查看。该界面显示了10种类型,如HTTP、MMS、Emails、FTP-TFTP-HTTP file和Web Mail等。在该界面单击左侧栏中的Web并选择Site命令,将显示如图29所示的界面。

图29  显示了捕获文件中的站点

(11)该界面显示了捕获文件中所有访问的站点,从该界面的底部可以看到共有8页信息。在该界面也可以进行搜索。例如搜索baidu,将显示如图30所示的界面。

图30  搜索结果

(12)从该界面可以看到,搜索的结果共有3页。如果想查看目标系统访问过的图片,单击左侧栏中的Image选项,将显示如图31所示的界面。

图31  访问的图片

(13)从该界面可以看到目标系统访问过的所有图片信息。

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存