Saltar a contenido

Network IG RPT, Network AP RPT, Remote Exploits & Privilege Escalation

Introduction

Esta unidad presenta los pasos iniciales para usar Core Impact en el Core Impact Azure demo environment, y luego presentará una visión general de las características básicas de pentesting del producto a través de los módulos de Rapid Penetration Testing.

Features

  • Crear un workspace para una sesión de pen test
  • Escanear hosts de la red e identificar servicios
  • Lanzar exploits remotos en hosts de red
  • Lanzar verificadores de identidad en hosts de red
  • Obtener información local de hosts comprometidos
  • Escalar privilegios
  • Realizar limpieza de OS Agents desplegados
  • Generar un reporte de vulnerabilidades encontradas

Highlighted Modules

  • Network Information Gathering RPT
  • Network Attack and Penetration RPT
  • Network Local Information Gathering RPT
  • Network Privilege Escalation RPT
  • Network Clean Up RPT
  • Network Report Generation RPT
  • Shell
  • File Browser
  • Samba Pipe dlopen Remote Code Execution Exploit
  • SSH Identity Verifier
  • Linux Kernel eBPF Local Privilege Escalation Exploit

References

Walkthrough

Hosts

  • Samba Pipe dlopen Remote Code Execution Exploit
  • Hostname: ubuntu.internal.cloudapp.net
  • IP Address: 10.27.34.67
  • Linux Kernel eBPF Local Privilege Escalation Exploit
  • Hostname: test-virtual-machine.internal.cloudapp.net
  • IP Address: 10.27.34.83

Connect to Demo Environment

  1. Desde tu workstation, inicia Remote Desktop Connection y conéctate a la dirección IP proporcionada para la VM del Impact Client en el demo environment.
  2. Cuando se soliciten credenciales, selecciona More choices y luego Use a different account.
  3. Ingresa .\Impact como username.
  4. Ingresa la contraseña proporcionada para el usuario.
  5. Haz clic en OK.

Install Core Impact License Bundle

El escritorio de la VM del Impact Client tendrá el paquete de license bundle para el usuario y entorno actual.

Impact Client VM desktop

  1. Haz doble clic en el paquete de license bundle.
  2. Ingresa la passphrase proporcionada y haz clic en Decrypt.
  3. Esto descifrará el instalador del license bundle y lo ejecutará.

License bundle ready to install

  1. Haz clic en Install.
  2. Espera a que el instalador complete el proceso.

License bundle installed

  1. Haz clic en Finish.
  2. El instalador iniciará Core Impact.

Active Core Impact

Core Impact necesita ser activado en la máquina, por lo que sigue el asistente en el demo environment.

Activation Welcome

  1. Haz clic en Next.

Activation Method

  1. Haz clic en Next.

Activation Machine Identification

  1. Haz clic en Next.

Activation Internet Settings

  1. Haz clic en Next y espera a que la activación se complete.

Activation Activating
Activation Activated

  1. Haz clic en Finish.

Create Workspace

Todas las tareas de pentesting y los resultados en Core Impact se realizan en workspaces que se pueden usar para separar sesiones de pen testing y revisar resultados posteriormente.

  1. Desde el dashboard de Core Impact, ve a Workspaces en el menú de la izquierda, haz clic en Create Workspace y luego en Blank Workspace.

New Workspace Dashboard

  1. Ingresa un nombre para el workspace y una passphrase (que debe tener al menos 8 caracteres).

New Workspace Name & Passphrase

  1. Haz clic en Finish.
  2. Se abrirá un nuevo workspace vacío.

New Workspace Result

Network Information Gathering

  1. Desde la sección de RPT selecciona y haz clic en Network Information Gathering RPT para descubrir hosts en la red.

Network IG RPT Welcome

  1. Haz clic en Next.

Network IG RPT Discovery Method

  1. Haz clic en Next.

Network IG RPT IP Version

  1. Haz clic en Next.

Network IG RPT IP Range Selection

  1. Haz clic en Next.

NOTA: El rango de la red se inicializará a la red local de la interfaz de red seleccionada actualmente del localagent de Core Impact: 10.27.34.0/24.

Network IG RPT Scan Type

  1. Selecciona Fast y haz clic en Finish.
  2. Espera a que el Network IG RPT complete la recopilación de información sobre la red.

Network IG RPT Results

  1. La topología de la red se puede mostrar como un gráfico cambiando la vista a través del Menú View > Show entities as > Map.

Network IG RPT Results

Network Attack and Penetration With Remote Exploits

PRECAUCIÓN: Debido a un problema conocido, antes de lanzar el Network Attack and Penetration es necesario modificar la arquitectura del Host objetivo. Para hacerlo, haz clic derecho en ubuntu.internal.cloudapp.net (10.27.34.67) > Propiedades > Modifica el arch de x86-64 a i386.

  1. Desde la sección de RPT, haz clic en Network Attack and Penetration RPT y selecciona ubuntu.internal.cloudapp.net (10.27.34.67) como el host objetivo.

Network AP RPT Welcome

  1. Haz clic en Next.

Network AP RPT Target Selection

  1. Haz clic en Next.

Network AP RPT Attack Method

  1. Haz clic en Next.
  2. En este punto solo vamos a lanzar exploits remotos.

Network AP RPT Attack Configuration

  1. Haz clic en Next.
  2. La opción Stop launching new modules on a target after an OS Agent is deployed está destinada a reducir el tiempo de ejecución si el objetivo es solo comprometer un host.
  3. Si el objetivo es ser exhaustivo en la detección (y tratar de explotar) vulnerabilidades en un host, esta opción debe dejarse sin marcar.

Network AP RPT Additional Settings

  1. Haz clic en Finish.
  2. Espera a que el Network Attack and Penetration RPT complete.
  3. El exploit Samba Pipe dlopen Remote Code Execution Exploit debería haber detectado y explotado la vulnerabilidad CVE-2017-7494, y un OS Agent debería haberse desplegado en el host.

Network AP RPT Results

Interacting With Deployed OS Agent

El control de un host comprometido ahora es posible a través del OS Agent desplegado. Este agente tiene capacidades para explorar el sistema de archivos local, iniciar programas y crear nuevas conexiones de red desde el host.

  1. Haz clic derecho en el OS Agent desplegado en el host ubuntu.internal.cloudapp.net (10.27.34.67) y selecciona Shell.
  2. Puedes ejecutar comandos para explorar el sistema de archivos y lanzar programas en el host.

OS Agent Shell

  1. Cierra la ventana de Shell o ejecuta el comando exit para cerrarla.
  2. Haz clic derecho nuevamente en el OS Agent y selecciona Browse Files.

  3. El file browser se lanzará para explorar interactivamente el sistema de archivos del host, con capacidades para descargar/subir archivos desde el host.

OS Agent File Browser

En adición a estos módulos, Core Impact tiene módulos para recuperar información local de un host donde se ha desplegado un OS Agent, los cuales puedes encontrar en la categoría Information Gathering/Local de la sección Modules.

Network Local Information Gathering

Para mayor conveniencia, varios módulos locales que realizan recolección de información en un host se pueden lanzar a través del módulo Network Local Information Gathering RPT.

  1. Desde la sección de RPT, selecciona Network Local Information Gathering RPT y arrástralo y suéltalo en el OS Agent desplegado en el host ubuntu.internal.cloudapp.net (10.27.34.67).

Network LIG RPT Welcome

  1. Haz clic en Next.

Network LIG RPT Agent Selection

  1. Haz clic en Next.

NOTA: El OS Agent ya está seleccionado porque el módulo ha sido arrastrado y soltado sobre él. Alternativamente, podrías haber hecho clic en el módulo RPT y en este paso usar el botón de elipsis (...) para seleccionarlo (o configurar el módulo para ejecutarse en todos los OS Agents disponibles).

Network LIG RPT Modules to run

  1. Desmarca todas las categorías excepto OS/Environment Information para recuperar información básica sobre el host comprometido.

NOTA: Otras categorías disponibles se pueden usar para lanzar módulos que detecten otros problemas a los que el host puede ser vulnerable, intentar extraer credenciales del sistema operativo o de programas de navegador/correo electrónico, etc.

  1. Haz clic en Finish.

El módulo Local Information Gathering se ejecutará, y varios módulos hijos se pueden ver después de expandirlo en la sección Executed Modules, cada uno de los cuales proporcionará output y log asociados a la tarea que realizan.

Network LIG RPT Results

Network Attack and Penetration With Identity Verifiers

En esta sección lanzaremos nuevamente el módulo Network Attack and Penetration, pero en lugar de usarlo para lanzar exploits en los sistemas objetivo, utilizaremos la funcionalidad de identity verifiers para intentar detectar credenciales débiles realizando dictionary attacks en los sistemas objetivo.

Si seleccionas el host test-virtual-machine.internal.cloudapp.net (10.27.34.83), la sección de puertos y servicios en la información rápida mostrará que el sistema está ejecutando el servicio ssh, así que intentaremos encontrar credenciales débiles configuradas en ese servicio.

  1. Desde la sección de RPT, arrastra y suelta Network Attack and Penetration RPT en el host test-virtual-machine.internal.cloudapp.net (10.27.34.83).

Network AP RPT Welcome

  1. Haz clic en Next.

Network AP RPT Target Selection

  1. Haz clic en Next.

Network AP RPT Attack Method

  1. Desmarca la opción para lanzar módulos de exploit y selecciona la opción para lanzar módulos de identidad.
  2. Haz clic en Next.

Network AP RPT Attack Configuration

  1. Haz clic en Next.

NOTA: Dejamos estas opciones marcadas porque queremos intentar desplegar un OS Agent con credenciales válidas que el ataque de diccionario (dictionary attack) pueda encontrar.

Network AP RPT Additional Settings

  1. Selecciona ambas opciones en la sección de Identity verifiers:
  2. Selección de protocolo de Identity verifier
  3. Método de ataque de Identity verifier
  4. Haz clic en Next.

Network AP RPT Identity Attack Selection

  1. Haz clic en el botón Uncheck All y luego seleccion

a la opción SSH. 10. Haz clic en Next.

Network AP RPT Identity Attack Type

  1. Haz clic en Next.

Network AP RPT Identity Attack Configuration

  1. Selecciona Deep para usar una lista extendida de nombres de usuario y contraseñas comunes para el ataque de diccionario (dictionary attack).
  2. Haz clic en Next.

Network AP RPT Identity Attack Options

  1. Haz clic en Finish.

El módulo Network Attack and Penetration lanzará y ejecutará el SSH Identity Verifier. Este módulo genera varias tareas secundarias para realizar pruebas en paralelo según la configuración, rotando los nombres de usuario probados para intentar evitar bloqueos.

Después de un tiempo, el módulo debería encontrar un conjunto válido de credenciales en el sistema objetivo y usarlas para desplegar un OS Agent en el host.

Network AP RPT Identity Attack Results

Network Privilege Escalation

Una vez más, el OS Agent se puede aprovechar para intentar obtener información en el host comprometido utilizando módulos locales, como se mostró anteriormente en la sección de Network Local Information Gathering.

El OS Agent desplegado a través de la identidad encontrada, sin embargo, es de un usuario estándar/limitado en el host. Podemos intentar ver si podemos elevar privilegios en el sistema explotando una vulnerabilidad de privilege escalation no parcheada.

  1. Desde la sección de RPT, selecciona y haz clic en Network Privilege Escalation RPT y arrástralo y suéltalo en el OS Agent desplegado en el host test-virtual-machine.internal.cloudapp.net (10.27.34.83).

Network Privilege Escalation RPT Welcome

  1. Haz clic en Next.

Network Privilege Escalation RPT Agent Selection

  1. Haz clic en Next.

Network Privilege Escalation RPT Exploits Selection

  1. Haz clic en Next.

Network Privilege Escalation RPT Autorun

  1. Haz clic en Finish.

El módulo Privilege Escalation RPT se lanzará, el cual comenzará a lanzar exploits para intentar detectar y aprovechar vulnerabilidades disponibles para desplegar un OS Agent con privilegios adicionales.

Después de un tiempo, puedes ver que esto se logra con el módulo Linux Kernel eBPF Local Privilege Escalation Exploit.

Network Privilege Escalation RPT Results

Clean Up

Cuando la sesión de pentesting esté completa, los OS Agents desplegados en los hosts comprometidos se pueden desinstalar para eliminar procesos en ejecución y conexiones a esos hosts a través del módulo Network Clean Up RPT.

  1. Desde la sección de RPT, selecciona y haz clic en Network Clean Up RPT.

Network Clean Up RPT Welcome

  1. Haz clic en Next.

Network Clean Up RPT Confirm

  1. Haz clic en Finish.

Verás que los OS Agents desplegados en la sesión han sido desinstalados.

Network Clean Up RPT Results

Generate report of vulnerabilities

Finalmente, generaremos un Vulnerability Report para mostrar las vulnerabilidades identificadas y explotadas en el workspace.

  1. Desde la sección de RPT, selecciona y haz clic en Network Report Generation RPT.

Network Report Generation RPT Welcome

  1. Haz clic en Next.

Network Report Generation RPT Report Type Selection

  1. Selecciona Network Vulnerability Report y haz clic en Next.

Network Report Generation RPT Report Format

  1. Haz clic en Finish.

El módulo Network Report Generation RPT generará el reporte y lo abrirá utilizando el programa asociado para abrir hojas de cálculo de Excel.

Network Report Generation RPT Results

Aunque no se muestra aquí, los reportes basados en Excel en Core Impact permiten ser personalizados después de ser generados. Adicionalmente, el usuario también puede personalizar un reporte existente basado en Excel antes de que se complete con los resultados del workspace, de modo que estas personalizaciones se puedan aplicar cada vez que se genere el reporte duplicado. El usuario puede actualizar imágenes de marca, textos introductorios, mostrar/quitar secciones, y personalizar tablas de resultados y gráficos.