Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PrivescCheck — Script de Enumeração de Escalada de Privilégios para Windows | Kitploit
Ferramentas/GitHubGitHub/itm4n/privesccheck
Escalada de PrivilégiosAnálise de VulnerabilidadesAuditoria de ConfiguraçãoColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoTop em Pós-Exploração nº16Top em Escalada de Privilégios nº2
GitHub
3.9k507271há 12 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
itm4n/privesccheck

PrivescCheck

Script de Enumeração de Escalada de Privilégios para Windows

Ver Repositório
# PrivescCheck

Identifique rapidamente **vulnerabilidades** comuns do Windows e **problemas de configuração** que não são necessariamente cobertos por padrões públicos de segurança, e colete informações úteis para tarefas de exploração e pós-exploração.

> [!IMPORTANT]
> Um aspecto importante a ter em conta ao usar esta ferramenta é que todas as verificações de controle de acesso são feitas no contexto do usuário atual. Portanto, se for executada com privilégios de administrador, muitas verificações de vulnerabilidade são ignoradas para evitar a geração de resultados incorretos.

## Início Rápido

Baixe o script aqui: [PrivescCheck.ps1](https://github.com/itm4n/PrivescCheck/releases/latest/download/PrivescCheck.ps1)

> [!TIP]
> O link acima também pode ser usado diretamente em um terminal PowerShell com `(New-Object Net.WebClient).DownloadString(...)`.

### Caso de Uso 1: Avaliação Rápida

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Report TXT,HTML"
```

### Caso de Uso 2: Avaliação Extensiva

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Report TXT,HTML"
```

### Caso de Uso 3: Avaliação Abrangente

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Audit -Report ALL"
```

## Uso Detalhado

```txt
Invoke-PrivescCheck [-Extended] [-Audit] [-Risky] [-Report <FORMAT>[,...]]
    [-FilePath <PREFIX>]  [-Silent] [-Force]

    -Extended
        Include all "extended" checks in the scan.

    -Audit
        Include all "audit" checks in the scan.

    -Risky
        Include all "risky" checks in the scan. Those are checks that are
        likely to trigger active EDR counter measures due to their behavior.

    -Report <FORMAT>[,...]
        Specify output report file formats (TXT, HTML, CSV, XML). Use alias
        'ALL' to generate all report files. By default, the output filename
        is automatically generated. Use option '-FilePath' to specify one
        explicitly.

    -FilePath <PREFIX>
        Specify the output report file name or directory. The file extension
        is automatically appended. If a directory path is supplied, the
        filename is automatically generated at runtime.

    -Silent
        Suppress terminal output. This can be useful if you want to run the
        script as part of a batch file, in a scheduled task for instance.

    -Force
        Force execution and ignore warnings. Typically, the script stops if
        it is executed with administrator privileges. Use this option to
        execute it anyway.
```

## Formatos de Arquivo de Relatório

### Formato de Arquivo de Relatório > TXT

Use a opção `-Report TXT` para gerar um **relatório de texto bruto**. A saída é semelhante à saída do terminal, exceto que contém apenas caracteres ASCII para melhor compatibilidade com editores de texto.

![Screenshot of a raw text report generated by PrivescCheck](https://assets.kitploit.com/production/public/readmes/411/39eb4cd266494c6b5915b90198f886309702269a1140a9b5f6e9f20d5359bdea.png)

### Formato de Arquivo de Relatório > HTML

Use a opção `-Report HTML` para gerar um **relatório HTML**. O arquivo de saída pode ser aberto em um navegador web. Nenhuma conexão com a Internet é necessária, pois não possui dependências externas. É mais conveniente para visualizar os dados do que o relatório de texto bruto. Além disso, oferece recursos de **ordenação** e **filtragem**!

![Screenshot of an HTML report generated by PrivescCheck](https://assets.kitploit.com/production/public/readmes/411/cd685587f4b72a5bd0e5d2cee66a30781da90d21f57d5f72e3c47642f9357eb5.png)

### Formato de Arquivo de Relatório > CSV ou XML

Use a opção `-Report CSV` ou `-Report XML` para gerar um **relatório CSV ou XML**. O arquivo de saída destina-se a facilitar a análise dos resultados por ferramentas automatizadas de relatórios.

> [!NOTE]
> Embora o formato de saída não esteja documentado (ainda), você pode facilmente descobri-lo analisando a estrutura de um arquivo já gerado. Você pode usar o valor `Id` de cada verificação como um identificador único.

## Tipos de Verificação

### Tipo de Verificação > Base

Verificações do tipo `Base` serão sempre executadas, a menos que o script seja executado como administrador. Elas destinam-se principalmente a identificar vulnerabilidades de escalonamento de privilégios, ou outros problemas importantes.

### Tipo de Verificação > Extended

Verificações do tipo `Extended` só podem ser executadas se a opção `-Extended` for especificada na linha de comando. Elas destinam-se principalmente a fornecer informações adicionais que podem ser úteis para o desenvolvimento de exploits, ou pós-exploração.

### Tipo de Verificação > Audit

Verificações do tipo `Audit` só podem ser executadas se a opção `-Audit` for especificada na linha de comando. Elas destinam-se principalmente a fornecer informações relevantes no contexto de uma auditoria de configuração.

## Dicas e Truques

### Política de Execução do PowerShell

Por padrão, a [política de execução](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) do PowerShell é definida como `Restricted` em clientes, e `RemoteSigned` em servidores, quando um novo processo `powershell.exe` é iniciado. Essas políticas bloqueiam a execução de scripts (não assinados), mas podem ser substituídas dentro do escopo atual da seguinte forma.

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
. .\PrivescCheck.ps1
```

No entanto, este truque não funciona quando a política de execução é imposta através de uma GPO. Neste caso, após iniciar uma nova sessão do PowerShell, você pode carregar o script da seguinte forma.

```powershell
Get-Content .\PrivescCheck.ps1 | Out-String | Invoke-Expression
```

### PowerShell Versão 2

Uma forma comum de contornar o [Constrained Language Mode](https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/) consiste em usar o PSv2, pois ele não implementa essa proteção. Portanto, uma parte significativa do esforço de desenvolvimento é dedicada a manter essa retrocompatibilidade.

> [!NOTE]
> Embora o PowerShell versão 2 ~~ainda esteja habilitado por padrão em versões recentes do Windows~~ ([PowerShell 2.0 removal from Windows](https://support.microsoft.com/en-us/topic/powershell-2-0-removal-from-windows-fe6d1edc-2ed2-4c33-b297-afe82a64200a)), ele não pode ser executado sem o .Net framework versão 2.0, que requer uma instalação manual.

### Timeout do Metasploit

Se você executar este script dentro de uma sessão Meterpreter, provavelmente receberá um erro de "timeout". Isso ocorre porque o Metasploit usa um valor de timeout padrão de 15 segundos, o que não é suficiente para uma execução típica do script ser concluída.

```console
meterpreter > load powershell
Loading extension powershell...Success.
meterpreter > powershell_import /local/path/to/PrivescCheck.ps1
[+] File successfully imported. No result was returned.
meterpreter > powershell_execute "Invoke-PrivescCheck"
[-] Error running command powershell_execute: Rex::TimeoutError Operation timed out.
```

É possível definir um timeout diferente graças à opção `-t` do comando `sessions` ([documentação](https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/)). No exemplo a seguir, um timeout de 2 minutos é definido para a sessão com ID `1`, mas você pode querer definir um valor ainda maior.

```console
msf6 exploit(multi/handler) > sessions -t 120 -i 1
[*] Starting interaction with 1...
meterpreter > powershell_execute "Invoke-PrivescCheck"
```

## Build

### Atualizar os Dados

Algumas das verificações dependem de dados online (*por exemplo*, banco de dados de drivers LOL), mas o script destina-se a funcionar offline. Para resolver esse problema, os dados são incorporados no script e, portanto, precisam ser atualizados regularmente. Este processo é totalmente automatizado na versão oficial, mas se você quiser compilar o script localmente, pode opcionalmente fazer isso manualmente.

```bat
powershell -ep bypass ". .\build\Build.ps1; Update-LolDriverFile"
```

### Compilar o Script

Compilar o script é tão simples quanto executar o comando abaixo. O arquivo de saída será salvo na pasta `.\dist\`.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck"
```

O script de build usa um gerador de números pseudoaleatórios com uma **seed** gerada aleatoriamente para escolher um nome de variável para cada módulo. Se você quiser gerar resultados reproduzíveis entre builds, pode optar por reutilizar a **seed** gerada anteriormente usando a opção `-NoNewSeed`.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewSeed"
```

## Créditos

- Lista de palavras - [CBHue/PyFuscation](https://github.com/CBHue/PyFuscation)
- Lista de drivers vulneráveis conhecidos - [https://www.loldrivers.io/](https://www.loldrivers.io/)
Baixar ferramenta