Posted by q3it on miércoles, noviembre 10, 2021 in Ciberseguridad
Informe a la gerencia
Para realizar las pruebas de penetración sobre la corporación xxxxx fué necesario crear una plataforma de pruebas desde la cual se ejecutó la intrusión a dicho entorno, todas las actividades se llevaron a cabo de una manera controlada, y se creó la figura de en un ataque malicioso dirigido contra xxxxx con los objetivos de:
- Identificar si un atacante remoto podría penetrar las defensas de xxxxx.
- Determinar el impacto de una grieta de seguridad.
- Vulnerar la confidencialidad de los datos privados de la empresa.
- Comprometer la infraestructura interna y disponibilidad de los sistemas de información de xxxxx.
Se realizaron esfuerzos en la identificación y explotación de las deficiencias de seguridad que podrían permitir a un atacante remoto obtener acceso no autorizado a los datos de la organización. Los ataques se llevaron a cabo con el nivel de acceso que tendría un usuario general sin privilegios dentro de la red. La evaluación ejecutó de conformidad con las recomendaciones descritas por xxxxx y todas las pruebas y acciones se efectuaron en condiciones controladas.
Resumen de resultados
El reconocimiento inicial de la red xxxxx dió lugar al descubrimiento de un servidor DNS mal configurado y de varios dispositivos detectados con usuarios y contraseñas débiles, esto permitió una transferencia de zona DNS. Los resultados nos proporcionaron una lista de hosts específicos a los que dirigirse para esta evaluación. Un exámen de estos hosts reveló una interfaz de servidor web administrativa protegida por contraseña, después de crear una lista de palabras personalizada usando términos identificados en el sitio web de DirBuster pudimos obtener acceso a esta interfaz descubriendo la contraseña a través de la fuerza bruta.
Un exámen de la interfaz administrativa reveló que era vulnerable a inyección de código, que se utilizaba para obtener acceso interactivo al sistema subyacente, después de un exámen más detallado, se descubrió que el servidor web comprometido no utilizaba filtrado en su código html y esto perjudicaba a los usuarios en el momento de autenticarse. Se añadió una carga maliciosa por medio de código JavaScript al servidor web y éste dio acceso interactivo a las estaciones de trabajo utilizadas por los empleados de xxxxx.
Usando el servidor web comprometido como punto pivotante junto con las contraseñas recuperadas de él, se pudo apuntar a recursos internos previamente inaccesibles, esto dió lugar a acceso de administrador local a numerosos hosts internos de windows, comprometiendo por completo una estación de trabajo Windows XP y por medio de este se toma el control administrativo de la infraestructura de windows, los controles de tráfico de red existentes se desviaron mediante la encapsulación del tráfico malintencionado en protocolos permitidos.
En conclusión, se han identificado áreas en las que no se cumplen las políticas de seguridad, esto representa un riesgo para la organización y por lo tanto, se debe declarar el sistema como inseguro.
Informe Técnico PenTest
Detección remota del sistema
A los efectos de esta evaluación, xxxxx proporcionó información mínima de la organización. La intención era simular de cerca un adversario con poca información interna, evitar ambigüedades en la segmentación de los sistemas que no fueran propiedad de xxxxx, se sometieron a verificación todos los sistemas propiedad de la compañía antes de que se llevaran a cabo los ataques.
Para identificar la superficie de ataque, se examinaron los servidores de nombres del dominio www.xxxxx.com.
Con los servidores de nombres identificados, se intentó realizar una transferencia de zona, se encontró que ns405.xxxxx.com era vulnerable por una configuración incorrecta y que se podía hacer una transferencia de la zona DNS, esto proporcionó una lista de nombres de host y direcciones IP asociadas, a los que podrían dirigirse el ataque. La transferencia de zona proporcionará información detallada sobre las capacidades de la organización, también puede filtrar información sobre los rangos de red propiedad de la organización.
La lista de hosts identificados se envió a xxxxx para su verificación, la cual autorizó que todo el rango de red 10.1.1.x/xx debería incluirse en el ámbito de evaluación. A continuación, estos sistemas se analizaron para enumerar los servicios en ejecución, todos los servicios identificados fueron examinados en detalle para determinar su posible exposición a un ataque dirigido.
A través de una combinación de técnicas de enumeración DNS y escaneo de red, se pudo construir una infraestructura que refleja la red de xxxxx.
Compromiso de la interfaz del servidor web de administración
Se descubrió que el servidor web admin.xxxxx.com ejecutaba un servidor web Apache en el puerto 81. El acceso a la dirección URL raíz de este sitio dio lugar a la visualización de una página en blanco, a continuación, se realiza un análisis de enumeración rápida del sistema en busca de directorios y archivos comunes.
Los resultados del análisis revelaron que junto con los archivos predeterminados comunes de Apache, se identifica un directorio userinfo.php que arroja un usuario "admin".
Para preparar un intento de fuerza bruta dirigido contra este sistema, se compila un archivo de diccionario personalizado basado en el contenido del sitio web de DirBuster. El diccionario inicial consistía en 331 palabras personalizadas, que luego se sometieron a varias rondas de permutaciones y sustituciones para producir un archivo de diccionario final de 16.201 palabras, este archivo de diccionario se utilizó junto con el nombre de usuario "admin" en la sección protegida del sitio.
Este ataque de fuerza bruta descubrió una contraseña de "xxxxx" para el usuario administrador, se pudo aprovechar estas credenciales para obtener con éxito acceso no autorizado a la parte protegida del sitio web.
La parte administrativa del sitio web contenía la interfaz web a la base de datos MySQL, a la que se podía acceder sin credenciales adicionales, utilizando esta interfaz, se encontró lo que parecía ser la base de datos que soportaba una instancia de phpMyAdmin.
La interfaz dió acceso directo a los datos y la capacidad de extraer una lista de usuarios en el sistema con las contraseñas asociadas.
Escalada de Privilegios Administrativos
Con el acceso interactivo al sistema encontramos que habían terminales vulnerables a una escalada de privilegios local, que pudimos utilizar con éxito.
El uso de Metasploit fué posible debido a la inclusión del exploit netapi en el sistema vulnerable, con la capacidad de obtener acceso administrativo completo, una parte maliciosa podría utilizar este sistema vulnerable para una multitud de propósitos, que van desde ataques contra xxxxx, hasta ataques contra sus clientes.
Conclusión
La compañia sufrió una serie de fallas de control, lo que llevó a un compromiso completo de activos críticos. Estos fracasos habrían tenido un efecto dramático en las operaciones de xxxxx si una parte maliciosa los hubiera explotado, las directivas actuales relativas a la reutilización de contraseñas y los controles de acceso implementadas no son adecuadas para mitigar el impacto de las vulnerabilidades detectadas.
Los objetivos específicos de la prueba de penetración se indicaron como:
- Identificar si un atacante remoto podría penetrar las defensas de xxxxx.
- Determinar el impacto de una grieta de seguridad.
- Vulnerar la confidencialidad de los datos privados de la empresa.
- Comprometer la infraestructura interna y disponibilidad de los sistemas de información de xxxxx.
Se cumplieron estos objetivos de la prueba de penetración. Un ataque dirigido contra xxxxx puede resultar en un compromiso completo de los activos de la organización, múltiples cuestiones que normalmente se considerarían menores fueron aprovechadas en conjunto, lo que resultó en un compromiso total de los sistemas de información de xxxxx. Es importante tener en cuenta que este colapso de toda la infraestructura de seguridad de xxxxx se puede atribuir en gran medida a controles de acceso insuficientes tanto en el nivel de red como de host.
Se deben realizar los esfuerzos adecuados para introducir una segmentación efectiva de la red, lo que podría ayudar a mitigar el efecto de las fallas de seguridad en cascada en toda la infraestructura.
Recomendaciones
Debido al impacto descubierto en la organización por esta prueba de penetración, se deben asignar los recursos adecuados para garantizar que los esfuerzos de corrección se lleven a cabo de manera oportuna. Si bien una lista completa de los elementos que se deben implementar está fuera del alcance de este proyecto, algunos elementos de alto nivel son importantes mencionar.
Se recomienda lo siguiente:
- Asegurarse que se utilizan credenciales fuertes en toda la organización, el compromiso en el sistema xxxxx esta drásticamente afectado por el uso de contraseñas débiles, así como la reutilización de contraseñas en sistemas de diferentes niveles de seguridad. Se recomienda unas buenas directrices para el funcionamiento de directivas de contraseñas de empresa.
- Establecer límites de confianza, cada segmento de confianza debe poder verse comprometido sin que la infracción se conecte fácilmente a otros segmentos, esto debe incluir el uso de cuentas administrativas únicas para que un sistema comprometido en un segmento no se pueda utilizar en otras ubicaciones.
- Hacer cumplir la implementación del control de cambios en todos los sistemas: Se descubrieron problemas de configuración incorrecta e implementación insegura en los distintos sistemas, las vulnerabilidades que surgieron se pueden mitigar mediante el uso de procesos de control de cambios en todos los sistemas de servidor.
- Implementar un programa de gestión de parches, es un componente importante para mantener una buena postura de seguridad, esto ayudará a limitar la superficie de ataque que resulta de la ejecución de servicios internos sin parches.
- Realizar evaluaciones periódicas de vulnerabilidad, como parte de una estrategia eficaz de gestión de riesgos organizacionales, las evaluaciones de vulnerabilidad deben llevarse a cabo de forma regular, si lo hace, la organización podrá determinar si los controles de seguridad instalados están funcionando según lo previsto y produciendo el resultado deseado.
Calificación de riesgos
El riesgo global identificado para xxxxx como resultado de la prueba de penetración es alto. Se descubrió una ruta directa de ataque y por medio de ésta comprometer por completo sistema, es razonable creer que una entidad maliciosa sería capaz de ejecutar con éxito un ataque contra xxxxx a través de ataques dirigidos.