目前最流行,最强大,最具扩展性的渗透测试平台软件
基于metasploit进行渗透测试和漏洞分析的流程和方法
框架集成了渗透测试标准(PETS)思想
一定程度上统一了渗透测试和漏洞研究的工作环境
新的攻击代码可以比较容易加入框架
开发活跃版本更新平率(每周)
使用postgresql数据库存储数据
MSF架构
Rex
基本功能库,用于完成日常基本任务,无需人工手动编码实现
处理 socket 连接诶访问、协议应答(http/SSL/SMB 等)
编码转换(XOR、Base64、Unicode)
Msf::Core
提供 Metasploit的核心基本 API,是框架的核心能力实现库
Msf::Base
提供友好的的 API 接口,便于模块调用的库
Plugin 插件
连接和调用外部扩展功能和系统
模块
/usr/share/metasploit-framework/modules/
技术功能模块(不是流程模块)
Exploits:利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)
Payload:成功 exploit 之后,真正在目标系统执行的代码或指令
shellcode 或系统命令
三种 payload:/usr/share/metasploit-framework/modules/payloads/
Single:all-in-one
Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
stages:利用 stager 建立的连接下载的后续payload
stager、stages 都有多种类型,适用于不同场景
shellcode 是 payload 的一种,由于期间里正向/反向 shell 而得名
技术功能模块(不是流程模块)
Auxiliary:执行信息收集、枚举、指纹探测、扫描等功能的辅助模块(没有 payload 的 exploit 模块)
Encoders:对 payload 进行加密,躲避 AV 检查的模块
Nops:提高 paylaod 稳定性及维持大小
/etc/init.d/postgresql start(启动数据库)
msfdb init(初始化msf数据库)
msfconsole-----使用接口
最流行的用户接口
几乎可以使用全部 msf 功能
控制台命令支持 TAB 自动补全
支持外部命令的执行(系统命令等)
db_status------查看数据库连接是否正常
很喜欢的横幅
help
核心命令
=============
banner 显示一个很棒的metasploit横幅
cd 更改当前工作目录
color 切换颜色
connect 与主机通信
exit 退出控制台
get 获取特定于上下文的变量的值
getg 获取全局变量的值
grep 管道另一个命令的输出
help 帮助菜单
history 显示命令历史记录
load 加载框架插件
quit 退出控制台
repeat 重复命令列表
route 通过会话路由流量
save 保存活动数据存储
sessions 转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为值
setg 将全局变量设置为值
sleep 在指定的秒数内不执行任何操作
spool 将控制台输出写入文件以及屏幕
threads 查看和操作后台线程
unload 卸载框架插件
unset 取消设置一个或多个特定于上下文的变量
unsetg 取消设置一个或多个全局变量
version 显示框架和控制台库版本号
模块命令
===============
advanced 显示一个或多个模块的高级选项
back 从当前上下文返回
info 显示有关一个或多个模块的信息
loadpath 从路径中搜索并加载模块
options 显示全局选项或一个或多个模块
popm 将最新模块从堆栈中弹出并使其处于活动状态
previous 将先前加载的模块设置为当前模块
pushm 将活动模块或模块列表推送到模块堆栈
reload_all 从所有已定义的模块路径重新加载所有模块
search 搜索模块名称和描述
show 显示给定类型或所有模块的模块
use 按名称选择模块
工作指令
============
handler 将有效负载处理程序作为作业启动
jobs 显示和管理作业
kill 杀死一份作业
rename_job 重命名作业
资源脚本命令
========================
makerc 保存从开始到文件时输入的命令
resource 运行存储在文件中的命令
数据库后端命令
=========================
analyze 分析有关特定地址或地址范围的数据库信息
db_connect 连接到现有数据服务
db_disconnect 断开与当前数据服务的连接
db_export 导出包含数据库内容的文件
db_import 导入扫描结果文件(将自动检测文件类型)
db_nmap 执行nmap并自动记录输出
db_rebuild_cache 重建数据库存储的模块高速缓存
db_remove 删除已保存的数据服务条目
db_save 将当前数据服务连接保存为启动时重新连接的默认值
db_status 显示当前数据服务状态
hosts 列出数据库中的所有主机
loot 列出数据库中的所有战利品
notes 列出数据库中的所有注释
services 列出数据库中的所有服务
vulns 列出数据库中的所有漏洞
workspace 在数据库工作区之间切换
凭据后端命令
============================
creds 列出数据库中的所有凭据
开发人员命令
==================
edit 使用首选编辑器编辑当前模块或文件
irb 在当前上下文中打开交互式Ruby shell
log 如果可能的话,将frame.log分页显示到最后
pry 在当前模块或框架上打开Pry调试器
reload_lib 从指定路径重新加载Ruby库文件
数据库操作
db_connect 连接数据库
db_nmap nmap扫描工具
db_export 导出数据库
db_remove 移除数据库
db_status 数据库运行状态
db_disconnect 断开数据库
db_import 导入数据库
db_rebuild_cache 重新构建数据库缓存
db_save 保存数据
扫描主机
hosts查看扫描记录
hosts 查看所有历史主机
查看开放的主机,并且含有1.1的主机
connect功能
用法:connect [options] <host> <port>
与主机通信,类似于通过netcat进行交互,利用任何已配置的会话枢轴
选项:
-C 尝试将CRLF用于EOL序列。
-P 指定源端口。
-S 指定源地址。
-c 指定要使用的Comm。
-h 帮助信息。
-i 发送文件的内容。
-p 要使用的代理列表。
-s 使用SSL连接。
-u 切换到UDP套接字。
-w 指定连接超时。
-z 只是尝试连接,然后返回。
show命令(如果进入到子目录下,那么show的只是那个模块的,不是全局的)
show encoders模块
show nops模块
msf5 > help search搜索功能(可以使用多个参数搜索)
选项:
-h 显示此帮助信息
-o <file> 以csv格式将输出发送到文件
-S <string> 行筛选器的搜索字符串
关键词:
aka : 具有匹配的AKA名称的模块
author :作者撰写的模块
arch :影响此体系结构的模块
bid :具有匹配的Bugtraq ID的模块
cve :具有匹配CVE ID的模块
edb :具有匹配的Exploit-DB ID的模块
check :支持'check'方法的模块
dete :具有匹配披露日期的模块
description :具有匹配描述的模块
full_name :具有匹配全名的模块
mod_time :具有匹配修改日期的模块
name :具有匹配描述性名称的模块
path :具有匹配路径的模块
platform :影响该平台的模块
port :具有匹配端口的模块
rank :具有匹配等级的模块(可以是描述性的(例如:'good')或带有比较运算符的数字(例如:'gte400'))
ref :具有匹配ref的模块
reference :具有匹配引用的模块
target :影响此目标的模块
type :特定类型的模块(漏洞利用程序,有效负载,辅助,编码器,规避,邮政或nop)
实例:
搜索影响平台为windows系统端口为80,危险等级为good的相关的
查找漏洞,use 进入此漏洞
info---查看详细信息
show options---查看需要配置的参数
show targets---查看适用于当前漏洞的targets
show payloads-----查看适用于当前漏洞的payload
show advanced----查看适用于当前漏洞的高级参数
show evasion------查看适用于当前漏洞的混淆模块
当前还可以show这些模块
set RHOST 192.168.1.9---设置好要攻击的目标 set 参数
搜索mysql_login模块
show options查看需要填写的参数信息
set 好需要设置的参数
creds 查看扫描结果
把扫描结果导出
利用ms08-067漏洞攻击
set 好需要的配置
配置好payload
确认信息配置正确
攻击成功后,执行session
查看进行中的会话
session -i 目标id号
load模块----调用外部的插件
load openvas
测试openvas
卸载插件
loadpath
也可以调用自己的插件
route--路由功能(通过指定session路由流量)
resource----资源文件
友情链接 http://www.cnblogs.com/klionsec
http://www.cnblogs.com/l0cm
http://www.cnblogs.com/Anonyaptxxx
http://www.feiyusafe.cn