如何在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命令来进行过滤,找到正在运行的服务。如下图所示:
我们也可以查看数据库中的所有主机信息,如下图所示:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[从源码学设计]蚂蚁金服SOFARegistry之消息总线异步处理
SOFARegistry 是蚂蚁金服开源的一个生产级、高时效、高可用的服务注册中心。本系列文章重点在于分析设计和架构,即利用多篇文章,从多个角度反推总结 DataServer 或者 SOFARegistry 的实现机制和架构思路,让大家借以学习阿里如何设计。本文为第五篇,介绍SOFARegistry消息总线的异步处理。 [从源码学设计]蚂蚁金服SOFARegistry之消息总线异步处理 目录 [从源码学设计]蚂蚁金服SOFARegistry之消息总线异步处理 3.1 总述 3.2 DataChangeEventCenter 3.3 DataChangeEvent 3.4 DataChangeEventQueue 3.5 DataChangeHandler 3.2.1 定义 3.2.2 消息类型 3.2.3 初始化 3.2.4 Put 消息 3.2.5 如何处理消息 3.4.4.1 加入Datum 3.4.4.2 提出Datum 3.4.1 核心变量 3.4.2 启动和引擎 3.4.3 ChangeData 3.4.4 处理Datum 3.5.1 类定义 3.5.2 执行引擎Change...
- 下一篇
[源码分析] 带你梳理 Flink SQL / Table API内部执行流程
本文将简述Flink SQL / Table API的内部实现,为大家把 "从SQL语句到具体执行" 这个流程串起来。并且尽量多提供调用栈,这样大家在遇到问题时就知道应该从什么地方设置断点,对整体架构理解也能更加深入。 [源码分析] 带你梳理 Flink SQL / Table API内部执行流程 目录 [源码分析] 带你梳理 Flink SQL / Table API内部执行流程 1. SQL 解析阶段(SQL–>SqlNode) 2. SqlNode 验证(SqlNode–>SqlNode) 3. 语义分析(SqlNode–>RelNode/RexNode) 4. 优化阶段(RelNode–>RelNode) 5. 生成ExecutionPlan 6. 运行时 StreamExecUnionRule StreamExecJoinRule 优化器的作用 基于成本优化(CBO) VolcanoPlanner相关概念 VolcanoPlanner执行步骤 优化规则 1. TableEnvironment对象 2. Catalog 3. StreamPlanner ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范