- 3 muestras PE32/PE32+ del incidente
- Verificación SHA256 de integridad
- Análisis de entropía (< 7.0 — no packed)
- Clasificación: core, watchdog, dropper JS
- yarGen -m samples/ --excludegood
- FLOSS para stack strings ofuscados
- Filtrado manual: 80% descartado (API names)
- Mutex y config names promovidos a tier-1
- Decision tree: strings ≥ 4 bytes, no API names
- Mutex gold: único, no aparece en Windows clean
- C2 regex anclada con literal > 4 bytes
- Hex pattern para cadena de decode JS
- yr check → yr fmt → linter script
- Validación contra corpus goodware VirusTotal
- 0 FPs en corpus de 50k binarios limpios
- Pull request con peer review completado
Detecta el ejecutable principal de CipherLock 2.1 mediante mutex global único, nombre de config cifrada y cabecera de nota de rescate. Alta confianza: mutex solo ya es identificador definitivo de la familia.
Detecta el proceso watchdog que mantiene el ransomware activo. Binario pequeño (1.1MB) con strings propios de servicio Windows. Cualquier string por separado es suficientemente único — uso correcto de "any of".
Detecta datos en reposo cifrados por CipherLock 2.1. Útil en forense y respuesta a incidentes para identificar el alcance del cifrado sin ejecutar el malware. Magic string anclado a offset 0.
Detecta el dropper JavaScript (vector phishing) antes de que descargue el PE. Combina regex C2 anclada con literal, variables internas que sobreviven minificación, y patrón hex de cadena de decodificación.
Regla de baja confianza para hunting de variantes aún no confirmadas. Indicadores compartidos entre versiones, menos específicos individualmente. Requiere combinación ("all of") para evitar FP flood — tal como advierte la skill.
✓ No errors found
✓ Formatted 5 rules
3/3 matches · 0 FP
✓ 5/5 rules pass quality checks