欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-06-25 18:18:51
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 基本的控制台命令介绍: banner 查看metasploit的基本信息 connect 这里理解成kali的nc命令,基本一致 简单使用下: show ......

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

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

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

 

基本的控制台命令介绍:

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,有兴趣的朋友可以一看:

 

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

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

 

load命令:加载外部的工具

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

需要:load openvas

具体在后边详细说

 

有load就有unload,取消加载

 

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