|
| 1 | +--- |
| 2 | +title: 快速上手 |
| 3 | +sidebar_position: 10 |
| 4 | +--- |
| 5 | + |
| 6 | +# 快速上手 |
| 7 | + |
| 8 | +## 什么是 Java Chains |
| 9 | + |
| 10 | +Java Chains 是一个 Java Payload 综合生成与利用平台,提供了生成各种 Java Payload 功能,能够用于测试 JNDI 注入、MySQL JDBC |
| 11 | +反序列化、JRMP 反序列化等场景。 |
| 12 | + |
| 13 | +## 快速开始 |
| 14 | + |
| 15 | +:::warning |
| 16 | +该平台默认只对 8011 端口进行了随机密码的登陆保护,其他端口可能存在被反制的风险,使用完相关功能后记得及时关闭相应端口 |
| 17 | +::: |
| 18 | + |
| 19 | +### 方式一:Docker |
| 20 | + |
| 21 | +你可以通过 `docker` 一条命令启动 `java-chains` 项目(这也是推荐做法) |
| 22 | + |
| 23 | +```shell |
| 24 | +docker run -d \ |
| 25 | + --name java-chains \ |
| 26 | + --restart=always \ |
| 27 | + -p 8011:8011 \ |
| 28 | + -p 58080:58080 \ |
| 29 | + -p 50389:50389 \ |
| 30 | + -p 50388:50388 \ |
| 31 | + -p 3308:3308 \ |
| 32 | + -p 13999:13999 \ |
| 33 | + -p 50000:50000 \ |
| 34 | + -p 11527:11527 \ |
| 35 | + -e CHAINS_AUTH=true \ |
| 36 | + -e CHAINS_PASS= \ |
| 37 | + javachains/javachains:latest |
| 38 | +``` |
| 39 | + |
| 40 | +通过环境变量配置鉴权或密码; |
| 41 | + |
| 42 | +**CHAINS_AUTH**: `true`为开启鉴权,`false`为关闭鉴权,默认开启鉴权 |
| 43 | + |
| 44 | +**CHAINS_PASS**: 指定 web 密码,若该变量为空则随机生成密码,默认随机生成密码 |
| 45 | + |
| 46 | +:::tip |
| 47 | +Payload 生成功能仅使用 `8011` 端口即可,其他端口为 `exploit` 模块所使用 |
| 48 | +::: |
| 49 | + |
| 50 | +使用以下命令从 docker 中获取随机生成的强密码 |
| 51 | + |
| 52 | +```shell |
| 53 | +docker logs $(docker ps | grep javachains/javachains | awk '{print $1}') | grep -E 'password' |
| 54 | +``` |
| 55 | + |
| 56 | +输出示例 |
| 57 | + |
| 58 | +```text |
| 59 | +11-12 06:59:53.301 INFO [main] c.a.c.w.c.SecurityConfig | | password: XSsWerJFGcCjB8FU |
| 60 | +``` |
| 61 | + |
| 62 | +登录页面:`http://your-ip:8011` |
| 63 | + |
| 64 | +### 方式二:Jar包启动 |
| 65 | + |
| 66 | +:::warning |
| 67 | +仅支持 |
| 68 | +JDK8,推荐使用 [Temurin](https://adoptium.net/temurin/releases/?version=8&package=jdk) / [Azul Zulu](https://www.azul.com/downloads/?version=java-8-lts&package=jdk#zulu) |
| 69 | +::: |
| 70 | + |
| 71 | +下载链接:https://github.com/vulhub/java-chains/releases/latest |
| 72 | + |
| 73 | +启动命令 |
| 74 | + |
| 75 | +```bash |
| 76 | +java -jar java-chains-[version].jar |
| 77 | +``` |
| 78 | + |
| 79 | +每次启动后会默认打印出随机生成的密码 |
| 80 | + |
| 81 | +默认监听 0.0.0.0 ,登录页面:`http://your-ip:8011` |
| 82 | + |
| 83 | +可通过环境变量设置 web 登录密码,例如: |
| 84 | + |
| 85 | +import Tabs from '@theme/Tabs'; |
| 86 | +import TabItem from '@theme/TabItem'; |
| 87 | + |
| 88 | +<Tabs> |
| 89 | + <TabItem value="bash" label="Bash"> |
| 90 | +```bash |
| 91 | +export CHAINS_PASS=[your_password] && java -jar java-chains-[version].jar |
| 92 | +``` |
| 93 | + </TabItem> |
| 94 | + <TabItem value="cmd" label="Cmd"> |
| 95 | +```cmd |
| 96 | +set CHAINS_PASS=[your_password] && java -jar java-chains-[version].jar |
| 97 | +``` |
| 98 | + </TabItem> |
| 99 | + <TabItem value="ps" label="Powershell"> |
| 100 | +```powershell |
| 101 | +$env:CHAINS_PASS="[your_password]"; java -jar java-chains-[version].jar |
| 102 | +``` |
| 103 | + </TabItem> |
| 104 | +</Tabs> |
| 105 | + |
| 106 | +## 默认端口说明 |
| 107 | + |
| 108 | +| 端口 | 备注 | |
| 109 | +|-------|-------------------| |
| 110 | +| 8011 | Java Chains Web端 | |
| 111 | +| 58080 | JNDI 提供 HTTP 字节码 | |
| 112 | +| 50389 | JNDI LDAP | |
| 113 | +| 50388 | JNDI RMI | |
| 114 | +| 3308 | Fake MySQL Server | |
| 115 | +| 13999 | JRMPListener | |
| 116 | +| 50000 | HTTP Server | |
| 117 | +| 11527 | TCP Server | |
0 commit comments