
pfSense CE 2.9.0-DEVELOPMENT - Médio - Remoto - Injeção de configuração - NTP GPS/PPS fudge
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-ntp-gps-fudge
Classe: Injeção de configuração Alcance: Remoto
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
system.inc concatena GPS/PPS fudge/refid/stratum em ntpd.conf. mwexec é ntpd -c desse caminho.
| ID | ainda sem CVE |
| Classe | Injeção de configuração |
| Alcance | Remoto (WebGUI autenticado, salvo indicação em contrário) |
| CWE | CWE-74 |
| CVSS | Médio: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
| Produto | pfSense CE |
| Afetado | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| Autenticação | Sessão WebGUI com page-services-ntpd-gps / page-services-ntpd-pps |
| Licença | GNU Affero GPL v3.0 |
| Lab | apenas 127.0.0.1 |
Fixe o master público 9363ac5. O lab é um gadget PHP do sink fixado, HTTP em loopback em 127.0.0.1:19230.
Write-up da série: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| Método | Sink | Privilégio |
|---|---|---|
| POST services_ntpd_gps.php gpsfudge1 / refid / stratum | ntpd.conf fudge 127.127.20.0 ... | Integridade: Comprovado em lab: newline adicionou linguagem ntpd extra. Não é shell. |
| mesmo leftover | mesmo sink | Recon: Nada demonstrado. |
| mesmo leftover | mesmo sink | Disponibilidade: Inferido: ntpd.conf hostil pode falhar a sincronização de tempo. |
Requer: page-services-ntpd-gps / page-services-ntpd-pps. CSRF-magic no POST, salvo indicação em contrário. WebGUI PHP-FPM é root.
Requer: page-services-ntpd-gps / page-services-ntpd-pps. CSRF-magic no POST, salvo indicação em contrário. WebGUI PHP-FPM é root. CSRF-magic no POST, salvo indicação em contrário. WebGUI PHP-FPM é root.
Não é shell. O argv do mwexec é o caminho do conf.
Sem Diagnostics: Command, a menos que essa página também seja concedida.
cd lab
./run.sh
Loopback 127.0.0.1:19230. Projeto Compose pfsense-ntp-gps-fudge. Witness PFSENSE-NTP-GPS-FUDGE-WITNESS. Apenas loopback: 127.0.0.1:19230. Projeto Compose pfsense-ntp-gps-fudge. Witness PFSENSE-NTP-GPS-FUDGE-WITNESS. Gadget PHP das linhas fixadas. A stack é desmontada após a execução.
Última linha:
SUCCESS PFSENSE-NTP-GPS-FUDGE control-fudge0=yes trigger-extra-ntpd=yes not-shell=yes PFSENSE-NTP-GPS-FUDGE-WITNESS
Verificação numérica/charset de fudge/refid/stratum. Rejeitar CR/LF.
9363ac5b8651a1c7a333180425ce7719070f95f9