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-2023-25157 — Laboratorio local de GeoServer/PostGIS que reproduce la inyección SQL de OGC Filter (CVE-2023-25157/25158) con modos de prueba A/B vulnerable, parcheado y mitigado. | Kitploit
Herramientas/GitHubGitHub/ivanesk315/cve-2023-25157
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de Bases de DatosLabs y Práctica
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

Laboratorio local de GeoServer/PostGIS que reproduce la inyección SQL de OGC Filter (CVE-2023-25157/25158) con modos de prueba A/B vulnerable, parcheado y mitigado.

hace 12h 21mAún no revisado
Ver Repositorio

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

Lab CVE-2023-25157 y CVE-2023-25158

Este lab utiliza GeoServer/PostGIS para investigar la inyección SQL en filtros OGC en un entorno local, con separación clara entre el modo operador/setup y el modo atacante.

  • CVE-2023-25157: superficie del producto GeoServer, las solicitudes WFS/WMS entran en la codificación de filtros JDBC.
  • CVE-2023-25158: causa raíz en la biblioteca GeoTools JDBC, utilizada por GeoServer para convertir filtros OGC en SQL.

GeoServer 2.22.0 incluye GeoTools vulnerable. GeoServer 2.22.2 incluye GeoTools parcheado. El lab mantiene el mismo esquema/solicitud para pruebas A/B de versión, mitigación y límite de privilegios.

Arquitectura

ModoSuperficiePropósito
Setup/operator RESTcontenedor interno cve-operatorConfiguración REST, validación y revisión de logs del backend
Gateway único127.0.0.1:8889Un único puerto para la UI del operador y las rutas OWS
UI Web del operador127.0.0.1:8889/geoserver/web/UI de GeoServer para el operador; con proxy Basic Auth
Atacante vulnerable127.0.0.1:8889/vuln/geoserver/owsWFS/OWS vulnerable, errores de BD visibles en la respuesta
Atacante parcheado127.0.0.1:8889/patched/geoserver/owsGeoServer 2.22.2 / GeoTools 28.2
Atacante realista127.0.0.1:8889/realistic/geoserver/owsWFS/OWS vulnerable pero el gateway elimina el detalle del error
Mitigación function127.0.0.1:8889/mit-functions/geoserver/owsGeoServer 2.22.0, encode functions=false
Mitigación FeatureId127.0.0.1:8889/mit-featureid/geoserver/owsGeoServer 2.22.0, preparedStatements=true

PostgreSQL/PostGIS no publica puertos al host. GeoServer no publica directamente el puerto 8080 al host; el host solo ve cve-gateway en 127.0.0.1:8889. El contenedor cve-attacker solo está en attacker-net; no tiene ruta hacia PostgreSQL ni al servicio interno de GeoServer. La configuración REST pasa por el contenedor interno cve-operator en geoserver-net.

UI Web del operador

Abrir en el navegador:

root@kitploit:~
http://127.0.0.1:8889/geoserver/web/

Inicio de sesión en 2 capas:

  1. Proxy Basic Auth del operador: operator / operator_lab
  2. UI de GeoServer: admin / geoserver

Todo pasa por el mismo gateway 8889, sin necesidad de recordar múltiples puertos. Burp puede mantener el proxy predeterminado 127.0.0.1:8080.

Ejecutar el lab

root@kitploit:~
.\lab.ps1 reset all
.\lab.ps1 validate
powershell -ExecutionPolicy Bypass -File .\verify-lab.ps1
powershell -ExecutionPolicy Bypass -File .\negative-controls.ps1
powershell -ExecutionPolicy Bypass -File .\attack-chain.ps1

Comandos de gestión:

root@kitploit:~
.\lab.ps1 start vulnerable
.\lab.ps1 start patched
.\lab.ps1 start mitigated
.\lab.ps1 start worstcase
.\lab.ps1 reset all
.\lab.ps1 stop
.\lab.ps1 status

Datos y roles

Tablas seed:

  • cities: clave primaria entera, columna name de tipo text, usada para strStartsWith/strEndsWith.
  • sensors_text: clave primaria text, usada para inyección FeatureId.
  • sensors_int: clave primaria entera, control negativo para FeatureId.
  • events: capa de investigación JSONB.
  • internal_assets: no publicada, contiene LAB-CANARY-<UUID> nuevo tras cada reset.
  • local_points: shapefile no-JDBC, control negativo.

Roles:

  • geoserver_readonly: CONNECT, USAGE en el esquema, SELECT solo en tablas publicadas.
  • geoserver_impact: SELECT adicional sobre internal_assets para ilustrar un usuario de BD de aplicación con permisos amplios.
  • geoserver_worstcase: perfil separado, con pg_read_server_files para leer el archivo canary falso /lab/flag.txt.

Flujo de attack-chain

attack-chain.ps1 realiza:

  1. Reconocimiento WFS GetCapabilities.
  2. Enumeración del esquema DescribeFeatureType.
  3. Solicitudes baseline y negativas.
  4. Oráculo booleano TRUE/FALSE sobre el proxy realista.
  5. Confirmación de CVE-2023-25157 con vulnerable, parcheado y encode functions=false.
  6. Confirmación de CVE-2023-25158 con vulnerable, parcheado y preparedStatements=true.
  7. Controles negativos: PK entera y shapefile no-JDBC.
  8. Fuga del usuario de BD y descubrimiento de tabla oculta mediante la rama impact.
  9. Demostración de que least-privilege bloquea internal_assets, la rama impact filtra el canary, y parcheado/realista no revelan el canary.

La evidencia se guarda en evidence/attack-chain-*. La carpeta actual solo conserva la evidencia del último pase exitoso para evitar desorden.

Perfil worst-case

Este perfil no forma parte del escenario principal:

root@kitploit:~
.\lab.ps1 start worstcase
powershell -ExecutionPolicy Bypass -File .\worstcase-demo.ps1

Solo lee el archivo canary falso /lab/flag.txt, no lee /etc/passwd, no hace dump de hashes, no crackea contraseñas.

Fuentes oficiales

  • Aviso de GeoServer: https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
  • Aviso de GeoTools: https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m
  • Declaración de GeoServer: https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
  • NVD CVE-2023-25157: https://nvd.nist.gov/vuln/detail/CVE-2023-25157
  • NVD CVE-2023-25158: https://nvd.nist.gov/vuln/detail/CVE-2023-25158
Descargar herramienta