Hardening Windows Desktop
Sobre
Olá! Visitante, reunimos aqui, informações sobre o processo de Hardening em Windows Desktop é um projeto focado em aplicar controles de segurança locais em estações Windows 10 e Windows 11 de forma direta e padronizada. A proposta é transformar recomendações técnicas do benchmark do CIS em ações práticas executadas via PowerShell, sem depender de Active Directory ou GPO centralizadas. O objetivo é elevar o nível de segurança de máquinas standalone, reduzir a superfície de ataque e criar uma base mínima consistente de proteção, especialmente em ambientes corporativos de pequeno e médio porte.
O projeto prioriza clareza, rastreabilidade e aderência a boas práticas reconhecidas, permitindo medir conformidade e evoluir o nível de maturidade de segurança do ambiente.
Fonte: https://www.cisecurity.org/
Script Projeto Root
Para facilitar deixamos um script para fazer todo o processo de forma automatizada, assim agilizando o processo de instalação, caso queira utilizar veja:
https://github.com/projetoroot/hardening-windows-desktop
🛡️ Hardening Windows Desktop
Script em PowerShell para aplicação de hardening em Windows 10 e Windows 11, com foco em ambientes corporativos que não utilizam Active Directory como base para GPO.
O projeto aplica configurações locais de segurança inspiradas nas recomendações do CIS Microsoft Windows 11 Enterprise Benchmark v5.0.0, traduzindo controles formais em execução prática e padronizada.
🎯 Objetivo do Projeto
Este script foi criado para:
- Aplicar baseline de segurança em estações Windows
- Reduzir a superfície de ataque do sistema operacional
- Endurecer autenticação e políticas locais
- Substituir parcialmente a ausência de GPO centralizadas
- Padronizar configurações de segurança em ambientes standalone
Ele não depende de domínio, AD ou infraestrutura corporativa avançada.
🏢 Cenários de Uso
Indicado para:
- Empresas pequenas e médias sem AD
- Ambientes em workgroup
- Máquinas administrativas
- Laboratórios técnicos
- Equipamentos expostos à internet
- Ambientes que precisam de padronização rápida
🔐 O Que o Script Aplica
1️⃣ Contas e Autenticação
- Desativação da conta Guest
- Endurecimento de políticas de senha
- Ajustes em NTLM
- Restrições de autenticação insegura
Previne:
- Enumeração de contas
- Uso indevido de credenciais locais
- Ataques de força bruta
- Uso de protocolos antigos
🧭 Como fazer manualmente:
- Win+R → lusrmgr.msc
- Usuários → Guest
- Marcar Conta desativada
2️⃣ UAC e Elevação de Privilégio
- Força consentimento para elevação
- Impede elevação silenciosa
- Ajusta comportamento de contas administrativas
Previne:
- Escalonamento de privilégio
- Execução automática de malware
- Bypass de controles administrativos
🧭 Como fazer manualmente:
- Painel de Controle → Contas de Usuário
- Alterar configurações de UAC
- Nível máximo
3️⃣ Rede e Protocolos
- Desativação do SMBv1
- Ajustes em protocolos legados
- Endurecimento de configurações de rede
Previne:
- Exploração via protocolos obsoletos
- Ataques laterais em rede interna
- Vulnerabilidades conhecidas de SMB antigo
4️⃣ Serviços do Sistema
- Desativa serviços desnecessários
- Ajusta inicialização de serviços sensíveis
- Reduz exposição de componentes pouco usados
Previne:
- Movimentação lateral
- Execução remota de código
- Superfície de ataque desnecessária
5️⃣ Auditoria e Logs
- Ativa auditoria de eventos críticos
- Ajusta políticas de rastreamento
- Melhora visibilidade de atividades administrativas
Previne:
- Falta de rastreabilidade
- Dificuldade em investigação de incidentes
- Ausência de evidência em auditorias
🧭 Como fazer manualmente:
- Win+R → secpol.msc
- Políticas Locais → Política de Auditoria
- Auditar eventos de logon → Sucesso e Falha
- Auditar rastreamento de processo → Sucesso e Falha
6️⃣ Registro e Políticas Locais
- Aplica chaves equivalentes a GPO
- Endurece políticas locais via Registro
- Ajusta configurações sensíveis do sistema
Previne:
- Uso indevido de recursos do Windows
- Exploração de configurações padrão inseguras
⚙️ Requisitos
- Windows 10 ou Windows 11
- PowerShell 5.1 ou superior
- Execução como Administrador
📊 Controles Implementados com Criticidade e Peso
| Área | Controle CIS | Descrição | Criticidade | Implementado | Peso |
|---|---|---|---|---|---|
| NTLM | 2.3.10.x | Restrição de NTLM inbound | Alta | Sim | 10 |
| LSA | 18.8.21.5 | LSASS como Protected Process | Alta | Sim | 10 |
| TLS | 18.9.1.1 | Desabilitar TLS 1.0 | Alta | Sim | 8 |
| TLS | 18.9.1.2 | Desabilitar TLS 1.1 | Alta | Sim | 8 |
| SMB | 18.9.84.1 | Assinatura SMB Cliente | Alta | Sim | 9 |
| SMB | 18.9.84.2 | Assinatura SMB Servidor | Alta | Sim | 9 |
| PowerShell | 18.10.7.1 | Remover PowerShell v2 | Média | Sim | 6 |
| Defender | 18.9.45.x | Attack Surface Reduction | Alta | Sim | 10 |
| Firewall | 9.x | Restringir regras inbound | Média | Sim | 6 |
| Auditoria | 17.3.1 | Auditoria de Logon | Média | Sim | 5 |
| Auditoria | 17.6.x | Auditoria de Gerenciamento de Conta | Média | Sim | 5 |
Score Máximo: 86 pontos
Score (%) = (Soma dos Controles Conformes / 86) x 100
Classificação
| Percentual | Nível |
|---|---|
| 90% - 100% | Hardened |
| 75% - 89% | Good Baseline |
| 50% - 74% | Moderate |
| < 50% | Weak |
🚀 Como Executar
Copie o trecho abaixo e execute no PowerShell como administrador
cd $env:USERPROFILE\Downloads Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force Invoke-WebRequest -Uri https://raw.githubusercontent.com/projetoroot/hardening-windows-desktop/refs/heads/main/hardening-windows-desktop.ps1 -OutFile hardening-windows-desktop.ps1 .\hardening-windows-desktop.ps1