¿Define el shell Meterpreter y el shell del sistema?
Del sitio web de Offensive Security Metasploit Unleashed:
Meterpreter es una carga útil avanzada y dinámicamente extensible que utiliza stagers de inyección de DLL en memoria y se extiende por la red en tiempo de ejecución. Se comunica a través del socket stager y proporciona una completa API Ruby del lado del cliente. Cuenta con historial de comandos, finalización de pestañas, canales, y más.
Más detalles de la especificación original:
Abstracto: Meterpreter, abreviatura de The Meta-Interpreter, es una carga útil avanzada que se incluye en el Metasploit Framework. Su propósito es proporcionar características complejas y avanzadas que de otro modo sería tedioso implementar puramente en ensamblador. La forma en que logra esto es permitiendo a los desarrolladores escribir sus propias extensiones en forma de archivos de objetos compartidos (DLL) que pueden ser cargados e inyectados en un proceso en ejecución en un ordenador de destino después de la explotación. Meterpreter y todas las extensiones que carga se ejecutan completamente desde la memoria y nunca tocan el disco, lo que les permite ejecutarse bajo el radar de la detección antivirus estándar.
Y:
A un alto nivel, meterpreter se parece a un típico intérprete de comandos. Tiene una línea de comandos y un conjunto de comandos que se pueden ejecutar. La diferencia más visible es que el cliente de meterpreter puede controlar el conjunto de comandos inyectando nuevas extensiones sobre la marcha. Dado que las extensiones pueden ser potencialmente aplicables a través de arquitecturas y plataformas, el cliente de meterpreter puede utilizar la misma interfaz de cliente (y el conjunto de comandos) para controlar las extensiones independientemente.
Por lo tanto, se puede pensar en él como un shell de comandos extensible que proporciona la misma interfaz a través de plataformas. Se inyecta a sí mismo en un proceso existente en el objetivo y por lo general no se derivan nuevos procesos. Algunos de los comandos incorporados permiten cargar/descargar archivos, y configurar el reenvío de puertos a través del objetivo. Meterpreter también soporta la comunicación encriptada. Puede leer más en los enlaces anteriores.
Un «shell del sistema» tiene mucho menos en términos de características, excepto lo que ya se obtiene a través de los comandos del shell. Un usuario podría notar su shell o sus procesos hijos ejecutándose en el objetivo. Puede que no haya encriptación a menos que la hayas configurado tú mismo. Subir/bajar archivos puede estar limitado a copiar y pegar.