¿Que es Metasploits?
Metasploit Es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración y en el desarrollo de firmas para Sistemas de Detección de Intrusos.
Su subproyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits contra una máquina remota. Otros subproyectos importantes son la bases de datos de opcodes (códigos de operación), un archivo de shellcodes, e investigación sobre seguridad. Inicialmente fue creado utilizando el lenguaje de programación de scripting Perl, aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby.
Su subproyecto más conocido es el Metasploit Framework, una herramienta para desarrollar y ejecutar exploits contra una máquina remota. Otros subproyectos importantes son la bases de datos de opcodes (códigos de operación), un archivo de shellcodes, e investigación sobre seguridad. Inicialmente fue creado utilizando el lenguaje de programación de scripting Perl, aunque actualmente el Metasploit Framework ha sido escrito de nuevo completamente en el lenguaje Ruby.
(fuente:http://es.wikipedia.org/wiki/Metasploit)
---
MetaSploit permite ser ejecutado de diferentes formas, desde linea de comandos con msfcli, en donde se aceptan cada uno de los comandos metasploit de forma independiente, por interfaz web (depreciada en las ultimas versiones y disponible unicamente en versiones antiguas), o por medio de la consola unificada de metasploit llamada msfconsole (se trata de un interprete de comandos bastante robusto sustituto de la interfaz web), esta ultima es la mas utilizada por aquellos que utilizan metasploit para realizar las pruebas sus penetración.
AUXILIARY: Un Auxiliary es un programa que permite obtener información sobre el objetivo, con el fin de determinar posibles vulnerabilidades que le puedan afectar, este tipo de programas son útiles para establecer una estrategia de ataque sobre un sistema objetivo, o el caso de un responsable de seguridad, definir medidas defensivas que permitan mitigar amenazas sobre un sistema vulnerable, tambien permite definir una serie de exploits que son lanzados contra el objetivo con el fin de probar si alguno de ellos puede comprometer el objetivo y conseguir ejecutar un payload dado.
EXPLOIT: Un exploit es un programa que explota una o varias vulnerabilidades en un sofware dado, frecuentemente es utilizado para ganar acceso a un sistema y tener un nivel de control sobre él.
PAYLOAD: Un Payload, es un programa que acompaña a un exploit para realizar funciones especificas una vez el sistema objetivo es comprometido, la elección de un buen payload es una decisión muy importante a la hora de aprovechar y matener el nivel de acceso obtenido a un sistema, principalmente por el hecho de que en muchos sistemas existen firewalls, Antivirus y sistemas de detección de intrusos que pueden dificultar la actividad de algunos payloads.
COMANDOS DE MSFCONSOLE:
help: Tal como su nombre indica permite obtener ayuda en un contexto determinado (exploit o module).
back: Permite salir del contexto actual de ejecución (exploit o module)
check: Aunque no todos los exploits lo soportan, permite ver si un objetivo determinado es vulnerable al exploit que se encuentra actualmente seleccionado en la consola.
connect: Al igual que realizamos una conexión por medio de telnet o netcat, este comando nos permite conectarnos a un host remoto y enviar ficheros si es lo que deseamos, también soporta SSL si se le indica la opción -s
msf> connect 192.168.1.34 23
exploit: Comando utilizado para realizar la ejecución del exploit cargado en el contexto de la consola.
run: Comando utilizado para realizar la ejecución del modulo/auxiliary cargado en el contexto de la consola.
irb: Permite ejecutar el interprete de Ruby para metasploit, de este modo se pueden ingresar comandos y crear scripts metasploit al vuelo, esta característica es muy interesante para conocer la estructura interna del framework.
jobs: Se trata de módulos que se encuentran en ejecución en “background” este comando permite listar y terminar comandos existentes.
load: Permite cargar un plugin desde el directorio de plugins ubicado en la ruta de instalación, recibe como parámetro el nombre del plugin.
unload: Descarga un plugin cargado, recibe como parámetro el nombre del plugin a descargar.
loadpath: Trata de cargar un directorio donde se encuentran ubicados módulos, plugins o exploits externos al framework, de esta forma podemos tener un 0-day, exploits, payloads, etc. en un directorio independiente.
resource: Carga un fichero de script que es posteriormente utilizado por algún exploit o modulo que depende de él.
route: Permite enrutar sockets a sessions, funciona similar al comando route de Linux, permite adicionar subredes, mascaras de red y gateways.
info: Despliega información adicional de un modulo o exploit seleccionado anteriormente en la consola, incluyendo todas las opciones, objetivos y otra información.
set: Permite establecer opciones del modulo o exploit seleccionado con el fin de suministrar los datos necesarios para su correcta ejecución.
unset: Des-asigna una variable del exploit o module en uso.
sessions: Permite listar, interactuar y terminar sesiones generadas por módulos o exploits, estas sesiones pueden ser consolas a maquinas remotas VNC, etc. con la opción -l se pueden listar las sessiones generadas, -i permite iniciar la interacción con el número de consola establecido.
search: permite ejecutar una búsqueda basada en expresiones regulares con un texto que pueda coincidir con el nombre de un modulo o exploit.
show: Permite mostrar las diferentes opciones para módulos, exploits y payloads.
msf> show auxiliary
msf> show exploits
msf> show payloads
msf> show options
msf> show targets
msf> show advanced
msf> show encoders
msf> show nops
msf> show evasion
setg: Permite definir variables globales que serán empleadas por todos los módulos o exploits cargados, de esta forma es posible definir variables bastante comunes como LHOST, RHOST, LPORT, RPORT, etc. en una única interacción con la consola sin escribir lo mismo una y otra vez.
save: Permite almacenar de forma permanente las variables globales establecidas con el comando setg y las variables especificas de cada exploit en uso.
use: Permite establecer el exploit o modulo a usar en la consola de metasploit.
AUXILIARY: Un Auxiliary es un programa que permite obtener información sobre el objetivo, con el fin de determinar posibles vulnerabilidades que le puedan afectar, este tipo de programas son útiles para establecer una estrategia de ataque sobre un sistema objetivo, o el caso de un responsable de seguridad, definir medidas defensivas que permitan mitigar amenazas sobre un sistema vulnerable, tambien permite definir una serie de exploits que son lanzados contra el objetivo con el fin de probar si alguno de ellos puede comprometer el objetivo y conseguir ejecutar un payload dado.
EXPLOIT: Un exploit es un programa que explota una o varias vulnerabilidades en un sofware dado, frecuentemente es utilizado para ganar acceso a un sistema y tener un nivel de control sobre él.
PAYLOAD: Un Payload, es un programa que acompaña a un exploit para realizar funciones especificas una vez el sistema objetivo es comprometido, la elección de un buen payload es una decisión muy importante a la hora de aprovechar y matener el nivel de acceso obtenido a un sistema, principalmente por el hecho de que en muchos sistemas existen firewalls, Antivirus y sistemas de detección de intrusos que pueden dificultar la actividad de algunos payloads.
COMANDOS DE MSFCONSOLE:
help: Tal como su nombre indica permite obtener ayuda en un contexto determinado (exploit o module).
back: Permite salir del contexto actual de ejecución (exploit o module)
check: Aunque no todos los exploits lo soportan, permite ver si un objetivo determinado es vulnerable al exploit que se encuentra actualmente seleccionado en la consola.
connect: Al igual que realizamos una conexión por medio de telnet o netcat, este comando nos permite conectarnos a un host remoto y enviar ficheros si es lo que deseamos, también soporta SSL si se le indica la opción -s
msf> connect 192.168.1.34 23
exploit: Comando utilizado para realizar la ejecución del exploit cargado en el contexto de la consola.
run: Comando utilizado para realizar la ejecución del modulo/auxiliary cargado en el contexto de la consola.
irb: Permite ejecutar el interprete de Ruby para metasploit, de este modo se pueden ingresar comandos y crear scripts metasploit al vuelo, esta característica es muy interesante para conocer la estructura interna del framework.
jobs: Se trata de módulos que se encuentran en ejecución en “background” este comando permite listar y terminar comandos existentes.
load: Permite cargar un plugin desde el directorio de plugins ubicado en la ruta de instalación, recibe como parámetro el nombre del plugin.
unload: Descarga un plugin cargado, recibe como parámetro el nombre del plugin a descargar.
loadpath: Trata de cargar un directorio donde se encuentran ubicados módulos, plugins o exploits externos al framework, de esta forma podemos tener un 0-day, exploits, payloads, etc. en un directorio independiente.
resource: Carga un fichero de script que es posteriormente utilizado por algún exploit o modulo que depende de él.
route: Permite enrutar sockets a sessions, funciona similar al comando route de Linux, permite adicionar subredes, mascaras de red y gateways.
info: Despliega información adicional de un modulo o exploit seleccionado anteriormente en la consola, incluyendo todas las opciones, objetivos y otra información.
set: Permite establecer opciones del modulo o exploit seleccionado con el fin de suministrar los datos necesarios para su correcta ejecución.
unset: Des-asigna una variable del exploit o module en uso.
sessions: Permite listar, interactuar y terminar sesiones generadas por módulos o exploits, estas sesiones pueden ser consolas a maquinas remotas VNC, etc. con la opción -l se pueden listar las sessiones generadas, -i
search: permite ejecutar una búsqueda basada en expresiones regulares con un texto que pueda coincidir con el nombre de un modulo o exploit.
show: Permite mostrar las diferentes opciones para módulos, exploits y payloads.
msf> show auxiliary
msf> show exploits
msf> show payloads
msf> show options
msf> show targets
msf> show advanced
msf> show encoders
msf> show nops
msf> show evasion
setg: Permite definir variables globales que serán empleadas por todos los módulos o exploits cargados, de esta forma es posible definir variables bastante comunes como LHOST, RHOST, LPORT, RPORT, etc. en una única interacción con la consola sin escribir lo mismo una y otra vez.
save: Permite almacenar de forma permanente las variables globales establecidas con el comando setg y las variables especificas de cada exploit en uso.
use: Permite establecer el exploit o modulo a usar en la consola de metasploit.
Requerimientos:
sistema operativo Linux Ubuntu 13.10
Descargar metasploit x64 o x32 según nuestro sistema operativo es muy importante descargarlo del sitio oficial.
http://www.metasploit.com/
La dirección para acceder a la interfase web es https://localhost:3790/
aun que en realidad todo el potencial esta en la terminal.
Lo primero que hay que hacer al acceder a la web, configuramos nuestros datos de registro, colocamos nuestros datos para crear el usuario de acceso a la web, activamos el producto y con ello ya tendremos acceso web configurado.
Con ello ya tenemos nuestro acceso web, aun que la verdad pocas ocasiones la usaran jeje, el corazón u poder de este aplicativo de seguridad y pruebas de penetración es directamente sobre la termina, para tener acceso desde terminal e ella vasta con abrir nuestra terminal y escribir el comando
oposada@Linux13:~$ msfconsole
Con ello ya tenemos nuestra consola de Metasploit lista para iniciar a trabajar.
No hay comentarios.:
Publicar un comentario