Skip to content

YSOMAP食用指北

wh1t3P1g edited this page Apr 15, 2022 · 6 revisions

#1 前置基础

使用ysomap你需要有以下的基础:

  • 对Java相关漏洞有一个基础的了解

#2 功能介绍

ysomap共有两个用途:

  • 生成序列化后的payload
  • 利用ysomap的exploit包进行攻击

#3 基础使用方法

基础命令介绍

当前版本支持以下命令,且当前版本支持tab键补全命令

ysomap > help
help                print this message
list <type>         list exploits, bullets and payloads
use <type> <name>   choose a exploit/payload/bullet
set <key> <value>   set exploit/bullet's arguments
run                 run current session
show <type>         show payload/bullet/exploit details
clear               clear current sessions
session [c|i]       recover to a session or create a new session
sessions            print current running exploit sessions
stop                stop current session
kill [uuid|all]     kill sessions, like 'kill uuid' or 'kill all'
exit                exit ysomap

其中以下命令:

  • list [eploits|bullets|payloads] 查看当前版本ysomap所支持的exploits、payloads、bullets
  • use 设置当前需要使用的exploit/payload/bullet
  • set 设置当前的配置
  • run 进行攻击或生成payload
  • session session管理,1. session create 创建一个新的session 2. session insert uuid 恢复到指定uuid的session
  • sessions 查看当前运行的sessions
  • kill <uuid/all> 清除指定uuid的session

Updated:

设置特殊的key

  1. serialVersionUID 用于修改uid set serialVersionUID oldUID1:newUID1;-8137949907733646644:-2491254866810955844
  2. serializeType 用于修改序列化器类型 set serializeType xxx
  3. encoder 用于添加编码器,目前只支持base64 set encoder base64
  4. output 用于修改最后生成内容的输出位置,支持console和file两种 set output console/file

接下来,介绍以下两种流程

生成序列化后的payload

当你需要使用ysomap生成特定的序列化数据时

第一步:use payload xxxx 设置一个payload

第二步:show options获得当前payload的配置信息,会提示可以选择的bullet信息

第三步:use bullet xxxx 给当前的payload装上子弹(具体能达成的利用方式)

第四步:show options 可以看到包括payload和bullet的配置信息

第五步:set xxx xxx 设置当前需要配置的内容

第六步:run 配置完成后,执行并生成相应的序列化数据

当生成的序列化数据为json或xml时,序列化后的数据将直接打印在终端上;当生成的序列化数据为二进制数据,则会在当前目录生成一个obj.ser文件

利用exploit包进行攻击

当你需要使用ysomap进行攻击时

第一步:use exploit xxxx 设置一个exploit

第二步:show options获得当前exploit的配置信息,会提示需要设置payload或其他配置

第三步:如果需要设置payload,过程参考上面的步骤;

第四步:如果不需要设置其他payload,或其他设置已经设置完成 set xxx xxx 设置当前需要配置的内容

第五步:run 配置完成后,执行并进行相应的攻击

#4 使用范例

待补充