Mostrando entradas con la etiqueta parte2. Mostrar todas las entradas
Mostrando entradas con la etiqueta parte2. Mostrar todas las entradas
RECORDAMOS

En el artículo de ayer, se utilizo #Metasploit para explotar una vulnerabilidad de JAVA a través del navegador WEB, con este tipo de ataque se pudo comprometer un equipo de la red privada (192.168.3.0/24) del escenario propuesto para la demostración.


Además, una vez que se había comprometido al usuario A (USR-A)  se configuro #Metasploit para utilizar al usuario A como "pivote", y de esa forma poder explorar la red interna de la empresa como si el ATACANTE se encontrará directamente conectado en la red privada 192.168.3.0/24.


CONTINUACIÓN

La información de la que se dispone, tras las primeras averiguaciones dentro de la red privada (PRIVATE) donde se encuentra ubicado nuestro equipo comprometido, es que existe un equipo en otra red 192.168.2.0/24, concretamente se trata de la IP:192.168.2.3 y que tiene establecida una conexión con el equipo 192.168.3.3 por el puerto 445, habitualmente utilizado para compartir archivos en la red.

Para cerciorarnos, se va a utilizar nmap para escanear el equipo objetivo a través de nuestro pivote (USR_A), esto nos permitirá iniciar la exploración de la red interna como si el mismísimo equipo USR_A fuera quien ejecutará dichas acciones, es decir, la dirección IP detectada por el equipo 192.168.2.3 como origen de las conexiones (ataques) será la misma que la del usuario A (USR-A).

Pero para conectar el tráfico generado por la aplicación nmap en el equipo del atacante con la sesión de metasploit, se va a utilizar un módulo auxiliar que tiene "metasploit" muy útil para estos casos, se trata de un mini servidor proxy del tipo sock4a. Los proxy sock4 son capaces de redirigir todas las conexiones generadas en cualquier puerto.

A continuación se pueden ver los comandos utilizados para activar el servidor sock4a en metasploit:
Fase 2: Activando un proxy server sock4 para conectar el nmap a metasploit.

Una vez se haya iniciado (comando run) el servidor en metasploit, se configurar proxychains, que es un programa que enviará el tráfico generado por nmap al servidor proxy sock4a, para que a su vez éste, se lo envié a metasploit quien lo transmitirá al pivote (USR-A).



Antes de ejecutar el comando nmap, es necesario configurar el fichero de configuración de proxychains.conf que se puede encontrar en el directorio /etc del equipo Linux BT5.

Una vez configurado el proxychains, se procede a ejecutar en la consola de Linux, el comando de nmap que realizará un escaneado sencillo sobre la red interna, como si el propio atacante (BT-Linux) estuviera conectado a la red interna, esto gracias a la técnica de "pivoting" de #metasploit.

Fase 2: Exploración con NMAP y proxychains.
En el ejemplo, se ha utilizado el conjunto de puerto típicos para evitar realizar un escaneado completo de todos los puertos, ahorrando tiempo de ejecución y ancho de banda utilizado, así como minimizar el ruido generado en la red interna de la empresa.

Para demostrar que efectivamente, se esta realizando el pivoting, se realizo una captura de tráfico en el equipo 192.168.2.3 (objetivo).

Fase 2: Capturando tráfico en el equipo objetivo.
Como se puede observar en la imagen superior, el origen del tráfico capturado por el equipo objetivo procede del equipo comprometido 192.168.3.3 (pivote).

Tras examinar el resultado del scanning del equipo objetivo 192.l68.2.3 se puede sacar la conclusión que casi con toda seguridad ese equipo será un Windows XP con el servicio de carpetas compartidas en red activo.

Ahora solo queda probar suerte, a ver si el equipo detectado no tiene el sistema actualizado. Vamos por tanto a probar suerte con una vulnerabilidad publicada en el 2008 sobre el protocolo SMB. Para ello hacemos una búsqueda en #Metasploit hasta encontrar la ms08_067_netapi, la configuramos y se ejecuta ¿Qué pasará?

Fase 3: Atacando a nuestro Objetivo

A continuación, se deja unas capturas de pantalla, con el resultado de configurar y ejecutar dicha vulnerabilidad:

Fase 3: Explotando un equipo en la red DMZ a través del pivoting.
Una de las curiosidades, que se pueden observar en la imagen superior son:

  • Utilización del puerto 443
  • Utilización de bind_tcp
El utilizar el puerto 443, para conectar la shell remota con el equipo al que se va a intentar atacar, y bind_tcp, significa que la conexión la va a iniciar el atacante, que en este caso, y debido a la técnica del pivoting, será originada por el equipo USR-A comprometido.

Fase 3: Ataque a un equipo de la red interna utilizando el Pivoting.
Se ha tenido exito en el ataque, se ha logrado llegar a la red 192.168.2.0/24, al tener comprometido un equipo de la red, con una shel remota "meterpreter", que se encuentra activa mientras el "pivote" (USR-A) se mantenga conectado y comprometido.

Fase 3: Objetivo conseguido.
Una vez tenemos el control sobre el equipo objetivo se realizará la exploración del disco duro y del sistema en busca de información relevante.

Con meterpreter existe la opción de utilizar un script que automatiza todo el proceso, me estoy refiriendo a "winenum" es un script que vuelca en una carpeta de nuestro disco duro  (./msf4/logs/scripts/winenum/)toda la información que se puede obtener del ordenador comprometido, desde hash de las password, hasta los tokens, pasando por la políticas de dominio, etc. Incluso, detecta si el equipo comprometido es una máquina virtual o no.

Fase 3: Ejecutando script winenum de meterpreter para obtener información del equipo comprometido.

Hasta aquí, con el Taller de Hacking, y con el artículo.

El contenido de este artículo es meramente informativo y/o con fines educativos, no me hago responsable del uso que de él se pueda hacer.

Un Saludo, hasta el próximo evento.


Indice:

















Como continuación de la primera parte de esta serie, nos introducimos de lleno en la primera etapa de la metodología para un Análisis de la Seguridad de la Aplicaciones Móviles; La correspondiente a la fase de preparación y recepción de toda la información necesaria para llevar a cabo el análisis de seguridad correspondiente en las etapas siguientes.

                                                                 

E1: Information Gathering

En la primera etapa de la metodología se establece una serie de pasos y/o tareas que el auditor deberá realizar con el objetivo de prepararse para las siguiente fases de la metodología. 

En esta etapa se llevará a cabo un reconocimiento de la aplicación con objeto de identificar la magnitud y alcance de la aplicación. Será necesario la recopilación de la información que ayude a identificar la infraestructura que proporciona soporte a la aplicación así como sus posibles vectores de ataque, esta fase también es conocida como  la fase de "Reconocimiento".

Las Actividades y tareas a realizar durante esta etapa son:

  • E1.A1: Requisitos y/o características necesarias para la Auditoria
  • E1.A2: Análisis de los requisitos de Comunicación
  • E1.A3: Análisis de las funcionalidades y/o características de la aplicación
  • E1.A4: Análisis de la arquitectura software de la aplicación
A continuación se detallan las tareas que cada una de las Actividades aquí planteadas deberían de aplicar.

E1.A1: Requisitos y/o características necesarias para la Auditoria

  • E1.A1.T1 Identificar el sistema operativo y plataforma de desarrollo (SDK) de la aplicación a auditar.
  • E1.A1.T2 Identificar la necesidad de la aplicación de utilizar un dispositivo con acceso "root" o en su defecto "jailbroken" (IOS desbloqueado).
  • E1.A1.T3 Registrar y/o configurar una cuenta de usuario destinada para las pruebas de auditoria, con objeto de disponer al menos de dos cuentas de usuario. (Ideal para realizar las pruebas de elevación de privilegios).
  • E1.A1.T4 Implementar una infraestructura / laboratorio para la realización de la auditoria / pruebas que permita la interceptación y registro de las comunicaciones de red (Man in the Middle), con soporte para realizar un bypass de los certificados de las conexiones seguras (HTTPS).

E1.A2: Análisis de los requisitos de Comunicación

  • E1.A2.T1 Registro (sniffing and logging) de todas las conexiones / comunicaciones de la aplicación, bien realizadas sobre el dispositivo móvil físicamente o en laboratorio de pruebas (simulador / emulador).
  • E1.A2.T2 Identificación de las interfaces de comunicación utilizada por la aplicación móvil: NFC, Bluetooth, Wifi, 3G/4G, VPN, etc
  • E1.A2.T3 Identificación de requisitos específicos en las comunicaciones de la aplicación para el correcto funcionamiento. Ejemplo: es necesario tener activada la WiFi para funcionar o es suficiente con tener conexión 3G/4G.
  • E1.A2.T4 Listado de los protocolos de comunicación utilizados. Identificar la necesidad y correcta utilización de los mismos. Ejemplo: Se utiliza HTTPS para transmitir datos seguros cuando es necesario, o en caso de necesidad (firewall) puede establecerse la comunicación sin cifrado (HTTP) en lugar de HTTPS, ¿es esto posible? anotar toda la información descubierta.
E1.A3: Análisis de las funcionalidades y/o características de la aplicación

  • E1.A3.T1 Utilización manual de la aplicación con el fin de establecer el flujo de trabajo, así como entender el funcionamiento básico de la aplicación. Esta tarea puede ser llevada a cabo sobre la ejecución de la aplicación en un terminal físico o en un emulador / simulador.
  • E1.A3.T2 Identificar las interacciones de la aplicación con otras aplicaciones, servicios o acceso a datos tales como: 
    • Acceso datos de contacto.
    • Acceso a información del telefono (registro de llamadas, SMS, etc).
    • Utilización de la aplicación Google Wallet (tarjeta monedero).
    • Servicios de almacenamiento en la nube (dropbox, box, drive, skydrive, icloud, etc).
    • Integración con redes sociales (facebook, twitter, tuenti, flickr, instangram, google+, etc).
    • Otras aplicaciones: Correo electrónico, block de notas, etc.
E1.A4: Análisis de la arquitectura software de la aplicación

  • E1.A4.T1 Realizar una búsqueda (motores de búsquedas, foros, repositorios de código fuente, etc) exhaustiva sobre la aplicación en Internet, con objeto de recopilar toda la información posible sobre su arquitectura interna. Ejemplo: código / librerías (API) de 3rd utilizados y/o integrados dentro de la aplicación.
  • E1.A4.T2 Identificación y recopilación de información sobre el entorno de ejecución de la aplicación en el lado del servidor (si éxiste). Ejemplo:
    • Hosting
    • Entorno de desarrollo (Rails, ASP.NET, Java, Django, etc)
    • Sistema de autenticación (Single Sign On o API)
    • API / Librerías (Adsense, Cloud, Cifrado, etc)
  • E1.A4.T3 Identificación y listado (primera impresión), en función de la información recopilada, de los posibles (potenciales) puntos de interés de la aplicación desde el punto de vista de la seguridad. Ejemplo: debilidad en la credenciales, errores, información cacheada, etc.
En la siguiente entrega continuaremos con la descripción de la segunda etapa de la metodología, la correspondiente al Análisis Estático de la aplicación móvil, en dicha fase es donde se realiza la revisión y/o auditoria del código fuente principalmente. 

Referencias:
En la segunda entrega de mi artículo "Windows 8 Pro: Seguridad, primeras impresiones (I)", voy a empezar con enumerar algunas de las opciones de Seguridad que Windows 8 trae por defecto, algunas de ellas no están exentas de polémica como el "Secure boot", o lo que es lo mismo, el arranque seguro que ha implementado Microsoft.

Manteniendo me fiel al estilo de la primera entrega, no esperéis un análisis técnico exhaustivo de las opciones de seguridad, sino más bien una panorámica de lo que he ido encontrando en el sistema tras "pocos" días de uso.

MEJORAS EN SEGURIDAD

Son numerosos los blog y páginas de Internet que escriben o hablan sobre las nuevas opciones y características de Windows 8, sin embargo, no todas hablan de las mejoras de Seguridad que incorpora , de modo que vamos a empezar enumerando algunas de ellas:
  • Antivirus incluido de serie: Microsoft Defender.
  • Protección de arranque (BIOS), nuevo inicio Seguro: Secure Boot (UEFI).
  • Navegación Segura con Internet Explorer 10 y SmartScreen.
  • Protección Infantil.
  • Generación de nuevas contraseñas mediante imágenes.
  • Interfaz METRO que incluye un Sandbox para ejecución segura de aplicaciones.
  • Mejora en el sistema ASLR (Address Space Layout Randomization) y DEP (Data Execution Prevention), protección de acceso y ejecución de procesos no autorizados.
  • Mejoras en el Administrador de Tareas.
A continuación vamos a ir analizando cada una de las mejoras que trae Windows 8.

MICROSOFT DEFENDER

O deberíamos de decir "Microsoft Security Essentials", lo cierto es que Windows 8 incluye de serie una protección frente malware, virus, spyware, rootkits, etc; con una protección en tiempo real que consume muy pocos recursos.

No obstante, se debe de tener en cuenta, que por defecto no viene configurado para analizar las unidades externas extraíbles (USB), por lo que deberemos de activar esa protección para analizar automáticamente todos aquellos USB que conectemos al equipo.

Windows 8 - Microsoft Defender activar análisis de USB
Si quieres más detalles sobre las funciones y/o capacidades que tiene Microsoft Defender, es mejor que leas el artículo donde analizo con mayor detalle Microsoft Security Essentials.

FILTRO SMARTSCREEN

¿Qué es? 

Es un función que ayuda a proteger el equipo de aplicaciones desconocidas y/o software malintencionado (malware) que el antivirus aún no ha detectado e incluido en sus bases de datos. Básicamente, es una característica que "ayuda" a bloquear aplicaciones sospechosas.

¿Cómo funciona?

Cuando descargues y ejecutes una app descargada de Internet, SmartScreen usará información sobre la reputación de la app para indicarte si la app no es una app conocida y puede ser malintencionada.

Esta función no es del todo nueva, ya se encontraba incluida en las versiones anteriores de Internet Explorer 8 y 9, la novedad es que en Windows 8 extiende esa función a todo el Sistema, incluido la nueva versión del navegador IExplorer 10.

¿Configuración?

Esta característica es un poco controvertida, por defecto enviará información sobre la aplicación instalada en nuestro equipo para que sea analizada en los servidores de Microsoft, y determinar si existe o no algún riesgo.

Por lo que he aquí un "mini" problema de privacidad ¿Qué hace Microsoft con esa información? A mi personalmente no me convence demasiado, pues cada vez que instales una aplicación se envía información a sus servidores que incluye la dirección IP desde donde se ha descargado y/o ejecutado la aplicación.

Además, del tema de la privacidad, no existen garantías que el filtro SmartScreen sea capaz de detectar y/o bloquear software malintencionado, pues se basa en conjeturas sobre la reputación de la aplicación, y en caso de no tener información sobre ella, por defecto bloquea la ejecución. ¿Qué garantías de fiabilidad puede tener un filtro basado en la reputación de la aplicación?

Para bloquear este tipo de software desconocidos (malware) existen otras aplicaciones como por ejemplo, EMET o Exploitshield, que consiste en bloquear a las aplicaciones que intentan ejecutar técnicas de explotación de vulnerabilidades, donde en mi opinión, merecen más confianza.

Algunos datos interesantes sobre EMET (Enhanced Mitigation Experience Toolkit v3.0):

El Kit de herramientas de Experiencia de mitigación mejorada (EMET) es una utilidad que ayuda a prevenir que exploten vulnerabilidades de seguridad en el software. EMET logra esto mediante el uso de tecnologías de mitigación de seguridad. Estas tecnologías funcionan como protecciones especiales y los obstáculos que debe rechazar el autor de un ataque para aprovechar las vulnerabilidades de software. Estas tecnologías de reducción de seguridad no garantizan que no se puedan explotar las vulnerabilidades de seguridad. Sin embargo, trabajan para hacer que la explotación sea tan difícil de realizar como sea posible. En muchos casos, puede que nunca se desarrolle una vulnerabilidad totalmente funcional que pueda pasar por alto EMET.
[Mas Información]

INTERNET EXPLORER 10

Poco que añadir al respecto, simplemente es una versión actualizada del Internet Explorer 9, que incluye mejoras de seguridad al solucionar "bugs" de versiones anteriores, y las siguientes características:


Navegación InPrivate. Los navegadores guardan información, como tus historiales de búsqueda, para que tu experiencia de navegación mejore. Cuanto utilizas una pestaña de InPrivate podrás navegar normalmente, pero algunos elementos como las contraseñas, el historial de búsqueda y el historial de páginas de Internet visitadas se borrarán al cerrar la pestaña. 
Protección de Rastreo. La Protección de Rastreo envía una señal a los sitios de Internet que no quieras que recojan datos sobre tu visita y que se usan para hacer un seguimiento de tu navegación por Internet. La respuesta o interpretación de la solicitud de "No seguir" depende de las prácticas de privacidad de los sitios web que elijas visitar.
SmartScreen Filter. Si un sitio te parece sospechoso, lo mejor es que no descargues aplicaciones de allí ni proporciones tu cuenta o información personal. Pero a veces es difícil saber si un sitio es o no es legítimo. SmartScreen te ayuda a identificar sitios de suplantación de identidad y malware reconocidos como tales y te permite tomar decisiones más fundamentadas sobre la descarga de aplicaciones.


Pero para que Internet Explorer 10, se ejecute en el entorno seguro "sandbox" es necesario que este establecida como navegador predeterminado en el Sistema, sino lo estuviera, se ejecutará en el escritorio y no en la interfaz Metro, por lo que quedaría fuera del sandbox.

Hasta aquí la "segunda entrega de mis primeras impresiones" con Windows 8. Hasta la próxima...