Gointerface接口声明实现及作用详解
517
2022-10-07
如何在Metasploit中使用数据库(metasploit模块详解)
废话前言:
亲爱的读者们,这次我们又开始讲Metasploit相关内容了,您可能会觉得“这没头没尾的,怎么突然讲起Metasploit来?”,我也是没办法,原因与出版社有关。不过其实Metasploit也很精彩,虽然您可能觉得读起来不过瘾、不成体系,但是请耐心,这是一个系列的开篇,后面,后面怎么都还有个两三篇吧(开个玩笑啦)。如果您关注我,或是做我的粉丝,也许,也许一段时间之后,您就能凑出一本书来,想想还挺划算的,不知道出版社的编辑会不会看到,隐身术!
正文:
渗透测试时,最好将所有的扫描结果都集中起来。这样我们就能够建立起关于目标各方面信息的知识库,例如:主机名、服务、漏洞等。为例达到这个目标,我们要利用Metasploit自带的数据库。另一方面,把Metasploit与数据库相连也能加速查询缩短响应时间。想要连接数据库,我们会使用以下命令:
root@kali:~#service postgresql start
root@kali:~#msfdb init
我们通过service postgresql start命令初始化PostgreSQLdatabase服务,然后再使用msfdbinit命令为Metasploit创建一个PostgreSQL数据库。
一旦数据库被创建好,我们就可以启动Metasploit:
root@kali:~#msfconsole
要查看数据库的状态,可以使用以下命令:
msf>db_status
这个命令会检查数据库是否连接并能够存储扫描结果。如果我们不想使用默认的数据库,而是想要连接到某个专门的数据库就使用命令db_connect。如果命令后面不带参数,那么就会显示它的用法。如下图所示:
如上图所示,如果要连接数据库的话,你就需要在命令后面按格式提供用户名、密码、端口号和数据库名。
接下来我们看看关于操作数据库的核心命令都有些什么。
1)db_connect
用途:连接默认数据库之外的其它数据库。
2)db_export
用途:导出数据库中数据。
3)db_namp
用途:使用NMAP扫描目标,然后把结果存到Metasploit的数据库中。
4)db_status
用途:查看数据库的连接状态。
5)db_disconnect
用途:解除与某个数据库的连接。
6)db_import
用途:将数据导入数据库,数据可能来自其它工具的扫描结果,例如:Nessus、NMAP等。
7)db_rebuild_cache
用途:刷新缓存。
现在我们已经复习了数据库的常用命令,让我们来进行一次NMAP扫描。
如上图所示,我们使用db_nmap命令扫描目标,结果会自动存到Metasploit的数据库中。在我们使用的扫描命令中,-sV表示使用SYN探针识别目标上运行的服务,-p后面是指定的扫描端口号。从扫描结果中我们可以看到目标上开放了一些端口。我们也可以通过services命令列出目标上运行的所有的服务。如下图所示:
我们看到在目标上运行着很多服务,但我们更关心哪些服务正在运行,可以使用services -u命令来进行过滤,找到正在运行的服务。如下图所示:
我们看到在目标上运行着很多服务,但我们更关心哪些服务正在运行,可以使用services -u命令来进行过滤,找到正在运行的服务。如下图所示:
我们也可以查看数据库中的所有主机信息,如下图所示:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~