Jira & Confluence
If you are interested in hacking career and hack the unhackable - we are hiring! (se requiere polaco fluido escrito y hablado).
Check Privileges
En Jira, los privilegios pueden ser verificados por cualquier usuario, autenticado o no, a través de los endpoints /rest/api/2/mypermissions
o /rest/api/3/mypermissions
. Estos endpoints revelan los privilegios actuales del usuario. Una preocupación notable surge cuando los usuarios no autenticados tienen privilegios, lo que indica una vulnerabilidad de seguridad que podría ser elegible para un bounty. De manera similar, privilegios inesperados para usuarios autenticados también destacan una vulnerabilidad.
Una actualización importante se realizó el 1 de febrero de 2019, requiriendo que el endpoint 'mypermissions' incluya un 'parámetro de permiso'. Este requisito tiene como objetivo mejorar la seguridad al especificar los privilegios que se están consultando: ver aquí
ADD_COMMENTS
ADMINISTER
ADMINISTER_PROJECTS
ASSIGNABLE_USER
ASSIGN_ISSUES
BROWSE_PROJECTS
BULK_CHANGE
CLOSE_ISSUES
CREATE_ATTACHMENTS
CREATE_ISSUES
CREATE_PROJECT
CREATE_SHARED_OBJECTS
DELETE_ALL_ATTACHMENTS
DELETE_ALL_COMMENTS
DELETE_ALL_WORKLOGS
DELETE_ISSUES
DELETE_OWN_ATTACHMENTS
DELETE_OWN_COMMENTS
DELETE_OWN_WORKLOGS
EDIT_ALL_COMMENTS
EDIT_ALL_WORKLOGS
EDIT_ISSUES
EDIT_OWN_COMMENTS
EDIT_OWN_WORKLOGS
LINK_ISSUES
MANAGE_GROUP_FILTER_SUBSCRIPTIONS
MANAGE_SPRINTS_PERMISSION
MANAGE_WATCHERS
MODIFY_REPORTER
MOVE_ISSUES
RESOLVE_ISSUES
SCHEDULE_ISSUES
SET_ISSUE_SECURITY
SYSTEM_ADMIN
TRANSITION_ISSUES
USER_PICKER
VIEW_AGGREGATED_DATA
VIEW_DEV_TOOLS
VIEW_READONLY_WORKFLOW
VIEW_VOTERS_AND_WATCHERS
WORK_ON_ISSUES
Ejemplo: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS
Enumeración automatizada
Plugins de Atlassian
Como se indica en este blog, en la documentación sobre Módulos de plugins ↗ es posible verificar los diferentes tipos de plugins, como:
Módulo de Plugin REST ↗: Expone puntos finales de API RESTful
Módulo de Plugin Servlet ↗: Despliega servlets de Java como parte de un plugin
Módulo de Plugin Macro ↗: Implementa Macros de Confluence, es decir, plantillas HTML parametrizadas
Este es un ejemplo del tipo de plugin macro:
Es posible observar que estos plugins podrían ser vulnerables a vulnerabilidades web comunes como XSS. Por ejemplo, el ejemplo anterior es vulnerable porque refleja datos proporcionados por el usuario.
Una vez que se encuentra un XSS, en este repositorio de github puedes encontrar algunos payloads para aumentar el impacto del XSS.
Plugin de puerta trasera
Esta publicación describe diferentes acciones (maliciosas) que podría realizar un plugin malicioso de Jira. Puedes encontrar un ejemplo de código en este repositorio.
Estas son algunas de las acciones que un plugin malicioso podría realizar:
Ocultar plugins de los administradores: Es posible ocultar el plugin malicioso inyectando algún javascript del lado del cliente.
Exfiltración de archivos adjuntos y páginas: Permitir acceder y exfiltrar todos los datos.
Robo de tokens de sesión: Agregar un endpoint que refleje los encabezados en la respuesta (con la cookie) y algún javascript que lo contacte y filtre las cookies.
Ejecución de comandos: Por supuesto, es posible crear un plugin que ejecute código.
Shell inverso: O conseguir un shell inverso.
Proxy de DOM: Si el confluence está dentro de una red privada, sería posible establecer una conexión a través del navegador de algún usuario con acceso a él y, por ejemplo, contactar al servidor ejecutando comandos a través de él.
Si estás interesado en una carrera en hacking y hackear lo inhackeable - ¡estamos contratando! (se requiere polaco fluido escrito y hablado).
Last updated