Metasploit Framework(1)基本命令、简单使用
文章的格式也许不是很好看,也没有什么合理的顺序
完全是想到什么写一些什么,但各个方面都涵盖到了
能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道
基本的控制台命令介绍:
banner
查看metasploit的基本信息
connect
这里理解成kali的nc命令,基本一致
简单使用下:
show
列出各种各样的模块,后边会经常使用
search
顾名思义,搜索,比如我搜索一个微软的漏洞,显示的是文件目录
(/usr/share/metasploit-framework/.....)
可以过滤性地搜索
不只有name筛选,还有类型type,平台platform等(-h可以看看都可以搜哪些)
use
使用模块的命令:比如我下面使用著名的ms08-067
接下来就可以输入一些特定模块的特定的命令
比如:show options,show targets,这些具体在后面介绍
数据库方面的操作:
db_status:查看是否连接到数据库,如果失败的话重启下
db_disconnect:断开数据库连接(通常用不着)
db_connect:连接其他数据库
db_rebuild_cache:开启数据库缓存任务(后边如果用到数据库的东西,可以更快速调用)
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,再看看有没有更新:
下面我再hosts:发现多了一个记录
我想具体看下这个记录:
现在只扫描了一个:如果扫描了很多IP,我想只看开启的IP:加一个-u参数即可
hosts 1.1.1.1 -u
当然还有-c过滤参数:只看某一列
还有一个有用的参数-S搜索功能
上边获取了主机消息,那么端口信息呢?
services:
这里就查到了刚才Nmap扫描到的端口的信息:
如果我想搜索开启3306端口的信息:
-S参数是全局搜索,如果只搜索开放某个端口就需要参数-p了
端口可以是一个,也可以是一个范围(-p 100-200)
可以配合上边的-c参数来使用:
接下来用Metasploit framework做些小测试
后边的命令是一些需要具体目标的命令:
因此,我特意开启一个Metasploitable虚拟机
ifconfig查看到这个机器IP:192.168.163.129
我利用mysql_login模块尝试破解一个mysql数据库:
使用这个模块:use+路径
依次设置用户名,检查是否空密码,设置目标IP:
可以使用刚才介绍的show options命令看看设置的结果
下面运行这个模块:
一种是run,一种是exploit:
由于目标机器本身就有漏洞,直接成功了:
这个结果就会存入数据库中:使用命令creds查看数据库
顺便说一下,以后如果扫描到了漏洞,也可以使用vulns查看数据库中保存的漏洞
扫描完之后,可以用unset取消参数的设置
有一种设置:设置全局参数:setg(重启metasploit framework后这个全局参数就会失效)
比如:setg RHOSTS 192.168.163.129
那么接下来使用任何模块默认都会设置好这个参数
当然全面参数取消也很简单:unsetg [参数名]
当然,为了防止设置好全局参数重启后失效,可以用一个新的命令:save
下边再做一个简单的案例:
我用经典的MS08-067漏洞来渗透一个windowsXP系统:
开启一个windowsXP机器:关闭防火墙
查看到这个机器的IP:192.168.163.130
查询完整路径然后使用模块:
设置好目标IP:
查看目标targets都有哪些:找到其中对应的序号
比如我这里对应的是2号
再设置payload为反连接的payload(目标机器会主动和我TCP连接)
既然要主动连接,就需要设置一个连接的IP:当前Kali机器的IP
设置好之后看看设置的参数:
OK,没有问题,可以执行了!
后来发现IP设置错了,我改了下,这里就不记录了:
但是渗透失败了,笔记MS08-067是老漏洞了,XP系统不好渗透
但是!!虽说失败了,但是目标机器被我搞崩溃了,这也算是一种攻击了吧,哈哈。
如果成功了的话,就可以获取shell了
对了,我前几天用缓冲区溢出漏洞拿下了这台XP的shell,有兴趣的朋友可以一看:
https://www.cnblogs.com/xuyiqing/p/9875951.html
可以使用exploit -j参数来后台获取shell
如果是后台获取的shell可以用sessions -i 来操作
load命令:加载外部的工具
比如我想用nessus或者openvas,但不可以直接使用
需要:load openvas
具体在后边详细说
有load就有unload,取消加载
这一篇就到这里,后面会介绍具体的使用