Skip to content

Commit d60524d

Browse files
committed
Started docs file
1 parent 9955724 commit d60524d

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Vulnerable Application
2+
This module exploits multiple vulnerabilities in order to obtain pre-auth command injection the multiple Zyxel device models.
3+
The exploit chain uses CVE-2023-33012 which is a command injection vulnerability which can be exploited when uploading a
4+
new configuration to /ztp/cgi-bin/parse_config.py by appending a command to the `option ipaddr ` field.
5+
6+
The command injection is length limited to 0x14 bytes and is why this exploit chains a .qsr file write vulnerability as
7+
well in order to write the payload to a file which has no length limit and then call the payload with the command
8+
injection.
9+
10+
Two caveats of this exploit chain were described by Jacob Baines in the following
11+
[blog post](https://vulncheck.com/blog/zyxel-cve-2023-33012#you-get-one-shot).
12+
1. In order for the target to be vulnerable Cloud Management Mode (SD-WAN mode) must be enable (it is not by default).
13+
2. The target can only be exploited once due to the order of operations in which the exploit functions.
14+
15+
| Product | Affected Versions |
16+
|-----------------------------------|----------------------------------|
17+
| ATP | V5.10 through V5.36 Patch 2 |
18+
| USG FLEX | V5.00 through V5.36 Patch 2 |
19+
| USG FLEX 50(W) / USG20(W)-VPN | V5.10 through V5.36 Patch 2 |
20+
| VPN | V5.00 through V5.36 Patch 2 |
21+
22+
### Setup
23+
24+
This module was tested against USG Flex Version (???). To test this module you will need to acquire a hardware device
25+
running one of the vulnerable firmware versions listed above.
26+
27+
28+
## Verification Steps
29+
30+
1. Start msfconsole
31+
1. Do: `use zyxel_parse_config_rce`
32+
1. Set the `RHOST` and `LHOST`
33+
1. Run the module
34+
1. Receive a Meterpreter session as the `root` user.
35+
36+
## Scenarios
37+
### USG Flex Version (???)
38+

0 commit comments

Comments
 (0)