MSF(Metasploit Framework)详细教程

一. 简介

Metasploit 是一个开源的渗透测试开源软件,也是一个逐步发展成熟的漏洞研究与渗透测试代码开发平台,此外也将成为支持整个渗透测试过程的安全技术集成开发与应用环境,2009年10月,Metasploit项目被一家渗透测试技术领域的知名安全公司Rapid7所收购。Rapid7公司随后与2010年10月推出了Metasploit Express 和Pro商业版本。
优点 : 模块化,灵活框架,界面友好,简单易用,代码安全

二. MSF 数据库操作

msf init && msfconsole 初始化数据库并且启动msf
1.启动数据库(PostgreSQL ,端口5432)
2.初始化数据库
3.启动msf
msfconsole -q 快速启动(不显示banner)
msfdb init启动并初始化数据库
msfdb reinit 重新初始数据库
msfdb delete 删除数据库
msfdb start 启动数据库
msfdb stop 关闭数据库
msfdb status查看数据库状态
msfdb run 启动数据库并启动msf

将PostgreSQL设置成开机自启

systemctl enable postgresql
开启开机自启动
systemctl list-units --type=service
查看开启开机自启动的程序列表

MSF(Metasploit Framework)详细教程_第1张图片

三. MSF常用命令

终端命令

命令 解释
show exploits 列出所有渗透攻击模块
show payloads 列出所有的攻击载荷
show auxiliary 列出所有的辅助模块
search 查询所有包含关键字的模块
info 展示出制定渗透攻击或模块的相关信息
info -d 更详细的信息(会打开网页文件显示)
use 装载一个模块
LHOST 目标主机
RHOST 远程主机或目标主机
set 设置配置参数
setg 设置配置全局参数
unset 取消配置参数
unsetg 取消配置全局参数
show options 列出当前模块中所有的参数配置
show targets 列出当前模块支持的平台
set target num 指定你所知道的目标的操作系统以及补丁版本类型
set payload 指定你想使用的攻击载荷(msf6是有默认的,msf5是需要指定的)
show advanced 列出所有高级配置选项
check 检测目标是否对选定的模块,存在相应的漏洞
exploit 执行渗透攻击模块
exploit -j 在计划任务下进行渗透攻击(攻击将在后台进行)
exploit -z 渗透攻击成功后不进行会话交互
exploit -e <编码方式> 指定攻击荷载的编码方式
exploit -h 列出exploit命令的帮助信息
sessions -l 列出可用的交互会话
sessions -l -v 列出所有可用的交互会话以及会话详细信息
sessions -s <脚本> 在所有活跃的meterpreter会话中运行一个特定的meterpreter脚本
sessions -K 杀死所有会话
sessions -c <命令> 在所有活跃的metaerprter会话上执行一个命令,如cmd
sessions -u 将指定的一个会话从win32shell升级到meterpeter shell
sessions -i 选着一个会话,到当前窗口运行
db_create <数据库名称> 创建一个数据库驱动攻击所需要的数据库
db_nmap 利用nmap并把所有扫描数据存入到数据库中
db_autopwn -p -r -e 对所有发现的开放端口执行db_autopwn,攻击所有系统,并使用一个反弹式shell
db_destroy 删除当前数据库
db_nmap 利用nmap并把所有扫描数据存入到数据库中
db_destroy user:password@host:port/database 使用高级选项来删除数据库

show exploits 列出所有渗透攻击模块
MSF(Metasploit Framework)详细教程_第2张图片
show payloads 列出所有攻击载荷模块
MSF(Metasploit Framework)详细教程_第3张图片

show auxiliary 列出所有辅助模块
MSF(Metasploit Framework)详细教程_第4张图片
search 17_010 搜索关键字包含17_010 的(这里的17_010是指漏洞的时间)
MSF(Metasploit Framework)详细教程_第5张图片
info 查看当前模块的详细信息
MSF(Metasploit Framework)详细教程_第6张图片info -d 查看当前模块的跟多详情详细
在这里插入图片描述
MSF(Metasploit Framework)详细教程_第7张图片
use 0 选择一个模块进行加载,这里的0是指序号,也可以用名称
MSF(Metasploit Framework)详细教程_第8张图片
show options 和 options 效果一样 列出当前模块的参数详细信息
MSF(Metasploit Framework)详细教程_第9张图片
MSF(Metasploit Framework)详细教程_第10张图片
set rhosts 172.30.1.133 设置RHOSTS(目标主机的IP地址)

MSF(Metasploit Framework)详细教程_第11张图片
show targets 列出当前模块支持的平台
MSF(Metasploit Framework)详细教程_第12张图片
check 检测目标对象是否存在对于模块的漏洞
MSF(Metasploit Framework)详细教程_第13张图片
sessions -l 列出所有连接
MSF(Metasploit Framework)详细教程_第14张图片
sessions -l -v 列出所有连接并显示连接利用的信息详细

MSF(Metasploit Framework)详细教程_第15张图片
show advanced 显示模块的高级参数
MSF(Metasploit Framework)详细教程_第16张图片
sessions -i 1 选择一个连接到前台
MSF(Metasploit Framework)详细教程_第17张图片

metapreter常用命令

命令 解释
help 打开帮助
run <脚本名称> 运行meterpreter脚本,在scripts/meterpreter目录可查看到的所有脚本名称
sysinfo 列出受控主机的系统信息
ls 列出目标主机的文件和文件夹信息
use priv 加载权限提示控制模块,来扩展meterpreter
ps 显示所有运行进程及其关联的用户账户
migrate PID 迁移到指定的进程ID
use incognito 加载inconito功能(用来盗窃目标主机的令牌或者冒充用户)
list_tokens -u 列出目标主机用户组的可用令牌
impersonate_token DOMAIN_NAME\USERNAME 假冒目标主机上的可用令牌
steal_token 盗窃给定进程的可用令牌并进行令牌假冒
drop_token 停止假冒当前的令牌
getsystem 提供各种攻击向量来提示到系统用户权限
shell 以所有可用令牌来运行一个交互的shell
execut -f com.exe -i 执行cmd.exe命令交互
execut -f com.exe -i -t 以所有可用令牌来执行cmd命令
execute -f cmd.exe -i -H -t 以所有可用令牌来执行cmd命令并隐藏该进程
rev2self 回到控制目标主机的初始用户账户下
reg command 在目标主机注册表中进行交互,创建,删除和查询等操作
setdesktop number 切换到另一个用户界面(该功能基于那些用户已经登录)
screenshot 对目标主机进行截屏
upload file 向目标主机上传文件
download file 从目标主机上下载文件
keyscan_dump 储存目标主机上的键盘记录
getprivs 尽可能的获取到目标主机上的更多权限
uietl enable keyboard/mouse 接管目标主机的键盘和鼠标
background 将当前会话放入后台运行
use sniffer 加入嗅探模块
sniffer_interface 列出目标主机上的所有开放网络接口
sniffer_stats interfaceID pcapname 在目标主机上启动嗅探
sniffer_start interfaceID packet_buffer 在目标主机上针对特定范围的数据包缓冲区启动嗅探
sniffer_stats interfaceID 获取正在实施嗅探网络接口的统计数据
sniffer_stop interfaceID 停止嗅探
add_user username password -h ip 在远程目标主机上添加一个用户
add_group_user “Domain Adimins”username -h ip 将用户添加到目标主机的域管理员组中
clearev 清除目标主机上的日志记录
timestomp 修改文件属性,例如修改文件的创建时间(反取证调差)
reboot 重启目标主机

sysinfo 列出当前被控制的主机的系统信息
MSF(Metasploit Framework)详细教程_第18张图片
ls 列出目标主机文件和文件夹
MSF(Metasploit Framework)详细教程_第19张图片
ps 显示所有运行进程及其关联的用户账户
MSF(Metasploit Framework)详细教程_第20张图片
use incognito 加载inconito功能(用来盗窃目标主机的令牌或者冒充用户)
在这里插入图片描述
screenshot 截取目标主机的屏幕
在这里插入图片描述
shell 获取一个交互shell
MSF(Metasploit Framework)详细教程_第21张图片

四. MSF 常用模块

  1. Exploits (渗透模块): 这是一段程序,运行时会利用目标的安全漏洞进行攻击
  2. Payloads (攻击荷载模块):在成功对目标完成一次渗透之后,这段程序开始在目标计算机上运行,它能帮助我们在目标系统上获取需要的访问和权限,创建后面和维护访问等。
  3. Auxiliary (辅助模块):包含了一系列的辅助支持模块,包括扫描,fuzz(模块模糊)测试,漏洞发掘,检测模块,网络协议欺骗等模块。辅助是使Metasploit 更加灵活。
  4. Encoder (编码器模块):编码器模块通常用来对于攻击模块进行代码混淆,来逃过目标安全保护机制的检测。
  5. Meterpreter (内存攻击载荷):是一种使用内存技术的攻击载荷,可以注入到程序之中,提供各种可以在目标上执行的功能,如开启摄像头,停用键盘等。
  6. Post (后渗透模块):前提是已经拿到了目标系统的基本访问权限,可以使用post模块对系统进行进一步的渗透
  7. nop 模块 :在汇编语音种,nop是指无操作指令,nop在编写exploit或shellcode时有时是有用的。添加nop可以显著帮助修改payload特征,从而绕过安全检测。

你可能感兴趣的:(网络安全)