
C2 Powershell Framework de Comando y Control con Comandos Integrados
Autor: @r00t-3xp10it
Versión publicada: v2.10.14
Distribuciones compatibles: Windows (x86|x64), Linux
Inspirado en el trabajo de: '@ZHacker13 - ReverseTCPShell'

Este script PS1 inicia un servidor de escucha en una máquina atacante Windows|Linux y genera payloads de shell reversa PS en una sola línea ofuscados en BXOR con una clave secreta aleatoria y otra capa de ofuscación de Caracteres/Variables para ser ejecutados en la máquina víctima (El payload también ejecutará un bypass de reflexión de AMSI en la sesión actual para evadir la detección de AMSI durante el funcionamiento). También puedes recibir la conexión de shell reversa generada mediante netcat. (en este caso perderás las funcionalidades de C2 como captura de pantalla, subir, descargar archivos, Keylogger, AdvInfo, PostExploit, etc)
Los payloads/droppers de meterpeter pueden ejecutarse con privilegios de Usuario o Administrador según el escenario (ejecutar el Cliente como Administrador desbloqueará TODOS los Módulos del Servidor, bypass de AMSI, etc.). Los droppers imitan una falsa actualización de seguridad de KB mientras descargan/ejecutan el Cliente en segundo plano en la ubicación de confianza '$Env:TMP', con la intención de evadir Windows Defender Exploit Guard. Los payloads|droppers de meterpeter son FUD (por favor no pruebes muestras en VirusTotal).

Advertencia: powershell en distribuciones Linux solo está disponible para arquitecturas de 64 bits ..

apt-get update && apt-get install -y powershell
apt-get install Apache2
service apache2 start
cd meterpeter
pwsh -File meterpeter.ps1
USA LA 'URL del Vector de Ataque' PARA ENTREGAR 'Update-KB4524147.zip' (dropper) AL OBJETIVO ..
DESCOMPRIMIR (EN EL ESCRITORIO) Y EJECUTAR 'Update-KB4524147.bat' (Ejecutar como Administrador)..
SI se ejecuta dropper.bat: Entonces el Cliente usará $env:tmp como su directorio de trabajo ('recomendado')..
SI el atacante decide ejecutar el Cliente manualmente: Entonces la ubicación remota del Cliente (pwd) se usará como directorio de trabajo.

Instalar Python3 (http.Server) para entregar payloads en redes LAN ..
https://www.python.org/downloads/release/python-381/
Verificar si python http.server está instalado
$Local_Host = ((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
python -m http.server 8080 --bind $Local_Host
CTRL+C # Salir de la consola del servidor web
cd meterpeter
powershell Set-ExecutionPolicy Unrestricted -Scope CurrentUser
powershell -File meterpeter.ps1
Nota
meterpeter.ps1 entrega Dropper/Payload usando python3 http.server. SI el atacante tiene python3 instalado.
'Si NO, entonces el payload (Cliente) se escribe en el Directorio de Trabajo local del Servidor para ser entregado manualmente' ..
Recuerda cerrar la terminal de http.server después de que el objetivo haya recibido los dos archivos (Dropper y Cliente)
'Y de que hayamos recibido la conexión en nuestro Servidor meterpeter { para evitar errores de conexión Servidor|Cliente }'
ENTREGAR 'Update-KB4524147' (.ps1=manual) O (.zip=automatizado|ejecución silenciosa) AL OBJETIVO ..
SI se ejecuta dropper.bat: Entonces el Cliente usará $env:tmp como su directorio de trabajo ('recomendado')..
SI el atacante decide ejecutar el Cliente manualmente: Entonces la ubicación remota del Cliente (pwd) se usará como directorio de trabajo.
meterpeter en distribuciones Windows: https://www.youtube.com/watch?v=d2npuCXsMvE
meterpeter en distribuciones Linux: https://www.youtube.com/watch?v=CmMbWmN246E
@ZHacker13 (Shell reversa original) | @tedburke (binario CommandCam.exe)
@codings9 (depuración de módulos) | @ShantyDamayanti (depuración de módulos)
@AHLASaad (depuración de módulos) | @gtworek (EnableAllParentPrivileges)