Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/actions/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ runs:
with:
name: test-target
path: .
- shell: bash
working-directory: ./assets
run: cp -r ./java/* ./
- uses: docker-practice/actions-setup-docker@master
with:
docker_buildx: false
Expand All @@ -23,4 +26,4 @@ runs:
- if: inputs.jar == 'true'
shell: bash
working-directory: ./assets
run: jar cvf assets.war suo5.jsp suo5.jspx
run: jar cvf assets.war suo5.jsp suo5.jspx
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -372,9 +372,10 @@ jobs:
</apps>
EOF
cat config/sample.webapp
cp ./assets/.net/suo5.aspx ./assets/suo5.aspx
docker run -it --rm -d -p8080:80 -v ${{ github.workspace }}/config:/etc/mono/pools -v ${{ github.workspace }}/assets:${{ matrix.mount }} ${{ matrix.image }}
bash ./.github/workflows/ready.sh ${{ env.SUO5_ASPX_URL }} 30
curl -v ${{ env.SUO5_ASPX_URL }}
chmod +x ./suo5
./suo5 -debug -t ${{ env.SUO5_ASPX_URL }} -T https://www.bing.com
./suo5 -debug -t ${{ env.SUO5_ASPX_URL }} -T https://www.bing.com -mode half
./suo5 -debug -t ${{ env.SUO5_ASPX_URL }} -T https://www.bing.com -mode half
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
# 更新记录

## [1.1.0] 2024.01.17

### 新增

- 增加 .Net 内存马支持,感谢 [@dust-life](https://github.com/dust-life) 贡献

### 修复

- 修复部分网站 TLS 连接失败的问题
- 修复 TLS 握手失败时连接未关闭的问题

### 变更

- 暂时禁用 HTTP2 的支持

## [1.0.0] 2023.12.18

## 新增
### 新增

- 增加 `aspx` 脚本支持,最低支持 .Net Framework 2.0
- 增加 `WebFlex` 响应式支持,并贴心的提供一键注入 SpringCloudGateway 的代码
Expand All @@ -12,7 +27,7 @@
- 使用随机 `TLS` 指纹,去除 Go 语言本身的 `TLS` 握手特征
- 使用随机异或密钥,去除连接阶段响应包完全一致的流量特征

## 修复
### 修复

- 修复界面版日志太多时 OOM 的问题
- 修复上游代理用户名密码大写不生效的问题
Expand Down Expand Up @@ -106,4 +121,4 @@
### 新增

- 发布第一版本,包含 GUI 和 命令行版
- 使用 Github Action 自动构建所有版本的应用
- 使用 Github Action 自动构建所有版本的应用
45 changes: 45 additions & 0 deletions assets/.net/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# .Net

运行环境: .Net Framework >= 2.0; .NetCore; .Net

| 文件 | 全双工 | 半双工 | 负载转发 | 备注 |
|:---------------------|:---:|:---:|:----:|:---------------------|
| `suo5.aspx` | x | ✓ | ✓ | 常规 aspx 脚本 |
| `Suo5VirtualPath.cs` | x | ✓ | ✓ | .Net VirtualPath 内存马 |

1. `.Net` 全双工的实现主要卡在了流式的请求传输上,我发现在 `.Net` 中必须等到请求的 `Body` 结束才能在 aspx 脚本内拿到
`Request` 对象,这就导致了无法在请求过程中进行响应,因此只能使用半双工的方式来实现。
如通过你有思路突破这个限制,欢迎与我讨论
2. 脚本中有一个对服务线程池调整的逻辑,至少会调整为 256,如果并发数超过这个数量,请求会变得很慢,这和 IIS 的请求模型有关。
如果你需要更大的并发,需要把这个值改大一些。

## 使用 .Net 内存马

> 感谢 [@dust-life](https://github.com/dust-life) 贡献

参考: https://github.com/A-D-Team/SharpMemshell/blob/main/VirtualPath/memshell.cs

### 编译

```
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /t:library Suo5VirtualPath.cs
```

or

```
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe /t:library Suo5VirtualPath.cs
```

### 使用

```
https://github.com/A-D-Team/SharpMemshell/blob/main/VirtualPath/install.aspx
```

or

```
ysoserial.exe -f BinaryFormatter -g ActivitySurrogateSelectorFromFile -c "Suo5VirtualPath.cs;System.Web.dll;System.dll"
```

File renamed without changes.
File renamed without changes.
40 changes: 4 additions & 36 deletions assets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,43 +31,11 @@ User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/5

可以考虑请我 [喝杯咖啡](../DONATION.md),作者一直在用爱发电,你的支持会让他更有动力!

## Java
## 进入查看

> Weblogic 等服务对换行很敏感, 如果你需要对文件进行修改,请务必确保去除了不必要的换行,
> 尤其是文件结束的换行,否则可能无法使用

运行环境: JDK 4~21

| 文件 | 全双工 | 半双工 | 负载转发 | 备注 |
|:-------------------------|:---:|:---:|:----:|:-----------------------------------------------------------------------|
| `suo5.jsp` | ✓ | ✓ | ✓ | |
| `suo5.jspx` | ✓ | ✓ | ✓ | |
| `Suo5Filter.java` | ✓ | ✓ | ✓ | `javax.servlet.Filter` 的实现,用于经典中间件 `Filter` 类型的内存马注入 |
| `Suo5WebFlexFilter.java` | ✓ | ✓ | x | `org.springframework.web.server.WebFilter` 的实现, 用于响应式的 Spring Netty 环境 |
| `Suo5WebFlexSpEL.txt` | ✓ | ✓ | x | Spring Cloud Gateway `CVE-2022-22947` 的一键注入 Suo5 的 Payload |

> WebFlex 的负载转发功能时可以支持的,时间比较仓库还没写,后面会更新

内存马注入推荐参考这个项目,其支持生成各种中间件的一键 Suo5
注入逻辑 [java-memshell-generator-release](https://github.com/pen4uin/java-memshell-generator-release)

## .Net

运行环境: .Net Framework >= 2.0; .NetCore; .Net

| 文件 | 全双工 | 半双工 | 负载转发 | 备注 |
|:------------|:---:|:---:|:----:|:---|
| `suo5.aspx` | x | ✓ | ✓ | |

1. `.Net` 全双工的实现主要卡在了流式的请求传输上,我发现在 `.Net` 中必须等到请求的 `Body` 结束才能在 aspx 脚本内拿到
`Request` 对象,这就导致了无法在请求过程中进行响应,因此只能使用半双工的方式来实现。
如通过你有思路突破这个限制,欢迎与我讨论
2. 脚本中有一个对服务线程池调整的逻辑,至少会调整为 256,如果并发数超过这个数量,请求会变得很慢,这和 IIS 的请求模型有关。
如果你需要更大的并发,需要把这个值改大一些。

## PHP

不打算做了,除非你说服我这个真的很重要 (
- [Java](java)
- [.Net](.net)
- ~~PHP~~

## 测试通过的服务

Expand Down
19 changes: 19 additions & 0 deletions assets/java/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Java

> Weblogic 等服务对换行很敏感, 如果你需要对文件进行修改,请务必确保去除了不必要的换行,
> 尤其是文件结束的换行,否则可能无法使用

运行环境: JDK 4~21

| 文件 | 全双工 | 半双工 | 负载转发 | 备注 |
|:-------------------------|:---:|:---:|:----:|:-----------------------------------------------------------------------|
| `suo5.jsp` | ✓ | ✓ | ✓ | |
| `suo5.jspx` | ✓ | ✓ | ✓ | |
| `Suo5Filter.java` | ✓ | ✓ | ✓ | `javax.servlet.Filter` 的实现,用于经典中间件 `Filter` 类型的内存马注入 |
| `Suo5WebFlexFilter.java` | ✓ | ✓ | x | `org.springframework.web.server.WebFilter` 的实现, 用于响应式的 Spring Netty 环境 |
| `Suo5WebFlexSpEL.txt` | ✓ | ✓ | x | Spring Cloud Gateway `CVE-2022-22947` 的一键注入 Suo5 的 Payload |

> WebFlex 的负载转发功能时可以支持的,时间比较仓库还没写,后面会更新

内存马注入推荐参考这个项目,其支持生成各种中间件的一键 Suo5
注入逻辑 [java-memshell-generator-release](https://github.com/pen4uin/java-memshell-generator-release)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion gui/frontend/src/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
<span>连接数: {{ status.connection_count }}</span>
<span>CPU: {{ status.cpu_percent }}</span>
<span>内存: {{ status.memory_usage }}</span>
<span>版本: 1.0.0</span>
<span>版本: 1.1.0</span>
</n-space>

<div class="footer">
Expand Down