Por Anson Joel Pereira
Embora o malware e os ataques tradicionais dependam de executáveis criados para funcionar, o malware sem arquivo reside na memória para escapar dos scanners e métodos de detecção tradicionais. O PowerShell, uma ferramenta de gerenciamento legítima usada por administradores de sistema, fornece uma cobertura ideal para agentes de ameaças, pois eles criam cargas úteis fortemente dependentes de sua profunda integração com o Windows. A Trend Micro publicou vários relatórios sobre issofenômeno, que foi aindavalidadopor dados de telemetria.
O que é o PowerShell?
PowerShell é uma linguagem de script e um shell de linha de comando baseado em classes .NET que ajuda os administradores de sistema a automatizar tarefas no gerenciamento de sistemas operacionais. É uma atualização do interpretador de linha de comando (CLI) da Microsoft desde os dias do MS-DOS e foi incorporado ao Windows desde o lançamento do Windows XP SP2. Embora seu antecessor, COMMAND.COM, tivesse vários recursos e suportasse uma linguagem de script limitada, ele não conseguia gerenciar todas as partes de um sistema operacional (SO) e algumas tarefas ainda exigiam interação com a Interface Gráfica do Usuário (GUI). O PowerShell permite um acesso mais rápido e aprimorado ao sistema operacional subjacente (como o registro e o armazenamento de certificados), permitindo que usuários e administradores gerenciem mais funções de um sistema local e remotamente. Também é de código aberto e inclui uma linguagem de script totalmente desenvolvida. Além do Windows, o PowerShell também oferece suporte a outras plataformas, como Linux e macOS.
A interação do PowerShell ocorre por meio de cmdlets, que são comandos que permitem ações em objetos .NET, permitindo, por sua vez, que os usuários tenham acesso direto a todo o sistema. Embora já existam muitos cmdlets oficiais, qualquer funcionalidade necessária que esteja faltando ainda pode ser adicionada escrevendo-se novos que façam interface com os objetos .NET desejados.
[Ler:Noções básicas sobre ameaças sem arquivo]
O que torna o PowerShell um vetor de ataque eficaz?
Arquivos infectados por vírus e trojans maliciosos são tipos de malware estabelecidos, e os desenvolvedores têm várias técnicas defensivas de detecção e mitigação para se defender contra eles. Os navegadores verificam os arquivos baixados; os aplicativos precisam de permissões aprovadas antes da instalação; e o software de segurança pode verificar arquivos para serem gravados, lidos e/ou executados para verificar assinaturas conhecidas. Mesmo o malware fornecido por meio de macros do Microsoft Office é obstruído por configurações padrão que não permitem mais a execução automática.
Os invasores podem usar malware sem arquivo para contornar essas proteções, injetando cargas úteis em aplicativos em execução ou utilizando scripts. O PowerShell é um canal ideal para entregar esses ataques por causa de sua ampla implantação e acesso a todas as partes de um host por meio da estrutura .NET. Além disso, é fácil desenvolver scripts aplicáveis para entrega de carga útil e, como o PowerShell é um aplicativo confiável, quase sempre será permitido executar scripts impunemente.
Ataques e infecções proeminentes usando o PowerShell
Como os recursos para usar e abusar do PowerShell estão facilmente disponíveis online, surgiram agentes mal-intencionados de vários graus de sofisticação. Desde os primeiros relatos em2014, agentes de ameaças implantaramcampanhasusando engenharia socialtécnicasparainfectarsistemas, combinando o PowerShell com outrosfaçanhasou aparentementereplicandooutras rotinas como parte depesquisa cibercriminosaedesenvolvimento.
Um dos compromissos mais infames usando o PowerShell para invasão foi vinculado à divulgação de e-mails internos do Comitê Nacional Democrata pelo grupo adversárioTempestade de Peõesem2016. Embora descoberto no referido ano, a investigação forense da rede mostrou comprometimento inicial já em 2015 com um backdoor entregue por um único comando do PowerShell, enquanto outras implantações que correspondiam à rotina começaram já em 2014. OViolação Equifaxem 2017 demonstrou a profundidade e a extensão dos danos que agentes mal-intencionados podem causar, usando o PowerShell para explorar uma vulnerabilidade não corrigida. Em 2018, outro grupo de ciberespionagem,APT33, enviou e-mails de spear phishing visando as indústrias de aviação e petróleo; o anexo executou um comando do PowerShell que baixou malware e estabeleceu persistência dentro da rede da empresa.
Mitigação e melhores práticas
Com os administradores ocupados protegendo e mantendo todos os sistemas em execução no local e remotamente, a adição de ameaças sem arquivo pode ser esmagadora para operações manuais de segurança e pessoal inexperiente. Mas ser capaz de rastrear suas atividades, encontrar eventos e cargas úteis desofuscados, monitorar e se acostumar com seus comportamentos são habilidades que podem ser aprendidas e desenvolvidas.
Rastreando as atividades do PowerShell
O PowerShell é conhecido por habilitar recursos significativos de registro de atividades. Essas funções também podem ser usadas para detectar, defender e mitigar o abuso dessa ferramenta. Os administradores do sistema podem habilitar esses recursos de registro por meio da Diretiva de Grupo do Active Directory para implementação em toda a empresa.
Figura 1. Configuração da política de grupo
O log de módulo registra a execução dos diferentes módulos em um PowerShell, incluindo códigos e saídas desofuscados. Módulos específicos podem ser configurados clicando em “Mostrar”. É melhor inserir um valor de “*” para capturar tudo para fins de registro.
Figura 2. Ativando o registro do módulo
O log de bloco de script é um recurso opcional que gera logs quando os blocos de script do PowerShell são invocados. Certifique-se de que o recurso “Registrar eventos de início/parada de invocação de bloco de script” esteja ativado para aumentar o número de eventos registrados. Isso é importante ao tentar rastrear eventos.
Figura 3. Ativando o log de bloco de script
Uma transcrição do PowerShell registra todas as entradas e saídas de uma sessão do PowerShell em um local específico. Dependendo da rotina de ataque, isso pode ter uso limitado, pois o recurso não grava scripts ou invocações diretas de comandos.
Figura 4. Habilitando a transcrição do PowerShell
Ao ativar esses três recursos e filtrar eventos, um administrador de segurança pode analisar a atividade do PowerShell em um sistema para determinar a extensão de uma invasão.
Figura 5. Exemplo de log de eventos do PowerShell
Durante invasões envolvendo o PowerShell, o número de eventos necessários para fornecer o nível de detalhamento exigido na análise de incidentes de segurança é muito grande. Em alguns casos, um único comando do PowerShell (cmdlet) pode gerar mais de 30 eventos. Um ataque selvagem pode envolver comandos maiores envolvendo bloqueios de script e execuções que geram eventos que podem sobrecarregar qualquer investigador.
Figura 6. Eventos registrados de um único cmdlet do PowerShell
OInspeção de registromódulo de proteção emTrend Micro™ Deep Security™pode coletar, analisar e enriquecer vários sistemas operacionais e logs de aplicativos em vários hosts e aplicativos na rede e permite a correlação entre eles para ajudar a identificar problemas que possam estar acontecendo. Aproveitando os recursos do módulo de inspeção de toras, a Trend Micro desenvolveu o Rule1010002 - Execução de Comando do Microsoft PowerShell,dedicado a analisar todos os eventos do PowerShell. Também é capaz de destacar os importantes que requerem uma análise mais aprofundada.
Figura 7. Eventos do PowerShell em um exemplo de ataque
A priorização de eventos de acordo com sua gravidade é um procedimento que permite a um administrador ou um centro de operações de segurança (SOC) ver quais eventos se destacam e são os mais incomuns. Nesta amostra de ataque dos logs filtrados, um bloco de script é executado. Isso é considerado uma atividade suspeita, apesar da falta de indicadores de execuções maliciosas óbvias.
Figura 8. Log de eventos filtrados
Valores específicos, como SequenceNumber e RunspaceId, podem ser usados para rastrear um evento até os eventos de origem, o que revela onde o Mimikatz PowerShell Script foi invocado originalmente. Ao vincular os eventos aos dados corretos, um administrador pode criar uma linha do tempo do ataque real ao sistema, excluindo eventos periféricos que podem ter ocorrido ao mesmo tempo.
Figura 9. Um evento com Gravidade: Alta
Figura 10. Localizando o script Mimikatz PowerShell visto de eventos de linha específicos
Combater ofuscação e monitoramento de comportamento
Os agentes de ameaças podem tentar ofuscar os comandos do PowerShell usando o-encou-Comando Codificadoparâmetro. Esse comando pode ser decodificado a partir do evento gerado, e a regra de inspeção de log do PowerShell detectará e caracterizará o evento de acordo.
Figura 11. Comandos ofuscados
MITRE ATT&CK
A estrutura MITRE ATT&CK tem sido uma ferramenta inestimável para pesquisadores de segurança cibernética que analisam e classificam ataques cibernéticos. Por meio da extensa quantidade de dados e pesquisas disponíveis, a estrutura serve como uma medida de verificação para avaliar as técnicas empregadas por grupos adversários, bem como acompanhar os desenvolvimentos documentados dos grupos. Os eventos do PowerShell gerados pelo Deep Security ajudam na análise de ataque, atribuindo uma classificação de acordo com as técnicas ATT&CK apropriadas identificadas conforme definido pela estrutura. A regra do PowerShell foi avaliada em relação à avaliação MITRE 2019 APT 29 e fornece cobertura para um grande número de critérios.
Figura 12. Cobertura da técnica MITRE ATT&CK fornecida
Conclusão
A conveniência que a estrutura do PowerShell oferece facilitou as tarefas de administração do sistema, mas também oferece aos cibercriminosos e grupos adversários uma grande superfície de ataque. Felizmente, embora as ameaças sem arquivo usando o PowerShell possam não ser tão visíveis quanto os malwares e ataques tradicionais, elas não são impossíveis de impedir. O abuso de ferramentas e recursos legítimos como o PowerShell não é novo, mas continuará a se desenvolver à medida que as táticas de cibercriminosos se combinam com outras técnicas.
Mesmo as práticas recomendadas “tradicionais” – como atualizar sistemas com os patches mais recentes lançados pelos fornecedores – funcionam contra ameaças sem arquivo, como ataques do PowerShell, quando combinadas com outros vetores de ameaças. Mas a evolução das tecnologias de segurança que empregam defesa intergeracional e conectada, bem como o desenvolvimento de uma cultura de segurança e conscientização entre os usuários, permite que gerentes de TI, tomadores de decisão e administradores se defendam contra eles.
Soluções Trend Micro
Trend Micro™ Deep Security™protege sistemas e usuários contra malware e ataques que abusam do PowerShell. Esta solução fornece segurança de rede, segurança de sistema e prevenção de malware, e combinada comProteção de Vulnerabilidade,ele pode proteger os sistemas do usuário contra uma ampla variedade de ameaças futuras que podem ter como alvo vulnerabilidades. O Deep Security fornece uma solução de segurança abrangente para servidores que detecta ameaças, como vulnerabilidades, malware e alterações não autorizadas, e protege os servidores contra essas ameaças.
Outras soluções de segurança da Trend Micro podem ser aplicadas para se defender contra uma série de técnicas e ataques que abusam do PowerShell.Suítes de Proteção Inteligenteforneça vários recursos, como aprendizado de máquina de alta fidelidade e serviços de reputação na Web, que minimizam o impacto de ameaças persistentes e sem arquivos.Trend Micro Apex One™ emprega uma variedade de recursos de detecção de ameaças, análise comportamental que protege contra scripts maliciosos, injeção, ransomware, memória e ataques de navegador relacionados a ameaças sem arquivo. Além disso, oApex One Endpoint Sensorfornece investigação e resposta de endpoint com reconhecimento de contexto (EDR) que monitora eventos e examina rapidamente processos ou eventos com atividade maliciosa. ODescoberta Profunda da Trend Micro™solução tem uminspeção de e-mailcamada que pode proteger empresas detectando anexos e URLs maliciosos.Descoberta Profundapode detectar os scripts remotos mesmo se eles não estiverem sendo baixados para o terminal físico.
Também é importante monitorar proativamente opontos finaiseredes. Ameaças sem arquivo podem não ser tão visíveis quanto outros malwares, mas também podem deixar sinais reveladores que as equipes de TI e segurança podem observar, como tráfego de rede suspeito (para comunicação C&C e exfiltração de dados). Por exemplo, a sandbox personalizada da Trend Micro, que é integrada noDescoberta Profunda™através daAnalisador de descoberta profunda,Segurança Profunda™, eOfficeScan™, pode interceptar APIs e verificar strings de código destinadas a executar técnicas ou rotinas de evasão de malware.
A implementação do monitoramento de comportamento também ajuda a monitorar e bloquear comportamentos e rotinas anômalos associados a malware. As soluções de endpoint da Trend Micro, comoTrend Micro™Segurança,OfficeScan, eSegurança empresarial sem preocupações, todos incluem monitoramento de comportamento para detectar ameaças sem arquivo baseadas em script. Isso ajuda as organizações a observar comportamentos mal-intencionados e bloquear o malware antes que o comportamento seja executado ou executado. O OfficeScan também pode incluir umcontrole de dispositivorecurso que pode impedir que mídias removíveis, como unidades USB e ópticas, sejam acessadas, evitando que sejam usadas como vetores para ameaças sem arquivo.
ESCONDER
Gosto disso? Adicione este infográfico ao seu site:
1. Clique na caixa abaixo. 2. Pressione Ctrl+A para selecionar tudo. 3. Pressione Ctrl+C para copiar. 4. Cole o código em sua página (Ctrl+V).
A imagem aparecerá do mesmo tamanho que você vê acima.
Postado em,Malware,Cíber segurança,Segurança 101,Vulnerabilidades
FAQs
Is PowerShell a security risk? ›
PowerShell is a powerful tool for system administration and automation, but it is also a top source of critical threats that can compromise your organisation's security. As such, you must implement effective security measures to mitigate the risks associated with PowerShell-based attacks.
Is PowerShell a malware? ›If you are annoyed by frequent and unwanted pop-ups from Windows PowerShell on your computer, you may be wondering if your system is infected by a virus or malware. PowerShell is a legitimate and powerful tool that can be used to automate tasks and run scripts on Windows computers.
What is the command to detect malware in PowerShell? ›To complete a quick scan using PowerShell, use these steps: Open Start. Search for PowerShell, right-click the top result, and select the Run as administrator option. Type the following command to start a quick virus scan and press Enter: Start-MpScan -ScanType QuickScan.
Which type of malware injects code malicious scripts into legitimate running processes such as PowerShell? ›To avoid suspicion, fileless malware gets into the inner recesses of trusted, whitelisted applications (like PowerShell and Windows script host executables such as wscript.exe and cscript.exe) or the operating system to initiate malicious processes.
Do hackers use PowerShell? ›Attackers can use PowerShell to direct the execution of a local script, retrieve and execute remote resources using various network protocols, encode payloads passed via the command line, or load PowerShell into other processes. Advertisement.
Can hackers use Windows PowerShell? ›PowerShell is a powerful tool for system administration; as such, it is also the perfect entry point for hackers. Due to PowerShell's tight integration into the system, attempts to simply block it provide a false sense of security.
How do you check if something is a malware? ›- suddenly slows down, crashes, or displays repeated error messages.
- won't shut down or restart.
- won't let you remove software.
- serves up lots of pop-ups, inappropriate ads, or ads that interfere with page content.
- shows ads in places you typically wouldn't see them, like government websites.
- Click on Start.
- Click on Settings.
- Click on Update & Security.
- Click on Windows Security.
- Click on Virus & Threat Protection.
- Under Current Threats, select Quick Scan/Threat History.
- Hit Scan Now.
- Open Start.
- Search for PowerShell, right-click the top result, and select the Run as administrator option.
- Type the following command to start a full malware scan and press Enter: start-mpscan -scantype fullscan.
A malicious program that is disguised as or embedded within legitimate software.
Which malware is always used for malicious purposes? ›
Trojan. A Trojan disguises itself as desirable code or software. Once downloaded by unsuspecting users, the Trojan can take control of victims' systems for malicious purposes.
What malware runs in memory? ›Memory-only malware resides only in memory. An example of memory-only malware is the Duqu worm, which can remain undetected because it resides exclusively in memory. Duqu 2.0 comes in two versions; the first is a backdoor that allows the adversary to gain a foothold in an organization.
What are the disadvantages of PowerShell? ›Cons of PowerShell
One of them is that PowerShell is not always available or enabled on every system, especially older versions of Windows or hardened environments. The attacker may need to find alternative ways to execute PowerShell commands or scripts, such as using WMI, COM, or DLL injection.
Creating PowerShell scripts and running commands are a powerful way to automate daily security analyst tasks.
Should I allow PowerShell? ›Defenders shouldn't disable PowerShell, a scripting language, because it is a useful command-line interface for Windows that can help with forensics, incident response and automating desktop tasks, according to joint advice from the US spy service the National Security Agency (NSA), the US Cybersecurity and ...