Analise detalhada das protecoes do Falcon e pesquisa de tecnicas de bypass
O CrowdStrike tem protecao multi-camada especifica para o Print Spooler (pos-PrintNightmare):
PsSetLoadImageNotifyRoutine — CSAgent.sys intercepta TODA LoadLibrary ANTES da DllMain executar
spoolsv.exe esta na lista interna de processos sensiveis que recebem escrutinio extra
LoadLibrary retorna NULL silenciosamente. Spooler ignora monitors que falham no load — nao crasha, nao tem log.
| Fator | Nossa DLL | DLL Legitima |
|---|---|---|
| Assinatura | Nenhuma | Assinada por CA confiavel |
| Tamanho | 23KB (suspeitosamente pequeno) | 50-200KB |
| Version Info | Ausente | CompanyName, FileDescription, etc. |
| Nome | teste.dll (obvio) | APMon.dll, DDPort.dll, USBMon.dll |
| IAT | LoadLibraryW, _stricmp (red flags) | Imports minimos ou dinamicos |
| Strings | printf("[!] Failed...") | Sem strings de debug |
Probabilidade: Alta Esforco: Medio
Nao tenta bypassar a deteccao — faz a DLL passar no check:
VS_VERSION_INFO VERSIONINFO
FILEVERSION 10,0,17763,1
BEGIN
BLOCK "StringFileInfo"
BEGIN
VALUE "CompanyName", "Microsoft Corporation"
VALUE "FileDescription", "Enhanced Port Monitor"
VALUE "FileVersion", "10.0.17763.1"
VALUE "OriginalFilename", "ePrtMon.dll"
END
END
ePrtMon.dll, PCLPortMon.dllProbabilidade: Alta Esforco: Medio
Evita o caminho monitorado. Encontra DLL que servico SYSTEM tenta carregar mas NAO existe:
WptsExtensions.dll (Task Scheduler), phoneinfo.dll, fveapi.dll
Probabilidade: Media-Alta Esforco: Medio
Encontrar CLSID orfao (DLL registrada que nao existe mais) carregado por servico SYSTEM:
Get-ChildItem "HKLM:\SOFTWARE\Classes\CLSID" -Recurse |
Get-ItemProperty -Name "(Default)" -ErrorAction SilentlyContinue |
Where-Object { $_."(Default)" -match "\.dll$" -and -not (Test-Path $_."(Default)") }
CS monitora CLSIDs conhecidos mas nao consegue cobrir todos (milhares existem).
Probabilidade: Media Esforco: Baixo
Similar ao Phantom DLL mas usando a ordem de busca do Windows (DLL no diretorio do app antes do System32).
Probabilidade: Media Esforco: Alto
| Mecanismo | CS Bloqueia? | Motivo |
|---|---|---|
| Print Monitor | SIM | spoolsv.exe e processo monitorado |
| Print Processor | SIM | Mesmo LoadLibrary em spoolsv.exe |
| Authentication Package (LSA) | SIM | lsass.exe e MAIS monitorado |
| Password Filter DLL | SIM | Carrega em lsass.exe |
| WMI Event Subscription | DETECTA | Alerta visivel, pode nao prevenir |
| Scheduled Task (SYSTEM) | DETECTA | Cria alerta mas pode executar |
| COM Hijack | PARCIAL | Monitora CLSIDs conhecidos, nao todos |
| Phantom DLL Hijack | PROVAVELMENTE NAO | Nao e TTP monitorado especificamente |
| Service DLL (svchost) | DETECTA | Detecta criacao de servico |
| Tipo de Certificado | CS Permite? |
|---|---|
| Cert valido de CA confiavel (DigiCert, Sectigo) | Alta probabilidade |
| Cert expirado com timestamp RFC 3161 | Boa probabilidade |
| Self-signed | Quase igual a unsigned |
| Sem assinatura | Bloqueado |
signtool verify /pa /v teste.dll # Se retornar "chain to trusted root" → pode funcionar # Se retornar "could not be built to trusted root" → nao vai funcionar