欢迎回来,我雄心勃勃的Metasploit网络战士!
在本系列中,我们将探讨世界上最流行和最强大的开发框架Metasploit的强大功能和功能。
在本教程中,我们将研究如何将postgresql数据库连接到Metasploit。通过这种方式,我们可以加快Metasploit模块搜索的速度,保存端口和漏洞扫描的结果,以便我们可以更有效地通过利用阶段。这种类型的组织和效率在涉及数百甚至数千个系统的大型渗透测试中至关重要。
步骤#1:启动postgresql数据库
第一步是启动 postgresql 数据库。我们通过键入service,服务名称(postgresql)和操作(start)来做到这一点。
kali > service postgresql start
然后,我们可以检查数据库的状态。
kali > service postgesql status
Metasploit有一个内置命令,用于检查数据库的状态,提供更详细的信息。
kali > msfdb status
在Metasploit5之前,我们必须在使用数据库之前对其进行初始化。在最新版本的Metasploit中,数据库会自动初始化。
kali > msfdb init
步骤#2:启动 Metasploit
我将使用内置Metasploit的Kali Linux,但你几乎可以在任何操作系统中使用Metasploit。
第一步是启动Kali并通过进入来启动Metasploit;
kali> msfconsole
请注意,Metasploit的最新版本是5.0.5,它现在有超过1800个漏洞利用和两个规避模块!
步骤#3:使用工作区
在数据库术语中,工作区只是将数据存储在数据库中的区域。它是存储数据和对象的数据库中的虚拟数据库类型。
在进行渗透测试时,最好为与您合作的每家公司设置一个单独的工作区,以将其数据与其他项目隔离开来。
要在Metasploit中查看工作区,我们只需输入命令 workspace 即可。
msf > workspace
Metasploit 将使用在默认工作区后带有星号 (*) 或星号的工作空间列表进行响应。
我们可以使用工作区命令添加新的workspace,后跟选项 -a,然后是新工作区的名称。通常,我为我从事的每个渗透测试项目使用一个新的工作区,以保持我的数据独立和组织。
msf > workspace -a hackersarise
另请注意,我们只需使用工作区命令后跟工作区名称即可切换工作区。
步骤 #6 数据库命令
要查看我们可以在Metasploit连接的数据库中使用的所有命令,我们只需向Metasploit寻求帮助并向下滚动页面,直到找到如下所示的数据库命令。
msf> help
将数据库连接到Metasploit的好处之一是能够将我们的结果保存在数据库中以供以后使用。例如,让我们使用db_nmap命令扫描本地网络上的所有计算机(请注意,我们正在使用带有 nap 的 -A 开关来检索服务和操作系统数据)。
msf5> db_nmap -A 192.168.0.157
db_nmap完成工作后,它会将 IP 地址和信息保存到连接的数据库中。我们可以使用 hosts 命令查看该信息
让我们开始查看 hosts 命令的帮助屏幕。
msf5 > host -h
如上所示,hosts 命令采用多个选项。对于我们在这里的目的,最重要的是列的 -c。此开关使我们能够选择要使用 hosts 命令显示的数据列或字段(类似于 SQL 中的 SELECT 命令)。在上面屏幕截图的底部,您可以看到显示的可用列。
假设我们想要查看IP地址,MAC地址,操作系统以及数据库中系统的用途。我们可以通过输入来提取和显示该信息;
msf > hosts -c address,mac,os_name,purpose
如您所见,host命令在屏幕上整齐地显示我们正在寻找的关键信息,仅此而已。
如果我们想看到服务在我们的目标系统上运行,我们只需输入;
msf5 >services
您还可以使用类似于上述 hosts 命令的服务命令选择要显示的列。因此,例如,如果您只想显示状态和信息列,则可以输入;
msf5 >services -c state,info
步骤#7:导出数据库
接下来,我们可以将数据库中的数据导出到一个文件中。我们只需要使用db_export命令,后跟 -f 选项(格式),文件类型 xml,然后是文件的位置。
msf > db_export -f xml /root/hackersarise.xml
现在,我们已将数据库中的结果导出为 xml 格式,我们可以在任何 Web 浏览器中查看结果。
将postgesql数据库连接到Metasploit,它将通过使我们能够保存结果以供以后使用并加快我们在Metasploit中的搜索速度来节省我们的几分钟和几小时。
步骤 #6 将新用户和数据库添加到 postgresql 数据库
有时,我们可能需要将用户添加到postgesql,甚至添加数据库。例如,如果我们与一个团队合作开发项目,每个用户都可能需要一个单独的用户和数据库。
为此,我们需要进入postgresql数据库并进行一些内务管理。我们可以通过简单地输入 su 后跟 postgres 来连接到 postgresql 数据库。
msf5 > su postgres
一旦我们进入postgresql数据库,我们需要创建一个用户和一个数据库。在这种情况下,我们将创建一个名为OTW的新用户,其中包含密码黑客。
postgres@kali >createuser OTW -P
postgresql会提示您输入密码两次(示例中密码为 hackersarise)。
接下来,我们创建一个名为hackersariseDB的数据库,并将OTW指定为数据库的所有者。
postgres@kali > createdb hackersariseDB owner=OTW
然后通过输入“退出”返回到Metasploit控制台
postgres @kali > exit
我们现在需要将新数据库连接到Metasploit,但在我们这样做之前,我们必须断开现有数据库的连接。
msf5 > db_disconnect
现在,在 msf5>提示符下,我们需要使用 db_connect 命令连接到数据库,其中包含我们的用户名、密码、数据库的 IP 地址和数据库的名称。
msf5> db_connect OTW:hackersarise@127.0.0.1/hackersariseDB
现在,当我们键入db_status时,我们可以看到我们已连接到数据库hackersariseDB。