Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Usar un contenedor Docker de Metasploit Framework en REMnux




REMnux, la distribución de Linux desarrollada especialmente para analizar malware. REMnux está basada en Ubuntu y contiene una gran variedad de herramientas para el análisis de archivos maliciosos, documentos y páginas Web. La distribución contiene distintas herramientas de análisis forense de memoria e ingeniería inversa de malware. Ahora además podemos utilizar de forma más fácil Metasploit en REMnux ya que es capaz de ejecutar Metasploit Framework como un contenedor con Docker.




Utilizar Metasploit Framework como un contenedor Docker sin problemas de instalación

Metasploit Framework es una herramienta de código abierto de gran alcance para las pruebas de penetración. Ya sea que esté buscando para usarlo para trabajar o está simplemente interesado en experimentar con ella, puede ejecutar Metasploit Framework en un recipiente Docker sin tener que lidiar con el dolor de la instalación del código y sus dependencias. La imagen del contenendor Docker "remnux / Metasploit" está disponible como parte de la colección REMnux, gracias a los esfuerzos de configuración de Jean Christophe Baptiste.

Las siguientes instrucciones y ejemplos demuestran cómo se puede empezar a utilizar este contenedor Docker de Metasploit  en un laboratorio, así como en un servidor de acceso público. El contenedor proporciona la versión de línea de comandos Metasploit Framework de la herramienta. Carece de la interfaz basada en la web que se puede obtener si se instala la edición Comunidad, de la que deberías registrarte con Rapid 7. Las posibilidades de la línea de comandos de Metasploit Framework son muy poderosas y se prestan bien a la penetración tareas de pruebas que implican correr la herramienta en un sistema remoto.

Cómo poner en marcha el framwork de Metasploit contenedor en Docker


Para hacer uso de la imagen de Metasploit Dockerr, todo lo que necesita es un sistema suficientemente poderoso que está conectado a Internet y que tenga instalado Docker. Cuando se ejecuta un comando como el siguiente en un huésped tal, se descargará automáticamente la imagen desde el repositorio REMnux:

sudo docker run --rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit
 
En este ejemplo, hemos dirigido el contenedor Docker para ejecutar la aplicación "remnux / Metasploit" en un recipiente transitorio, que desaparecerá una vez que haya salido de ella (eso es lo que hace "-rm" a). El parámetro "-it" te permite interactuar con el recipiente usando un shell interactiva.
 

Para asegurar que los datos pertinentes se mantienen durante las invocaciones de contenedores, se ha utilizado el parámetro "-v" para asignar los directorios en mi anfitrión a las ubicaciones correspondientes en el interior del recipiente. La idea es usar el directorio "~ / .msf4" para los archivos de configuración de Metasploit Framework y el directorio "/ tmp / MSF" en el host puede almacenar otros datos que puede que desee guardar, como los artefactos que pueden obtener de los sistemas de destino.

El parámetro "-p" mapea los puertos en los que se espera recibir conexiones entrantes a los puertos correspondientes en el interior del recipiente. El ejemplo anterior utiliza el puerto TCP 443 con la expectativa de conexiones HTTPS entrantes de shells inversas






La imagen es bastante grande: más de 1,2 GB de tamaño, ya que incluye el entorno de ejecución completo para Metasploit Framework, junto con todas sus dependencias. Que se almacenan en caché localmente después de la descarga inicial. Si en algún momento desea actualizar la imagen para asegurarse de que está utilizando la versión más reciente utiliza el comando

sudo docker pull remnux/metasploit

El contenedor está configurado para actualizar automáticamente los módulos Metasploit cada vez que inicie la misma. Para añadir sus propios módulos, añadirlos a ~ directorio de su anfitrión / .msf4.

Ejemplo bajando el contenedor de Radare2



Imágenes Docker para REMnux para Análisis Malware

 

  • Google’s V8 JavaScript engine for JavaScript deobfuscation: remnux/v8
  • Thug low-interaction honeyclient: remnux/thug
  • Viper binary analysis and management framework: remnux/viper
  • Rekall memory forensic framework: remnux/rekall
  • JSDetox JavaScript analysis tool for deobfuscation: remnux/jsdetox
  • Radare2 reverse-engineering framework and disassembler: remnux/radare2
  • Pescanner static malware analysis tool for Windows PE files: remnux/pescanner
  • The Volatility Framework for memory forensics: remnux/volatility
  • MASTIFF static analysis framework for suspicious files: remnux/mastiff
  • Maltrieve for retrieving malware samples: remnux/maltrieve
  • Metasploit Framework for attack simulation: [remnux/metasploit](https://hub.docker.com/r/remnux/metasploit/

Prueba de manejo de la infraestructura de contenedores Metasploit


Ahora puedes comenzar a experimentar con Metasploit Framework después del lanzamiento de su contenedor "remnux / Metasploit" en su laboratorio. En el ejemplo vamos a usar un sistema Windows configurado débilmente en mi laboratorio con fines de ejemplo. Vamos a dirigir Metasploit Framework para conectarse de forma remota al sistema utilizando las credenciales que suministran, en lugar de atacar realmente la explotación de una vulnerabilidad. entonces vamos a abrir un shell HTTPS inversa para la consola de Metasploit Framework.


En la  misma sesión de ejemplo anterior, pusimos en marcha la herramienta msfconsole de Metasploit, a y a continuación, la dirigí a a un shell interactiva Meterpreter al sistema de destino. La conexión fue un túnel a través de HTTPS, que fue dirigida al contenedor de Metasploit Framework a través del puerto TCP 443.

La captura de pantalla de esta sesión se guarda en el directorio / tmp / datos dentro del contenedor. Cuando sales del contenedor, el contenido de ese directorio permanencen en el host en el directorio / tmp / MSF.

¿Qué es Docker? La nueva era de la virtualización


Docker es una tecnología de código abierto que le permite crear, ejecutar, probar e implementar aplicaciones distribuidas dentro de contenedores de software. Le permite empaquetar una aplicación en una unidad estandarizada para el desarrollo de software, que contiene todo lo que necesita para funcionar: código, tiempo de ejecución, herramientas y bibliotecas del sistema, etc.

Su principal función es la de poder empaquetar aplicaciones con todas las partes necesarias, incluyendo bibliotecas y dependencias, pudiendo luego ser reutilizado para otro tipo de aplicaciones.

Docker es uno de los proyectos más conocidos y utilizados en temas de virtualización. Lejos de ser un sistema operativo como tal, esta plataforma de código abierto hace uso de las funciones de aislamiento de recursos del kernel de Linux para poder dar lugar a contenedores independientes, dentro de los cuales se ejecutará una única aplicación con sus respectivas dependencias, pero funcionando siempre con un único kernel, el de la máquina real, en lugar de virtualizar uno por cada contenedor o máquina virtual

Gracias a Docker podemos montar un servidor web cargando en memoria solo los módulos del kernel necesarios y las dependencias de dicho servidor. Gracias a ello, nuestro servidor web ocupará apenas unas decenas de megas de memoria en vez de más de los 512 MB que ocupa todo el núcleo del sistema.

¿Cómo funciona Docker?


Docker se aprovecha de la capacidad de los núcleos de Linux 'para ejecutar aplicaciones en contenedores, que a veces se describen como "chroot con esteroides." Los contenedores proporcionan cada aplicación un entorno de tiempo de ejecución independiente, mientras que evita la sobrecarga de una máquina virtual.

Cada contenedor tiene su propio sistema de archivos virtual, lista de procesos y de pila de red; Sin embargo, los recipientes comparten el núcleo del sistema operativo entre sí y el anfitrión subyacente. En este sentido, el aislamiento proporcionado por contenedores es menos robusto que el de las máquinas virtuales reales, que tienen núcleos independientes y se ejecutan en la parte superior de un hipervisor. Sin embargo, compartiendo el kernel permite que los contenedores se ejecuten más rápido y ofrece características de administración que son difíciles de lograr con la virtualización tradicional.

Una aplicación distribuida de una imagen Docker incorpora todas las dependencias y configuración necesaria para que pueda ejecutar, eliminando la necesidad que los usuarios finales instalen paquetes y solucionen problemas de dependencias. Este enfoque permite a los desarrolladores estar seguros que si la aplicación trabajó en desarollo, que funcionará en la producción. Docker proporciona las herramientas necesarias para construir, ejecutar y administrar aplicaciones empaquetadas como imágenes acoplables.

Beneficios de las aplicaciones como contenedores


En muchos casos, es conveniente poner en marcha herramientas de análisis de malware de forma tradicional mediante la ejecución de ellos directamente en el sistema operativo, por ejemplo, aprovechando los paquetes preinstalados como parte de la distribución REMnux. Alternativamente, es posible que desees ejecutar una herramienta sin necesidad de instalarlo directamente en el sistema, tal vez porque quieres mantener su sistema limpio, o porque carece de las dependencias necesarias para ejecutar la aplicación.

Cuando se ejecuta la aplicación como un contenedor de Docker, es capaz de tomar ventaja de los esfuerzos de los desarrolladores en la imagen para encontrar la manera de configurar correctamente la aplicación. Además, se obtiene para beneficiarse de las actualizaciones que el desarrollador de la aplicación y el mantenedor de la imagen introduce sin tener que preocuparse de cómo instalarlos.

Como las imágenes de Docker son en su mayoría independientes entre sí, puede ejecutar aplicaciones en entornos separados unos de otros y el sistema subyacente; esto es especialmente útil cuando las aplicaciones se basan en las dependencias en conflicto. Debido a que los contenedores acoplables son más ligeros que las máquinas virtuales, es más práctico para dedicar un recipiente a una sola aplicación de tratar de configurar una máquina virtual por cada aplicación.




Mientras cada aplicación en máquinas virtuales necesita contar con un sistema operativo completo virtualizado (ocupando, por ejemplo, 1 GB de memoria RAM), Docker aprovecha el kernel de la máquina real y, con su motor, tan solo carga en la memoria las librerías y dependencias necesarias para ejecutar la aplicación, despreciando todo lo demás y ocupando alrededor del un 80% menos, por ejemplo, 200 MB de RAM. Virtualizar con Docker nos ofrece una serie de ventajas respecto a hacerlo con máquinas virtuales convencionales:

  • Portabilidad. Todos los contenedores son portables, por lo que podemos llevarlos fácilmente a cualquier otro equipo con Docker sin tener que volver a configurar nada.
  • Ligereza. Al no virtualizar un sistema completo, sino solo lo necesario, el consumo de recursos es mínimo. El ahorro de recursos es de alrededor de un 80%.
  • Autosuficiencia. Docker se encarga de todo, por lo que los contenedores tan solo deben tener lo necesario para que la aplicación funcione, por ejemplo, aquellas librerías, archivos y configuraciones necesarias para poder realizar su función.

Un sistema de contenedores Docker se compone principalmente de 5 elementos:

  • Demonio: Es el proceso principal de la plataforma.
  • Cliente: Es el binario que constituye la interfaz y que permite al usuario interactuar con el Demonio.
  • Imagen: Plantilla utilizada para crear el contenedor para la aplicación que queremos ejecutar.
  • Registros: Directorios donde se almacenan las imágenes, tanto de acceso público como privado.
  • Contenedores: Carpetas donde se almacena todo lo necesario (librerías, dependencias, binarios, etc) para que la aplicación pueda ejecutarse de forma aislada.


Fuentes:
https://zeltser.com/metasploit-framework-docker-container/
http://www.redeszone.net/2016/02/24/docker-funciona-la-virtualizacion-contenedores/

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.