Frameshock al Descubierto!

Iniciado por Muppet, Febrero 03, 2015, 07:03:16 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


by hdbreaker

Antes que nada quiero agradecer a la comunidad que me ha ido reportando pequeños bugs de inestabilidad sobre el framework, los cuales he ido fixeando constantemente, a todos ellos les agradezco y los invito a descargar la ultima versión de su repositorio oficial:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Les recuerdo que el framework esta en fase BETA, en este momento solo es soportado por distribuciones Linux derivadas de Debian y esta en constante desarrollo, por lo que pido que todo aquel que haya identificado un error, actualice a la ultima versión del repositorio y confirme si el mismo sigue vigente.

En fin, un millón  de gracias por colaborar!

En esta entrada quiero presentar una pequeña guía para explicar el funcionamiento de Frameshock y solventar dudas en su utilización.

Lo primero a resaltar es que todo aquel que haya utilizado alguna vez Metasploit no encontrara mayores problemas al familiarizarse con Frameshock, ya que hemos decidido seguir la linea de interacción de msf con el usuario para facilitar la migración y evitar las complicaciones sintácticas que implica una nueva forma de trabajo.

Frameshock se divide en 4 grande partes:

  • El Main
  • El Payload
  • El Handler
  • Los Modulos


    El Main


    Este es el cuerpo principal del Framework, en el encontraremos todas las utilidades de configuración para el correcto funcionamiento del mismo, las opciones de configuración de los payloads, la posibilidad de acceder al MultiHander de Frameshock así también como a la opción de búsquedas con el motor de SHODAN y todas las modificaciones a la base de datos que esto representa.

    Lo importante a tratar en Frameshock, es que a diferencia de Metasploit las opciones de configuración del framework son globales, lo que nos permite acceder a las mismas desde módulos subyacentes brindado una excesiva flexibilidad al momento de desarrollar.

    Los Payload en Frameshock también son globales así también las búsquedas de SHODAN, permitiéndonos rápidamente realizar múltiples ataques y reconfiguraciones veloces sin necesidad de modificar nada dentro del modulo que estamos operando ni de las Sesiones obtenidas.

    Frameshock sigue esta linea de pensamiento:

    1) Elige el payload a utilizar..
    2) Inicia el Manejador de Sesiones.
    3) Selecciona un Modulo y Ataca.

    El Payload 


    A diferencia de Mestasploit, Frameshock ofrece solo 5 posibles Payloads.

    Cada uno cumple todas las necesidades que puede requerir un pentester dependiendo del sistema que va a atacar.

    Los payloads mas potentes de Frameshock están programados en python, dando una dependencia de la maquina víctima con el interprete.

    Esto fue solventado en linux, dando la posibilidad de generar 2 Payloads que dependen directamente de las Shells interactivas del sistema. Dado que algunos sistemas basados en ARM/IoT solo presentan /bin/sh creamos 2 payload que nos permiten gestionar Reverse Shell tanto en BASH como SH.

    La verdad es que todavía para atacar a maquinas Windows de forma eficiente nos encontramos desarrollando un payload en C/C++ pero por el momento se puede pasar el payload por Py2Exe para generar un ejecutable compilado y lograr realizar el ataque correctamente. Aunque siempre esta la posibilidad de atacar servidores Windows con PowerShell que incluyen Python por defecto.

    Dentro de los Payload tenemos 3 formas distintas de Funcionamiento.

    Los Python Payloads:

    Frameshock Main al seleccionar un Payload, genera un No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, el mismo se encuentra dentro de la carpeta del proyecto /Injector y a su vez es copiado dentro del directorio /Injector dentro la ruta definida por el usuario de Apache (/var/www en nuestro caso)

    /var/www/Injector/injector.py #Esto nos permite acceder al payload de forma remota por medio de wget luego de la explotación de la vulnerabilidad.

    injector.py es un pequeño código que se encarga de solicitarle al Handler el verdadero Payload para luego ejecutarlo On The Fly, evitando detecciones de Antivirus y realizando un mínimo trafico hacia internet .

    Diagrama:

    Victima (injector.py) --------------GiveMePayload----------> Atacante Handler
    Victima (injector.py) <-------------------Payload-------------  Atacante Handler
    Victima (Payload On Memory) ------Reverse Shell-----> Atacante Handler

    Los Shell Payloads:

    MainFrameshock  genera No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o injector.bash, el mismo seencuentra dentro de la carpeta del proyecto /Injector y a su vez escopiado dentro del directorio /Injector dentro la ruta definida por elusuario de Apache (/var/www en nuestro caso)

    /var/www/Injector/injector.sh || /var/www/Injector/injector.bash #Esto nos permite acceder al payload de forma remota por medio de wget luego de la explotación de la vulnerabilidad.

    En este caso No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o Injector.bash, retorna por medio de métodos especificos una shell interactiva directamente sin solicitar Payload al Handler.

    El Meterpreter Payload:

    MainFrameshock al seleccionar un Payload, genera un No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, el mismo seencuentra dentro de la carpeta del proyecto /Injector y a su vez escopiado dentro del directorio /Injector dentro la ruta definida por el usuario de Apache (/var/www en nuestro caso)

    /var/www/Injector/injector.py #Esto nos permite acceder al payload de forma remota por medio de wget luego de la explotación de la vulnerabilidad.

    injector.py es un pequeño código que se encarga de solicitarle al Payload correspondiente a Metasploit Multi/Handler, el cual posteriormente ejecuta On The Fly y devuelve una Meterpreter Session.

    El Handler


    El Handler se inicia desde el Main Menu ejecutando start handler, este es totalmente independiente y nos permite gestionar todos los tipos de Sesiones entregadas por los payloads, a excepción de Meterpreter, que es gestionado por Metasploit y depende su previa instalación.

    Frameshock Handler, se comporta de 2 formas distintas dependiendo del indentificador enviado por el payload.

    El mismo integra un Payload Manager encargado de enviar los Payload a los Injectors correspondientes y un Session Manager, encargado de gestionar de forma MultiThreading y Asincronica una ilimitada cantidad de Sesiones al mismo tiempo, permitiendo interactuar y volver a background a las Sesiones en cualquier momento por medio de los comandos interact y stop. Se espera en su proxima versión que sea capas de instalar un rootkit en los equipos deseados como modulo para mantener el acceso.

    En la siguiente imagen se puede apreciar, como un No tienes permitido ver los links. Registrarse o Entrar a mi cuenta solicita un payload al hanler y luego de su ejecución en memoria nos devuelve una Reverse Shell con la cual podemos interactuar en cualquier momento


    Los Modulos

    Los Modulos desarrollados por lacomunidad se encuentran en ExtraModules y deben seleccionarse y copiarsedentro de la carpeta Modules, respentando la nomenclatura y elcorrespondiente identificador numérico acorde a la cantidad de modulospresentes en la carpeta.

    Una vez hecho esto, podremos interactuar con los módulos seleccionados desde Frameshock con los comandos show modules y use {ModuleNumber}

    Importante: **** Antes de realizar el ataque con un modulo, debemos asegurarnos de haber creado un payload y haber iniciado el Handler *** 



    Una vez seleccionado un modulo, podemos visualizar sus opciones internas para adaptarlo a nuestras necesidades con el comando comando help

    Cabe desatacar que cada desarrollador puede adaptar las propiedades internas de sus módulos acorde a sus necesidades, Frameshock propone una estructura base que ha de respetarse para sacar el maximo provecho del framework.

    Entre las opciones por defecto de los modulos se expresa la función:  use shodan la cual carga como targets todos dispositivos obtenidos al utilizar la búsqueda por SHODAN en el Main Menu de Frameshock, permitiéndonos automatizar ataques masivos de forma sencilla y veloz.

    En el ejemplo a tratar en este manual se atacara a una Camara AXIS remota, vulnerable al modulo AXISIntruder desarrollado por [Q]3rv[0], el cual prueba contraseñas débiles en estos dispositivos, una vez logrado acceso sube el Payload y en unos segundos nos retorna una shell dentro del pequeño sistema interno de estos dispositivos.

    Cabe destacar que las cámaras AXIS ARM solo disponen de /bin/sh, por lo que nuestro payload deber ser acorde al ataque a realizar.




    Iniciamos el Handler:


    Seleccionamos el Modulo:


    Configuramos un Target Manual:


    Ejecutamos el Ataque:


    Esperamos unos segundos, y vemos como nuestro handler maneja la Sesión:


    Espero que esta guía solvente muchas de sus dudas, que les sea de utilidad y por sobretodo gracias por ayudarnos a volver realidad este gran proyecto!


    Saludos!

    Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Entonces él dijo, "cruzad con vuestras tropas y atacad porque es lo único que le queda a nuestro pueblo...".


+1
Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta