> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/metasploit-framework.md).

# METASPLOIT FRAMEWORK

Creada en 2003 por H.D Moore.

Herramiento que nor permite automatizar la labor de  explotar vulnerabilidades en un activo, y más.

> La herramienta te ayuda a automatizar pero no hace el trabajo por ti.

***

## ARQUITECTURA

Herramienta modular que permite a los usuarios añadir o modificar compenentes.

La arquitectura de MSF se puede dividir en:

***

### Librerías

Conjunto de funciones y clases ya predefinidas, proporcionan la funcionalidad que necesita MSF para el desarrollo y ejecución de sus diferentes módulos.

Las principales librerías son:

* **REX:** libreria a bajo nivel que le permite a MSF manipular sockets o manejar los paquetes (sin esto MSF no funciona).
* **MSFCore:** núcleo de MSF, maneja la carga y ejecución de los módulos y la interacción con ellos, proporciona las interfaces para que los módulos funcionen correctamente.
* **MSFBase:** actua como la base sobre la cuál se construyen el resto de componentes de MSF.

***

### Módulos

Unidades funcionales dentro de MSF, agrupan el codigo escrito en ruby para "categorizarlo" según su uso.

Actualmente hay 7 tipos de módulos:

#### Exploit

Módulos que contienen el código necesario para aprovecharse de vulnerabilidades y explotarla.

#### Payload

Acción que se realiza una vez la vulnerabilidad ha sido explotada por el exploit.

#### Encoder

Transforman los payloads para tratar evitar la detección por parte de los antivirus. Cambian pequeñas partes del código para que el hash resultante cambie y de esta forma tratar de evadir a los antivirus que basan su detección en firmas de malware.

#### NOPS

No Operations Instructions/No Operation Sled. Rellenar espacios en los exploits y ayudar a mantener la estructura del código y garantizar la ejecución correcta del exploit.

#### Auxilary

Enfocados en labores de reconocimiento activo, como escaneos, sniffing, fuzzing o fuerza bruta.

#### Post

Post Explotación. Usados después de obtener acceso a un sistema para realizar tareas adicionales, como la recolección de información del sistema, escalada de privilegios, mantener el acceso o limpiar los rastros de la explotación.

#### Evasion

Diseñados para eludir las defensas de seguridad como firewalls o sistemas de IDS o IPS. Modifican el comportamiento del tráfico de la red o de los payloads para tratar de evitar la detección.

***

### Herramientas

Utilidades integradas en MSF que facilitan ciertas tareas:

* MSFVenom: permite generar payloads para distintas plataformas.

***

### Plugins

Extensiones que añaden funcionalidades adicionales a MSF. Permiten integración con herramienas de terceros como SQLMAP, NMAP, OPENVAS.

***

### Interfaces

Puntos de interacción entre nosotros y el framework proporcionados en diferentes formatos para ejecutar y gestionar las operaciones dentro de MSF:

* MSFConsole. Se pueden ejecutar comandos a nivel del SO. Y tiene sus propios comandos.
* MSFCli.
* Armitage (GUI).

***

### Base de datos

MSF integra una base de datos para almacenar información sobre los objetivos, los servicios, credenciales y todo el resultado de por ejemplo el reconocimiento activo realizado o de nuestra propia actividad dentro del framework.

Las bases de datos compatibles incluyen PostgreSQL
