Metasploit Framework(1)基本命令、简单使用

时间:2023-03-08 16:07:58

文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

基本的控制台命令介绍:

banner

查看metasploit的基本信息

connect

这里理解成kali的nc命令,基本一致

Metasploit Framework(1)基本命令、简单使用

简单使用下:

Metasploit Framework(1)基本命令、简单使用

show

列出各种各样的模块,后边会经常使用

search

顾名思义,搜索,比如我搜索一个微软的漏洞,显示的是文件目录

(/usr/share/metasploit-framework/.....)

Metasploit Framework(1)基本命令、简单使用

可以过滤性地搜索

Metasploit Framework(1)基本命令、简单使用

不只有name筛选,还有类型type,平台platform等(-h可以看看都可以搜哪些)

use

使用模块的命令:比如我下面使用著名的ms08-067

Metasploit Framework(1)基本命令、简单使用

接下来就可以输入一些特定模块的特定的命令

比如:show options,show targets,这些具体在后面介绍

数据库方面的操作:

db_status:查看是否连接到数据库,如果失败的话重启下

Metasploit Framework(1)基本命令、简单使用

db_disconnect:断开数据库连接(通常用不着)

db_connect:连接其他数据库

db_rebuild_cache:开启数据库缓存任务(后边如果用到数据库的东西,可以更快速调用)

Metasploit Framework(1)基本命令、简单使用

db_nmap:其实和Nmap命令一致,不过会把扫描结果存入数据库

db_export:导出数据库,-f参数:保存格式,后边接路径

使用:db_export -f xml /root/xxx/a.xml

有导出就有导入:

db_import

使用:db_import /root/xxx/a.xml

注意:可以导入一些工具的文件,比如可以导入Nmap扫描结果的输出文件

这里顺便再介绍一个命令hosts,查看主机记录:

示例:

我先hosts命令查看是否保存了主机,Nmap扫描一个IP,再看看有没有更新:

Metasploit Framework(1)基本命令、简单使用

下面我再hosts:发现多了一个记录

Metasploit Framework(1)基本命令、简单使用

我想具体看下这个记录:

Metasploit Framework(1)基本命令、简单使用

现在只扫描了一个:如果扫描了很多IP,我想只看开启的IP:加一个-u参数即可

hosts 1.1.1.1 -u

当然还有-c过滤参数:只看某一列

Metasploit Framework(1)基本命令、简单使用

还有一个有用的参数-S搜索功能

Metasploit Framework(1)基本命令、简单使用

上边获取了主机消息,那么端口信息呢?

services:

Metasploit Framework(1)基本命令、简单使用

这里就查到了刚才Nmap扫描到的端口的信息:

如果我想搜索开启3306端口的信息:

Metasploit Framework(1)基本命令、简单使用

-S参数是全局搜索,如果只搜索开放某个端口就需要参数-p了

端口可以是一个,也可以是一个范围(-p 100-200)

可以配合上边的-c参数来使用:

Metasploit Framework(1)基本命令、简单使用

接下来用Metasploit framework做些小测试

后边的命令是一些需要具体目标的命令:

因此,我特意开启一个Metasploitable虚拟机

ifconfig查看到这个机器IP:192.168.163.129

我利用mysql_login模块尝试破解一个mysql数据库:

使用这个模块:use+路径

Metasploit Framework(1)基本命令、简单使用

依次设置用户名,检查是否空密码,设置目标IP:

Metasploit Framework(1)基本命令、简单使用

可以使用刚才介绍的show options命令看看设置的结果

下面运行这个模块:

一种是run,一种是exploit:

由于目标机器本身就有漏洞,直接成功了:

Metasploit Framework(1)基本命令、简单使用

这个结果就会存入数据库中:使用命令creds查看数据库

顺便说一下,以后如果扫描到了漏洞,也可以使用vulns查看数据库中保存的漏洞

扫描完之后,可以用unset取消参数的设置

Metasploit Framework(1)基本命令、简单使用

有一种设置:设置全局参数:setg(重启metasploit framework后这个全局参数就会失效)

比如:setg RHOSTS 192.168.163.129

那么接下来使用任何模块默认都会设置好这个参数

当然全面参数取消也很简单:unsetg [参数名]

当然,为了防止设置好全局参数重启后失效,可以用一个新的命令:save

下边再做一个简单的案例:

我用经典的MS08-067漏洞来渗透一个windowsXP系统:

开启一个windowsXP机器:关闭防火墙

查看到这个机器的IP:192.168.163.130

查询完整路径然后使用模块:

Metasploit Framework(1)基本命令、简单使用

设置好目标IP:

Metasploit Framework(1)基本命令、简单使用

查看目标targets都有哪些:找到其中对应的序号

比如我这里对应的是2号

Metasploit Framework(1)基本命令、简单使用

再设置payload为反连接的payload(目标机器会主动和我TCP连接)

Metasploit Framework(1)基本命令、简单使用

既然要主动连接,就需要设置一个连接的IP:当前Kali机器的IP

Metasploit Framework(1)基本命令、简单使用

设置好之后看看设置的参数:

Metasploit Framework(1)基本命令、简单使用

OK,没有问题,可以执行了!

后来发现IP设置错了,我改了下,这里就不记录了:

但是渗透失败了,笔记MS08-067是老漏洞了,XP系统不好渗透

Metasploit Framework(1)基本命令、简单使用

但是!!虽说失败了,但是目标机器被我搞崩溃了,这也算是一种攻击了吧,哈哈。

如果成功了的话,就可以获取shell了

对了,我前几天用缓冲区溢出漏洞拿下了这台XP的shell,有兴趣的朋友可以一看:

https://www.cnblogs.com/xuyiqing/p/9875951.html

可以使用exploit -j参数来后台获取shell

如果是后台获取的shell可以用sessions -i 来操作

load命令:加载外部的工具

比如我想用nessus或者openvas,但不可以直接使用

需要:load openvas

具体在后边详细说

有load就有unload,取消加载

这一篇就到这里,后面会介绍具体的使用