Exposición de Información sensible en la Dirección General de Ingresos (DGI)



La Dirección General de Ingresos en una organización gubernamental que se encarga de gestionar la recolección de impuestos para el Estado de Nicaragua.

A través del sistema de gestión automatizado en el dominio dgi.gob.ni, los naturales y jurídicos registrados pueden realizar sus declaraciones de impuestos, trámites y gestiones de manera fácil y dinámica dentro y fuera del país.

El sistema de la DGI envía notificaciones de manera regular con información de relevancia para los contribuyentes y así también el estado de solvencia o insolvencia de cada usuario registrado.

El sistema de notificaciones de la DGI envía a los contribuyentes un email con información sobre las declaraciones no presentadas en el período correspondiente mes a mes, todo ello a través de su correo “notificaciontributaria@dgienlinea.gob.ni“.


Un detalle importante es que en la información, hay un link que redirige hacia un archivo PDF con el estado del usuario:

https://alertasfiscales.dgi.gob.ni/FileAlertas/omisidad/omisidad20200307415687269.pdf

Aquí, el usuario puede descargar el documento directamente desde el el servidor de datos en el dominio de la DGI.


Vista del PDF desde el Navegador donde redirige desde la notificación al correo electrónico.

Al ver el enlace a primera vista está la ruta del endpoint “/FileAlertas/omisidad/”, luego el prefijo “omisidad” concatenado con la fecha de emisión del documento “20200307”, concatenado también con un número de 9 dígitos “415687269” y finalizando con el formato del archivo “.pdf ”.

Al enlace se le puede dar segumiento sin ningún tipo de validación de usuario, lo que permite que el documento sea expuesto y accesible a través de internet y desde cualquier parte del mundo.




Proof of Concept:

El sistema al no hacer ningún tipo de validación, permite al atacante utilizar fuerza bruta y enumeración para extraer información disponible desde el endpoint “omisidad” en la URL de la notificación.

En la Prueba de Concepto, se mantiene el prefijo “omisidad” en el enlace (ROSA), por conclusión básica se determina que el mismo día se hacen envíos masivos a todos los contribuyentes con omisidad, que generalmente se hacen entre las fechas 7-8 y 16-17 de cada mes, solo nos queda el nombre del archivo PDF, que es un número que puede ser generado aleatoriamente entre rangos, para intentar por medio de ataque de enumeración, extraer omisos de otro contribuyente.

El script de la prueba concepto es simple, se realiza la solicitud al endpoint con el payload que es la fecha del documento y el número de 9 dígitos, concatenados con el formato PDF del archivo, de ser negativo, regresa un 404 que renderizo con “bs4” capturando la etiqueta “span” como el meta_string.

De ser positivo el payload (fecha+número aleatorio de longitud 9) éste se descarga y se almacena en directorio, tantos test como se necesiten.



Para la prueba concepto, se creó un servidor virtual que imita el comportamiento de respuesta que el servidor de la DGI realiza, por tanto las pruebas se realizaron bajo estricto control y sin llegar a hacer ningún tipo de solicitud al servidor de la DGI.


El codigo para el test en GitHub: https://github.com/RealDebian/DGI-POC

Es claro en el concepto y las pruebas, la falta de validación de usuario al momento de recibir las notificaciones permite extraer información sensible de la organización y de sus contribuyentes, por lo tanto recomiendo realizar un replanteamiento sobre los procesos de notificación y validación de los usuarios en el sistema, ya que no revisar ese proceso de notificación y validación dejaría a la institución expuesta y sin dar cumplimiento a la Ley de Protección de Datos* (Ley No. 787), la cual tiene por objeto la protección de las personas naturales y jurídicas frente al tratamiento, automatizado o no, de sus datos personales en ficheros de datos públicos y privados, así como dejaría a sus contribuyentes en indefensión.

______________________________________

*Ley N°. 787, Protección de Datos, aprobada el 21 de Marzo de 2012, publicada en La Gaceta, Diario Oficial N°. 61 del 29 de Marzo de 2012.

Resultados del Analisis a 89 Sitios Web WordPress en Diferentes Industrias Nicaragüenses

Realicé un analisis a 89 sitios web WordPress pertenecientes a diversas industrias en Nicaragua, esto con el fin de determinar el tiempo tra...