玩转Metasploit系列(第二集)

上一节的内容中,大家了解了Metasploit的结构。这一节我们主要介绍的是msfconsole的理论。

msfconsole理论

在MSF里面msfconsole可以说是最流行的一个接口程序。很多人一开始碰到msfconsole的时候就害怕了。那么多复杂的命令语句需要学习,但是msfconsole真的是一个强大的接口程序。Msfconsole提供了一个一体化的集中控制台。通过msfconsole,你可以访问和使用所有的metasploit的插件,payload,利用模块,post模块等等。Msfconsole还有第三方程序的接口,比如nmap,sqlmap等,可以直接在msfconsole里面使用。

大家可以直接在命令行窗口输入msfconsole,然后回车。这样就打开了msfconsole。Msfconsole的系统文件和用户文件位于/usr/share/metasploit-framework/msfconsole目录下。

当打开msfconsole后,大家请看红色的方框。这里面清楚的标记了Metasploit所有的利用模块、payload、post模块等等。

Msfconsole有两个查看帮助的选项。一个是msfconsole -h,一个是help。

Msfconsole –h是显示在msfconsole初始化的选项和参数。而help则是显示进入msfconsole后可以利用的选项。

Msfconsole –h参数

全部参数的解释和利用

Help参数

接下来我要说道msfconsole各个参数的利用和一些解释。

Back参数

Back参数主要用于返回。比如你进入了某一个漏洞模块的设置,但是你想再重新选择一个漏洞模块,那么就需要用到back参数。

这张图说明,才开始我使用了ms08_067_netapi的利用模块,之后使用了back参数返回。

Banner参数

这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。

Check参数

事实上,很多的利用模块都不支持这个参数,但是这个参数可以查看到某些利用模块更相信的信息。主要是用于查看利用模块是否可用攻击目标主机。

Color参数

这个参数主要是设置一些命令行的颜色。没什么实质的作用。

Connect参数

这个参数主要用于远程连接主机。一般用于内网渗透。比较常用的命令就是“connect 192.168.0.1 8080”。

Connect是参数名称,192.168.0.1是IP地址 8080是端口号。

如果大家想查看更详细的connect信息,直接输入connect –h就可以了。

Edit参数

这个参数的作用就是编辑当前的模块,主要是编辑$VISUAL或者$EDITOR的代码信息。编辑的时候是使用VIM编辑器进行编辑。

Exit参数

这个是退出msfconsole的命令。可以完全退出msfconsole,并且回到linux终端界面。

Info参数

这个参数可以查看所在模块的信息,包括选项、利用条件、漏洞作者、可以利用的payload等等。

这个info有两种用法,第一种是直接在当前的里面模块下输入info,然后回车查看当前模块的信息。

第二种是输入info后,再在后面输入模块的编号,然后回车查看模块信息。

Irb参数

这个参数可以进入irb脚本模式,并且执行命令创建脚本。其语言为Ruby。

Jobs参数

这个参数可以查看目前msfconsole上存在哪些任务,并且可以选择结束一些不需要的任务。如果要查看更详细的jobs选项,那么可以直接输入“jobs -h”进行查看。

Kill参数

这个参数主要是配合jobs参数进行使用。如果你使用jobs参数后发现了一些不要的任务,那么使用kill参数就可以终止一些不需要的进程。一般都是kill <jobs编号>。

Load参数

这个参数可以从metasploit的plug库里面加载一些插件。‍‍

Unload参数

这个参数可以终止你已经启动的插件‍‍。

Resource参数

这个参数可以运行一些资源文件,有些工具,比如说Karmetasploit无线攻击就很需要这个参数。在后面的文章我会说道怎么使用这个攻击。

‍‍

Route参数

‍Route参数主要是用来当做跳板。这个参数的作用就是做代理转发。在我们大天朝,这个参数很重要啊,难道你希望在旁边高兴的渗透着,旁边是你心爱的WIFI,突然间就…..

博客已经写出了如何使用route做跳板的文章,大家可以自己去看看。当然也有网友说道,用这个参数做代理太慢了。实际上大家在做代理的时候要主要,一定要选择离自己国家最近的服务器依次做代理。比如可以选择先拿日本的服务器做跳板,再继续用美国的服务器做跳板。这样可以提高数据包传输的速度。还有一种方法比较高级,就是直接入侵一台VPN服务器,找到Radius数据库,在里面添加一个账号。之后可以随便跳转到一台服务器,再从服务器连接VPN服务器。关于route,大家可以使用-h查看更多的信息。

Route做代理->文章索引点我‍‍。

Search参数

当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。所以search命令就很重要。我会详细的解释一下这个命令。

当你输入search –h或者是help search的时候就会列出search命令的一些选项。

通过名称进行查找

‍‍这里需要用到name:命令。如果我要查找mysql数据库的漏洞,那么就是输入“search name:mysql”‍‍。

通过路径进行查找

有时候,我们很遇到这么一种情况,就是只记得模块的路径,但是却忘记了模块的名称。那么就可以用path:命令查找在该路径下的所有模块。如果我要mysql路径下的所有mysql利用模块,那么就输入“search path:mysql”。

缩小查询范围

‍‍有时候我们会搜索到大量的模块,那么可以用platform:命令来缩小查询范围。使用platform命令后,所查询的结果会列出rank比较高的模块。如果我要查找mysql的漏洞,那么输入 “search platform:mysql”。大家对比一下上面的截图,发现没有,所有rank为normal的模块全部都屏蔽了,只剩下几个比较高级的利用模块。

通过类型进行查找

这里要使用到type:命令。Metasploit上只有三中模块可以利用,第一种是exploit模块,也就是利用模块。第二种是auxiliary模块。第三种是post模块。所以type命令也就只能搜索这个三种模块类型。如果我要搜索post模块,那么就输入“search type:post”:

通过模块作者名称进行查找

有时候我们会想看看一个作者所写的所有模块,那么就需要用到author:命令。很多人以为这个是多余的,事实不是。后面你们需要编写自己的漏洞模块,通过这个命令,你们就可以迅速的查找到你们自己的模块。如果我要查找dookie写的所有模块,那么就输入“search author:dookie”:

联合查找

大家可以使用上面的参数自行搭配使用。如果我要查找dookie所写的MAC系统的漏洞模块。那么输入“search author:dookie name:MacOS”:

Sessions参数

这个参数可以让大家能够交互,查询或者终止当前的一些会话。如果要查看session的选项,直接输入“sessions -h”即可。这里需要注意的是,命令是sessions,不是session。很多人都忘记后面那个s。

Set参数

这个主要是对payload或者其他模块进行设置。比如设置攻击目标的IP就是“set RHOST 192.168.0.2”:

Unset参数

如果你使用set命令后,发现设置错误了,可以选择unset重新设置。

Setg参数

这个和set有些类似,但是不同的是这个是一个全局变量设置。设置一次后再保存,那么以后,这个漏洞模块你就不用重复设置。但是请注意!如果你在某一个模块设置了全局变量,那么以后使用这个模块的时候请检查option选项。以免做重复的渗透工作。当然,如果你设置错误了,也可以用unsetg命令来重新设置。

设置好后再输入save保存你的全局变量设置。

Show参数

这个命令用的很多。请一定认真看。如果单纯的输入show,那么就会显示出所有的payload,利用模块,post模块,插件等等。但是一般我们都不这么使用。

如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。总共可以使用的是那么几个命令,;show auxiliary;, ;show exploits;, ;show payloads;, ;show encoders;, 和 ;show nops;。

如果我进去了某一个利用模块后,要查看这个利用模块的可以加载的负荷就输入show payloads。这里大家自由发挥。

Use参数

这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数:

Msfconsole的基础命令就先说到这里,下节我会演示一个实战来验证上面的理论。

时间: 2024-10-14 11:21:11

玩转Metasploit系列(第二集)的相关文章

玩转Metasploit系列(第一集)

“如果我有七个小时的时间来砍树,那么我一定会花6个小时来磨我的斧头.”               –Abraham Lincoln ‍‍这句话一直引导着我做事的思路,而且从未改变过.这篇文章翻译自Offensive-security社区.我希望通过我的翻译能够让国内的安全人员能够有进一步的升华.当然,在翻译的时候我也加上了我自己的想法和一些注释.在我做渗透测试或者审计测试之前,我一般都会对我的Metasploit上面的工具和脚本进行升级和完善.中国有句俗话,养兵千日,用兵一时.我对Metasp

NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器

经过了这一个多星期的调整与修复,NanUI for .NET Winform的稳定版已经发布.应广大群友的要求,现已将NanUI的全部代码开源. GitHub: https://github.com/NetDimension/NanUI Release: https://github.com/NetDimension/NanUI/releases 这次发布的是一个相对稳定的版本,解决和改善了如下问题: 页面随机白屏问题(主要原因是GC自动回收后,造成内存地址不可读) NanUI编译版本改为.NE

玩转JS系列之代码加载篇

从前我们这样写js <script type="text/javascript"> function a(){ console.log('a init');}function b(){ console.log('b init'); a(); } </script> 随着功能越来越多,我们开始把js分离,使用单独的js文件来写,然后使用下面的方式引入js <script src="a.js" type="text/javascr

[Linux] PHP程序员玩转Linux系列-升级PHP到PHP7

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装nginx 7.PHP程序员玩转Linux系列-nginx初学者引导 8.PHP程序员玩转Linux系列-Nginx中的HTTPS 9.PHP程序

第12章 GPIO输入-按键检测—零死角玩转STM32-F429系列

第12章 ????GPIO输入-按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小

[Linux] PHP程序员玩转Linux系列-nginx初学者引导

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装nginx 翻译自官网文档 nginx有一个master进程和很多个worker进程.master进程的主要目的是读取和执行配置文件,维持work

12.【Redis系列】集群方案1- Sentinel

原文:12.[Redis系列]集群方案1- Sentinel 目前我们讲的 Redis 还只是主从方案,最终一致性.读者们可思考过,如果主节点凌晨 3 点突发宕机怎么办?就坐等运维从床上爬起来,然后手工进行从主切换,再通知所有的程序把地址统统改一遍重新上线么?毫无疑问,这样的人工运维效率太低,事故发生时估计得至少 1 个小时才能缓过来.如果是一个大型公司,这样的事故足以上新闻了. 所以我们必须有一个高可用方案来抵抗节点故障,当故障发生时可以自动进行从主切换,程序可以不用重启,运维可以继续睡大觉,

C# 玩转计算机系列(二)-操作IIS服务

之前由于工作需要自己做一个一键部署的小工具,实现三个模块的功能:TFS操作创建映射并获取最新源代码:SQL Server数据库注册表配置数据库连接:IIS站点部署,生成可访问的IIS站点.由于是基于自己的工作环境下的开发,所以在TFS和SQL Server配置工具化实现,有一些点是默认按照公司的环境配置参数默认的,虽然不是广泛适用每一种情况的环境部署,但是在学习这三个模块的开发过程中,还是有很多东西是可以值得分享的. 今天先分享一下,如何通过工具化实现IIS站点部署和配置,为了可复用性,IIS操

深究angularJS系列 - 第二弹

深究angularJS系列 - 第二弹,在初步了解了Angular的基础上,进一步的针对Angular的控制器和作用域问题深入探究O(∩_∩)O~~ Angular控制器 控制器(Controller)的理解 控制器是对view的抽象,用来接收view的事件,响应view的请求: 控制器包含view的静态属性和动态的方法: 控制器与view是一对一的关系. 控制器(Controller)的结构 1 .controller("控制器的名字",function($scoppe){ 2 ..