YARA para Infostealers: Patrones de Exfiltración, C2 y Credential Theft
Reglas YARA para detectar las familias de infostealers más activas: RedLine, Lumma, Vidar, Raccoon, Rhadamanthys. Patrones de exfiltración, strings de C2, browser credential theft, y crypto wallet targeting.
Los infostealers dominan el panorama de amenazas
Si tuvieras que elegir una sola categoria de malware para escribir reglas de deteccion en 2026, la respuesta seria infostealers. No por sofisticacion tecnica (la mayoria son sorprendentemente simples), sino por volumen e impacto. Segun datos de ANY.RUN, Group-IB y Recorded Future, los infostealers representan mas del 60% de las muestras de malware distribuidas activamente entre 2024 y 2026.
El motivo es economico. Un infostealer roba credenciales de navegadores, cookies de sesion, tokens de autenticacion y wallets de criptomonedas en segundos. Esas credenciales se empaquetan en "logs" que se venden en mercados como Russian Market, Genesis y 2easy. Los compradores son Initial Access Brokers (IABs) que revenden el acceso a grupos de ransomware. Un log de RedLine con credenciales VPN corporativas puede venderse por 10 a 500 dolares. Si ese acceso permite desplegar LockBit en una empresa, el rescate puede ser de millones.
Detectar infostealers con YARA no es solo una cuestion de identificar malware: es cortar la cadena de suministro del cibercrimen moderno.
El ecosistema infostealer: familias activas
Antes de escribir reglas, necesitas conocer el terreno. Estas son las familias mas relevantes a fecha de 2026:
| Familia | Lenguaje | Modelo | Precio aprox. | Estado | Tecnicas clave |
|---|---|---|---|---|---|
| RedLine | C# (.NET) | MaaS | 150-200 USD/mes | Activo (con disrupciones) | Browser DBs, FTP clients, VPN configs, crypto wallets |
| Lumma (LummaC2) | C/C++ | MaaS | 250-1000 USD/mes | Muy activo | Obfuscacion avanzada, anti-sandbox, browser injection |
| Vidar | C++ | MaaS | 250 USD/mes | Activo | Dead drop resolvers (Steam, Telegram), modular config |
| Raccoon (v2) | C/C++ | MaaS | 200 USD/mes | Activo | Lightweight, rapido, DLL sideloading |
| Rhadamanthys | C++ | MaaS | 250 USD/mes | Muy activo | AI-powered OCR, image recognition para seed phrases |
| Aurora | Go | MaaS | 250 USD/mes | Declive | Cross-platform, crypto focus |
| Mars | C++ (fork Oski) | MaaS | Gratis (leaked) | Declive | Fork de Oski, codigo fuente publico |
Todos siguen el modelo Malware-as-a-Service (MaaS): un desarrollador mantiene el stealer, los afiliados pagan una suscripcion mensual y reciben un panel de administracion con builder para generar payloads personalizados.
Patrones compartidos: lo que todos los infostealers hacen igual
A pesar de estar escritos en lenguajes diferentes y por equipos distintos, los infostealers convergen en las mismas tecnicas. Esta convergencia es lo que hace posible escribir reglas YARA genericas que detecten familias nuevas.
Browser credential paths
Todos los infostealers buscan las mismas bases de datos SQLite:
# Chrome/Chromium
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cookies
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Web Data
%LOCALAPPDATA%\Google\Chrome\User Data\Local State
# Firefox
%APPDATA%\Mozilla\Firefox\Profiles\*.default-release\logins.json
%APPDATA%\Mozilla\Firefox\Profiles\*.default-release\cookies.sqlite
%APPDATA%\Mozilla\Firefox\Profiles\*.default-release\key4.db
# Edge
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Login Data
# Opera / Brave / Vivaldi (misma estructura Chromium)
Crypto wallet paths y extension IDs
Los wallets de criptomonedas son el segundo objetivo principal:
# Desktop wallets
%APPDATA%\Exodus\exodus.wallet
%APPDATA%\Electrum\wallets
%APPDATA%\Atomic\Local Storage\leveldb
%APPDATA%\Guarda\Local Storage\leveldb
%APPDATA%\Coinomi\Coinomi\wallets
# Browser extension IDs (Chrome)
nkbihfbeogaeaoehlefnkodbefgpgknn → MetaMask
bfnaelmomeimhlpmgjnjophhpkkoljpa → Phantom
hnfanknocfeofbddgcijnmhnfnkdnaad → Coinbase Wallet
ibnejdfjmmkpcnlpebklmnkoeoihofec → TronLink
fhbohimaelbohpjbbldcngcnapndodjp → BNB Chain Wallet
Metodos de exfiltracion
La mayoria usa HTTP POST con User-Agent custom o con estructura de datos predecible. El payload tipico incluye: informacion del sistema (hostname, OS version, RAM, GPU), credenciales extraidas en formato texto o ZIP, screenshots del escritorio, y la lista de software instalado.
Regla 1: RedLine Stealer
RedLine es el infostealer mas documentado. Al estar escrito en C# (.NET), sus strings son facilmente identificables incluso en muestras parcialmente ofuscadas.
rule Infostealer_RedLine_Stealer
{
meta:
author = "MalwareIntel Research"
description = "Detecta RedLine Stealer por strings .NET, config C2 y patrones de recoleccion"
family = "RedLine"
mitre = "T1555.003, T1539, T1005, T1082"
reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.redline_stealer"
date = "2026-06-05"
severity = "critical"
strings:
// Namespace y clases .NET caracteristicas
$ns1 = "RedLine.Client" ascii wide
$ns2 = "RedLine.Models" ascii wide
$ns3 = "RedLine.Logic.Credential" ascii wide
// Strings de recoleccion de sistema
$sys1 = "SystemHardware" ascii wide
$sys2 = "InstalledBrowsers" ascii wide
$sys3 = "InstalledSoftware" ascii wide
$sys4 = "AvailableLanguages" ascii wide
$sys5 = "ScannedWallets" ascii wide
// Patrones de config C2
$c2_1 = "Authorization" ascii wide
$c2_2 = "SecoindLine" ascii wide // typo intencional del developer
$c2_3 = "TaskResolver" ascii wide
// Acceso a credenciales de navegador
$cred1 = "Login Data" ascii wide
$cred2 = "\\Google\\Chrome\\User Data\\" ascii wide
$cred3 = "logins.json" ascii wide
$cred4 = "Web Data" ascii wide
// Crypto wallet targeting
$wallet1 = "exodus.wallet" ascii wide nocase
$wallet2 = "Electrum\\wallets" ascii wide nocase
$wallet3 = "Ethereum\\keystore" ascii wide nocase
condition:
uint16(0) == 0x5A4D and filesize < 5MB and
(
(2 of ($ns*)) or
(3 of ($sys*) and 2 of ($cred*)) or
($c2_2 and 2 of ($sys*)) or
(2 of ($ns*) and 1 of ($wallet*))
)
}
Puntos clave de esta regla:
- El string
"SecoindLine"es un typo del desarrollador original de RedLine que se ha mantenido en todas las versiones. Es un indicador de alta confianza. - Los namespaces .NET (
RedLine.Client,RedLine.Models) aparecen incluso en muestras con ofuscacion basica, porque muchos ofuscadores .NET no renombran namespaces de nivel superior. - La condicion combina multiples familias de strings con OR logico: basta con que coincidan los namespaces, O una combinacion de strings de sistema con credenciales, O el typo caracteristico.
Regla 2: Lumma Stealer (LummaC2)
Lumma es mas sofisticado que RedLine. Escrito en C/C++, usa ofuscacion de strings, anti-sandbox activo y tecnicas de evasion contra analisis dinamico. La deteccion requiere patrones mas sutiles.
rule Infostealer_Lumma_Stealer
{
meta:
author = "MalwareIntel Research"
description = "Detecta Lumma/LummaC2 Stealer por API patterns, strings ofuscadas y config"
family = "Lumma"
mitre = "T1555.003, T1539, T1497.001, T1027"
reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.lumma"
date = "2026-06-05"
severity = "critical"
strings:
// Strings de identificacion (parcialmente ofuscadas en variantes)
$id1 = "LummaC" ascii wide
$id2 = "lumma" ascii wide nocase
$id3 = "/c2sock" ascii wide
$id4 = "/c2conf" ascii wide
// API calls para anti-analysis
$anti1 = "NtQueryInformationProcess" ascii
$anti2 = "IsDebuggerPresent" ascii
$anti3 = "CheckRemoteDebuggerPresent" ascii
$anti4 = "GetTickCount64" ascii
$anti5 = "QueryPerformanceCounter" ascii
// Patrones de acceso a browser (Chromium internals)
$chrome1 = "encrypted_key" ascii wide
$chrome2 = "os_crypt" ascii wide
$chrome3 = "Local State" ascii wide
$chrome4 = "DPAPI" ascii wide
// Strings de exfiltracion
$exfil1 = "Content-Disposition: form-data" ascii
$exfil2 = "multipart/form-data" ascii
$exfil3 = "screenshot.png" ascii wide
$exfil4 = "passwords.txt" ascii wide
// Config pattern (URL paths del panel)
$panel1 = "/api/collect" ascii wide
$panel2 = "/api/gate" ascii wide
// Hex patterns: secuencia XOR comun en Lumma para deofuscacion
$xor_loop = { 8A ?? 30 ?? 4? FF C? 3B ?? 7? }
condition:
uint16(0) == 0x5A4D and filesize < 3MB and
(
(1 of ($id*) and 2 of ($anti*) and 2 of ($chrome*)) or
(3 of ($anti*) and 2 of ($chrome*) and 1 of ($exfil*)) or
(1 of ($panel*) and 2 of ($chrome*) and $xor_loop) or
(1 of ($id*) and 1 of ($exfil*) and $xor_loop)
)
}
Por que funciona esta regla:
- Lumma usa consistentemente las APIs
NtQueryInformationProcesseIsDebuggerPresentpara detectar sandboxes. Combinadas con acceso a bases de datos de Chrome, son un indicador fuerte. - El patron hexadecimal
$xor_loopcaptura el bucle XOR que Lumma usa para deofuscar strings en runtime. Es un patron de bytes que se mantiene estable entre versiones. - Los paths
/api/collecty/api/gateson endpoints del panel C2 de Lumma que aparecen embebidos en el binario.
Regla 3: Robo generico de credenciales de navegador
Esta regla no apunta a una familia especifica. Detecta cualquier ejecutable que contenga multiples paths de bases de datos de navegadores. Es la regla con mayor cobertura del conjunto.
rule Infostealer_Generic_Browser_Credential_Theft
{
meta:
author = "MalwareIntel Research"
description = "Detecta acceso a bases de datos de credenciales de multiples navegadores"
mitre = "T1555.003, T1539"
date = "2026-06-05"
severity = "high"
strings:
// Chrome / Chromium
$chrome_login = "Login Data" ascii wide
$chrome_cookies = "\\Cookies" ascii wide
$chrome_webdata = "Web Data" ascii wide
$chrome_state = "Local State" ascii wide
$chrome_path = "\\Google\\Chrome\\User Data" ascii wide
// Firefox
$ff_logins = "logins.json" ascii wide
$ff_cookies = "cookies.sqlite" ascii wide
$ff_key = "key4.db" ascii wide
$ff_path = "\\Mozilla\\Firefox\\Profiles" ascii wide
// Edge
$edge_path = "\\Microsoft\\Edge\\User Data" ascii wide
// Opera
$opera_path = "\\Opera Software\\Opera Stable" ascii wide
// Brave
$brave_path = "\\BraveSoftware\\Brave-Browser\\User Data" ascii wide
// SQLite markers (para confirmar que parsea las DBs)
$sqlite1 = "SQLite format 3" ascii
$sqlite2 = "sqlite3_open" ascii
$sqlite3 = "sqlite3_prepare" ascii
// Crypto descifrado DPAPI
$dpapi1 = "CryptUnprotectData" ascii
$dpapi2 = "BCryptDecrypt" ascii
condition:
uint16(0) == 0x5A4D and filesize < 10MB and
(
// Al menos 3 navegadores distintos
(
(1 of ($chrome*)) and
(1 of ($ff*)) and
(1 of ($edge_path, $opera_path, $brave_path))
) and
// Y evidencia de que realmente parsea SQLite o descifra
(1 of ($sqlite*) or 1 of ($dpapi*))
)
}
Nota sobre falsos positivos: un gestor de contrasenas legitimo (como el migrador de Chrome) podria coincidir. La combinacion de 3+ navegadores distintos con funciones SQLite o DPAPI reduce enormemente los FP. Si necesitas mayor precision, anade la condicion not pe.signatures[0].issuer contains "Google" usando el modulo PE.
Regla 4: Targeting de wallets crypto
Los infostealers dedican codigo especifico a localizar y exfiltrar wallets de criptomonedas. Esta regla detecta la presencia de multiples extension IDs de wallets en un binario.
rule Infostealer_Crypto_Wallet_Targeting
{
meta:
author = "MalwareIntel Research"
description = "Detecta binarios que targetean multiples wallets de criptomonedas"
mitre = "T1005, T1552.001"
date = "2026-06-05"
severity = "high"
strings:
// Chrome extension IDs de wallets populares
$ext_metamask = "nkbihfbeogaeaoehlefnkodbefgpgknn" ascii wide nocase
$ext_phantom = "bfnaelmomeimhlpmgjnjophhpkkoljpa" ascii wide nocase
$ext_coinbase = "hnfanknocfeofbddgcijnmhnfnkdnaad" ascii wide nocase
$ext_tronlink = "ibnejdfjmmkpcnlpebklmnkoeoihofec" ascii wide nocase
$ext_bnb = "fhbohimaelbohpjbbldcngcnapndodjp" ascii wide nocase
$ext_ronin = "fnjhmkhhmkbjkkabndcnnogagogbneec" ascii wide nocase
$ext_keplr = "dmkamcknogkgcdfhhbddcghachkejeap" ascii wide nocase
$ext_solflare = "bhhhlbepdkbapadjdcodefkfkfmmfpfd" ascii wide nocase
$ext_tokenpocket = "mfgccjchihfkkindfppnaooecgfneiii" ascii wide nocase
$ext_trust = "egjidjbpglichdcondbcbdnbeeppgdph" ascii wide nocase
// Desktop wallet paths
$path_exodus = "exodus.wallet" ascii wide nocase
$path_electrum = "Electrum\\wallets" ascii wide nocase
$path_atomic = "Atomic\\Local Storage" ascii wide nocase
$path_guarda = "Guarda\\Local Storage" ascii wide nocase
$path_coinomi = "Coinomi\\Coinomi\\wallets" ascii wide nocase
$path_jaxx = "com.liberty.jaxx" ascii wide nocase
$path_wasabi = "WalletWasabi\\Client" ascii wide nocase
$path_ledger = "Ledger Live" ascii wide nocase
// Seed phrase / mnemonic keywords
$seed1 = "mnemonic" ascii wide nocase
$seed2 = "seed_phrase" ascii wide nocase
$seed3 = "recovery phrase" ascii wide nocase
$seed4 = "wallet.dat" ascii wide nocase
condition:
uint16(0) == 0x5A4D and filesize < 10MB and
(
(3 of ($ext_*)) or
(3 of ($path_*)) or
(2 of ($ext_*) and 2 of ($path_*)) or
(2 of ($ext_*) and 1 of ($seed*)) or
(2 of ($path_*) and 1 of ($seed*))
)
}
Cobertura: esta regla detecta la mayoria de infostealers conocidos porque el targeting de wallets es casi universal en la categoria. Familias como Rhadamanthys, que incluyen OCR para leer seed phrases de imagenes, tambien coinciden por los extension IDs y paths.
Regla 5: Patrones de exfiltracion
Los infostealers exfiltran datos con patrones HTTP reconocibles. El payload tipico viaja como POST multipart con campos predecibles.
rule Infostealer_Exfiltration_Patterns
{
meta:
author = "MalwareIntel Research"
description = "Detecta patrones de exfiltracion HTTP comunes en infostealers"
mitre = "T1041, T1071.001, T1567"
date = "2026-06-05"
severity = "high"
strings:
// HTTP POST multipart (exfiltracion de logs)
$http1 = "Content-Disposition: form-data" ascii
$http2 = "multipart/form-data; boundary=" ascii
$http3 = "Content-Type: application/x-zip" ascii
$http4 = "Content-Type: application/octet-stream" ascii
// Nombres de campos tipicos en el POST
$field1 = "hwid=" ascii wide
$field2 = "build=" ascii wide
$field3 = "token=" ascii wide
$field4 = "country=" ascii wide
$field5 = "passwords=" ascii wide
$field6 = "cookies=" ascii wide
$field7 = "wallets=" ascii wide
$field8 = "screenshot=" ascii wide
// User-Agent strings custom comunes
$ua1 = "Mozilla/5.0 (Macintosh" ascii // UA fake comun en stealers Windows
$ua2 = "BrowserPass" ascii wide
$ua3 = "StealerBot" ascii wide
// Estructura de log (formato de salida)
$log1 = "\\Passwords\\" ascii wide
$log2 = "\\Cookies\\" ascii wide
$log3 = "\\Autofills\\" ascii wide
$log4 = "\\CreditCards\\" ascii wide
$log5 = "\\Wallets\\" ascii wide
$log6 = "System.txt" ascii wide
$log7 = "Screenshot.png" ascii wide
condition:
uint16(0) == 0x5A4D and filesize < 10MB and
(
(1 of ($http*) and 3 of ($field*)) or
(1 of ($http*) and 3 of ($log*)) or
(4 of ($field*) and 2 of ($log*)) or
(1 of ($ua2, $ua3) and 2 of ($field*))
)
}
Regla 6: Infostealer generico por comportamiento
Esta regla combina senales debiles de las categorias anteriores para detectar infostealers que no coinciden con ninguna familia conocida. Es la red de seguridad.
rule Infostealer_Generic_Behavioral
{
meta:
author = "MalwareIntel Research"
description = "Deteccion generica de infostealer por combinacion de multiples indicadores debiles"
mitre = "T1555.003, T1539, T1005, T1082, T1041"
date = "2026-06-05"
severity = "medium"
strings:
// Indicadores de recoleccion de sistema
$recon1 = "SELECT * FROM Win32_Processor" ascii wide nocase
$recon2 = "SELECT * FROM Win32_VideoController" ascii wide nocase
$recon3 = "SELECT * FROM Win32_OperatingSystem" ascii wide nocase
$recon4 = "GetForegroundWindow" ascii
$recon5 = "GetClipboardData" ascii
$recon6 = "keybd_event" ascii
// Acceso a credenciales (cualquier navegador)
$cred1 = "Login Data" ascii wide
$cred2 = "logins.json" ascii wide
$cred3 = "CryptUnprotectData" ascii
$cred4 = "vaultcli.dll" ascii wide
$cred5 = "credentials" ascii wide nocase
// Persistencia o descarga
$persist1 = "\\Run\\" ascii wide
$persist2 = "schtasks" ascii wide nocase
$persist3 = "startup" ascii wide nocase
// Exfiltracion
$exfil1 = "POST " ascii
$exfil2 = "Content-Type:" ascii
$exfil3 = "InternetOpenA" ascii
$exfil4 = "HttpSendRequestA" ascii
$exfil5 = "WinHttpOpen" ascii
// Archivado (empaqueta antes de exfiltrar)
$archive1 = "ZipArchive" ascii wide
$archive2 = "CreateZipFile" ascii wide
$archive3 = "GZipStream" ascii wide
condition:
uint16(0) == 0x5A4D and filesize < 15MB and
(
// Combinacion: recoleccion + credenciales + exfiltracion
(2 of ($recon*) and 2 of ($cred*) and 2 of ($exfil*)) or
// Combinacion: credenciales + archivado + exfiltracion
(2 of ($cred*) and 1 of ($archive*) and 2 of ($exfil*)) or
// Combinacion: recoleccion + credenciales + archivado
(2 of ($recon*) and 2 of ($cred*) and 1 of ($archive*))
)
}
Ajuste de umbrales: la regla pide 2 strings de cada categoria para minimizar falsos positivos. Si la usas en un entorno de hunting donde aceptas mas ruido, puedes bajar a 1 de cada categoria. En un entorno de produccion (EDR, email gateway), mantener 2 es lo recomendable.
Complementar con Sigma: deteccion en logs
Las reglas YARA detectan el binario. Las reglas Sigma detectan el comportamiento en ejecucion. Son complementarias: YARA en el perimetro (email, proxy, EDR), Sigma en el SIEM.
Sigma: acceso a bases de datos de navegador
title: Suspicious Access to Browser Credential Databases
id: e5c2b1a3-7d4f-4e8a-9b3c-1a2d5e6f7890
status: experimental
description: Detecta procesos no-browser accediendo a Login Data o Cookies de Chrome/Edge
logsource:
category: file_access
product: windows
detection:
selection:
TargetFilename|contains:
- '\\Login Data'
- '\\Cookies'
- '\\Web Data'
- '\\Local State'
TargetFilename|contains:
- '\\Google\\Chrome\\'
- '\\Microsoft\\Edge\\'
- '\\BraveSoftware\\'
filter:
Image|endswith:
- '\\chrome.exe'
- '\\msedge.exe'
- '\\brave.exe'
- '\\opera.exe'
- '\\vivaldi.exe'
condition: selection and not filter
level: high
tags:
- attack.credential_access
- attack.t1555.003
Sigma: exfiltracion HTTP sospechosa con datos de sistema
title: Potential Infostealer HTTP Exfiltration
id: f7a3b2c4-8e5d-4f9a-0c1b-2d3e4f5a6b7c
status: experimental
description: Detecta HTTP POST a destinos no categorizados con User-Agent inusual
logsource:
category: proxy
product: any
detection:
selection:
cs-method: POST
sc-bytes|gt: 50000
filter_known:
cs-host|endswith:
- '.microsoft.com'
- '.google.com'
- '.mozilla.org'
- '.apple.com'
filter_ua:
cs(User-Agent)|contains:
- 'Chrome/'
- 'Firefox/'
- 'Edge/'
suspicious_ua:
cs(User-Agent)|re: '^Mozilla/5\.0 \(Macintosh.*$'
condition: selection and not filter_known and (not filter_ua or suspicious_ua)
level: medium
tags:
- attack.exfiltration
- attack.t1041
La regla Sigma de proxy busca POSTs grandes a destinos desconocidos. El filtro de User-Agent es clave: muchos infostealers para Windows usan un User-Agent que dice "Macintosh" porque los builders copian strings de listas publicas sin verificar coherencia.
Hunting workflow con YARA
Tener reglas escritas es solo el principio. Hay que ponerlas a trabajar.
VirusTotal Retrohunt
Si tienes acceso a VirusTotal Enterprise, Retrohunt permite ejecutar tus reglas YARA contra el corpus historico de muestras (petabytes de binarios). El flujo:
- Sube las 6 reglas a VT Retrohunt
- Ejecuta el hunt (tarda entre 2 y 24 horas dependiendo de la cola)
- Revisa los resultados: filtra por
first_submission_datepara encontrar muestras recientes - Para cada match, revisa el behavior report en VT para confirmar que es un infostealer
- Extrae IOCs nuevos (C2 IPs, dominios, hashes) y alimenta tu plataforma de inteligencia
LOKI Scanner (offline, gratis)
LOKI de Florian Roth es un scanner YARA gratuito para endpoints. Ideal para threat hunting interno:
# Escanear un directorio sospechoso
python loki.py -p C:\Users\ --intense
# Escanear con tus reglas custom
python loki.py -p C:\Temp -s /path/to/custom-rules/
# Escanear solo ejecutables
python loki.py -p C:\ProgramData --noindicator --dontwait
Coloca las reglas de este articulo en el directorio signature-base/yara/ de LOKI y tendras deteccion de infostealers en cualquier endpoint sin necesidad de EDR.
CAPE Sandbox
CAPE (fork de Cuckoo) ejecuta muestras en sandbox y aplica reglas YARA automaticamente. El flujo:
- Sube la muestra sospechosa a CAPE
- CAPE ejecuta el binario en una VM instrumentada
- Tus reglas YARA se aplican contra el binario en disco y contra la memoria del proceso
- Las reglas de exfiltracion detectan los HTTP POSTs hacia el C2
- El reporte incluye el trafico de red completo, los archivos accedidos y las APIs llamadas
La combinacion de YARA estatico (en disco) con YARA en memoria (runtime) es especialmente efectiva contra infostealers que deofuscan strings en memoria.
Mapeo MITRE ATT&CK
Las reglas de este articulo cubren las siguientes tecnicas, que son el nucleo operativo de cualquier infostealer:
| Tecnica | Nombre | Reglas que la detectan |
|---|---|---|
| T1555.003 | Credentials from Web Browsers | Reglas 1, 2, 3, 6 |
| T1539 | Steal Web Session Cookie | Reglas 1, 2, 3 |
| T1005 | Data from Local System | Reglas 1, 4, 6 |
| T1552.001 | Credentials in Files | Regla 4 |
| T1082 | System Information Discovery | Reglas 1, 6 |
| T1041 | Exfiltration Over C2 Channel | Reglas 5, 6 |
| T1071.001 | Web Protocols (C2) | Regla 5 |
| T1497.001 | System Checks (Anti-Sandbox) | Regla 2 |
| T1027 | Obfuscated Files or Information | Regla 2 |
Recursos y referencias
Reglas YARA comunitarias:
- YARA-Rules (GitHub): repositorio comunitario con miles de reglas organizadas por categoria
- Malpedia YARA: reglas YARA por familia de malware, mantenidas por Fraunhofer FKIE
- Florian Roth signature-base: reglas de deteccion de alta calidad para LOKI y Thor
Analisis tecnicos de infostealers:
- ANY.RUN Malware Trends Tracker: estadisticas en tiempo real de familias activas
- Sekoia TDR: informes periodicos sobre Lumma, RedLine y el ecosistema MaaS
- Group-IB Hi-Tech Crime Trends: informe anual con datos de mercados underground
Herramientas:
- LOKI: scanner YARA para endpoints (gratis, open source)
- CAPE Sandbox: sandbox de analisis con soporte YARA nativo
- yarGen: generador automatico de reglas YARA a partir de muestras
- YARA Editor (VSCode): extension con syntax highlighting y linting
Fuentes de IOCs de infostealers:
- MalwareBazaar: hashes de muestras con tags de familia
- ThreatFox: IOCs de C2 por familia
- URLhaus: URLs de distribucion de malware
Las 6 reglas de este articulo son un punto de partida. La deteccion real de infostealers requiere mantenerlas actualizadas conforme las familias evolucionan, combinarlas con reglas Sigma para el componente comportamental, y validarlas periodicamente contra muestras reales de MalwareBazaar y CAPE.
Preguntas frecuentes
Artículos relacionados
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.