¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Metasploit
  3. Primeros pasos con Metasploit
Extrait - Metasploit Verifique la seguridad de sus infraestructuras
Extractos del libro
Metasploit Verifique la seguridad de sus infraestructuras
1 opinión
Volver a la página de compra del libro

Primeros pasos con Metasploit

Introducción

Desde su primera versión, en 2003, Metasploit ha seguido evolucionando, convirtiéndose en el framework de explotación más completo y utilizado, gracias a la facilidad de uso de las diferentes opciones, interfaces o herramientas.

Terminología

Esta sección introduce todos los términos necesarios para una comprensión adecuada del libro.

Exploit

Un exploit es un fragmento de código que permite a un atacante o auditor explotar una vulnerabilidad de seguridad en un sistema informático de destino. Un exploit se puede utilizar contra una máquina remota (remote exploit) o contra la máquina en la que se encuentra el atacante (local exploit).

Las consecuencias relativas a esta explotación variarán dependiendo de la vulnerabilidad, y pueden ir desde la capacidad para comprometer el sistema hasta la denegación de servicio (DoS), pasando por la elevación de privilegios.

payload

La payload es la carga maliciosa ejecutada por el exploit. Puede ir desde la creación de una conexión entre la máquina del ataque y la máquina de destino (bind shell/reverse shell) para futuras conexiones hasta ejecutar un comando sencillo para añadir un usuario al sistema de destino.

Auxiliar (auxiliary)

Hay un centenar de auxiliares dentro del Framework Metasploit. Tienen objetivos diversos, como permitir la realización de escaneos, escucha en red o incluso el fuzzing.

Encoder

El juego del gato y el ratón entre atacantes y defensores es permanente. Para compensar la falta de antivirus o IDS (Intrusion Detection System) que pueden permitir la detección de cargas útiles o payloads, se implementa...

Símbolos del sistema

Para una buena comprensión del resto de este libro y que sea independiente del sistema operativo utilizado, es importante distinguir entre todos los símbolos de sistema disponibles, para saber qué comandos se pueden ejecutar:

Unix

Regis@kali:~$  
root@kali:/usr/share# 

El símbolo de sistema anterior es para un sistema Unix estándar. El primer elemento (regis y root) es el nombre de usuario, que contiene el usuario que se ha conectado al sistema operativo. El signo arroba (@) es un separador simple entre este nombre de usuario y el nombre de la máquina en la que está conectado el usuario (kali). Los dos puntos (:) es un nuevo separador entre los elementos anteriores y la carpeta en la que se encuentra el usuario (~ y /usr/share). Finalmente, el último elemento ($ y #) representa el nivel de permisos del usuario conectado. Esto se debe a que $ significa que el usuario es una cuenta con permisos limitados, mientras que # significa que el usuario está en modo superusuario.

Metasploit

msf6 > 

El símbolo de sistema anterior es de Metasploit. A partir de él, es posible utilizar todos los comandos detallados en la sección Recordatorio sobre comandos útiles.

Meterpreter

meterpreter > 

El símbolo del sistema anterior es Meterpreter. A partir de él, es posible utilizar todos los comandos detallados en el capítulo La posexplotación...

Interfaces

1. El sistema de archivos

Antes de comenzar a presentar las diversas interfaces que tiene el Framework Metasploit, vamos a presentar los diferentes elementos presentes dentro del sistema de archivos. Esto permitirá entender cómo funcionan las distintas pantallas dentro del framework e, incluso, realizar algunos cambios cuando sea necesario.

En un sistema Kali, los datos relativos al Framework Metasploit se encuentran en /usr/share/metasploit-framework:

root@kali:~# ls -l /usr/share/metasploit-framework  
total 148   
drwxr-xr-x  4 root root  4096 mar.  28 18:31 app   
drwxr-xr-x  3 root root  4096 mar.  28 18:54 config   
drwxr-xr-x 21 root root  4096 mar.  28 18:31 data   
drwxr-xr-x  3 root root  4096 mar.  28 18:31 db   
lrwxrwxrwx  1 root root    27 mar.  28 18:32 documentation ->  
../doc/metasploit-framework   
-rwxr-xr-x  1 root root  1209 jan. 24 18:24 Gemfile   
-rw-r--r--  1 root root  9359 jan. 25 09:40 Gemfile.lock   
drwxr-xr-x 14 root root  4096 mar.  28 18:31 lib   
-rw-r--r--  1 root root  8652 jan. 25 09:40  
metasploit-framework.gemspec   
drwxr-xr-x  9 root root  4096 mar.  28 18:31 modules   
-rwxr-xr-x  1 root root  1263 jan. 25 09:40 msfconsole   
-rwxr-xr-x  1 root root  2813 jan. 25 09:40 msfd   
-rwxr-xr-x  1 root root  5326 jan. 25 09:40 msfdb   
-rw-r--r--  1 root root   635 jan. 25 09:40 msf-json-rpc.ru   
-rwxr-xr-x  1 root root  2229 jan. 25 09:40 msfrpc   
-rwxr-xr-x  1 root root  9677 jan. 25 09:40 msfrpcd   
-rwxr-xr-x  1 root root   166 jan. 25 09:40 msfupdate   
-rwxr-xr-x  1 root root 12921 jan. 25 09:40 msfvenom   
-rw-r--r--  1 root root   551 jan. 25 09:40 msf-ws.ru   
drwxr-xr-x  2 root root  4096 mar.  28 18:31 plugins   
-rwxr-xr-x  1 root root  1299 jan. 24 18:24 Rakefile   
-rwxr-xr-x  1 root root   604 jan. 25 09:40 ruby   
-rwxr-xr-x  1 root root   140 jan. 25 09:40 script-exploit   
-rwxr-xr-x  1 root root   141 jan. 25 09:40 script-password   
-rwxr-xr-x...

Recordatorio sobre comandos útiles

El objetivo de esta sección no es hacer una revisión completa de todos los comandos básicos de Metasploit. De hecho, hay algo más de sesenta y algunos se abordarán en el resto del libro. El comando help es un buen comienzo para obtener más información sobre los comandos disponibles:

msf6 > help  
  
Core Commands   
=============   
  
   Command       Description  
   -------       -----------  
   ?             Help menu   
   banner        Display an awesome metasploit banner  
   cd            Change the current working directory  
   color         Toggle color  
   connect       Communicate with a host  
[...]   
  
Database Backend Commands  
=========================  
  
   Command       Description  
   -------       -----------  
   db_connect    Connect to an existing database  
   db_disconnect Disconnect from the current database instance  
   db_export     Export a file containing the contents of the db 
   db_import     Import a scan result file  
[...] 

Para el conjunto de los resultados devueltos, es posible obtener información adicional:

msf6 > help db_connect   
[*]    Usage: db_connect <user:pass>@<host:port>/<database>   
[*]       OR: db_connect -y [path/to/database.yml]   
[*] Examples:   
[*]        db_connect user@metasploit3   
[*]        db_connect user:pass@192.168.0.2/metasploit3...