mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 15:12:11 +00:00
Translated ['windows-hardening/windows-local-privilege-escalation/README
This commit is contained in:
parent
761c12d235
commit
52ea0b5b50
1 changed files with 44 additions and 40 deletions
|
@ -1,4 +1,4 @@
|
|||
# Escalação de Privilégios Locais no Windows
|
||||
# Escalação Local de Privilégios no Windows
|
||||
|
||||
{% hint style="success" %}
|
||||
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -45,7 +45,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
## Controles de Segurança do Windows
|
||||
|
||||
Existem diferentes coisas no Windows que podem **impedir você de enumerar o sistema**, executar executáveis ou até mesmo **detectar suas atividades**. Você deve **ler** a **página** a seguir e **enumerar** todos esses **mecanismos de defesa** antes de iniciar a enumeração de escalonamento de privilégios:
|
||||
Existem diferentes coisas no Windows que podem **impedir você de enumerar o sistema**, executar executáveis ou até mesmo **detectar suas atividades**. Você deve **ler** a **página** a seguir e **enumerar** todos esses **mecanismos de defesa** antes de começar a enumeração de escalonamento de privilégios:
|
||||
|
||||
{% content-ref url="../authentication-credentials-uac-and-efs/" %}
|
||||
[authentication-credentials-uac-and-efs](../authentication-credentials-uac-and-efs/)
|
||||
|
@ -127,7 +127,7 @@ Stop-Transcript
|
|||
|
||||
Os detalhes das execuções do pipeline do PowerShell são registrados, abrangendo comandos executados, invocações de comandos e partes de scripts. No entanto, detalhes completos da execução e resultados de saída podem não ser capturados.
|
||||
|
||||
Para habilitar isso, siga as instruções na seção "Transcript files" da documentação, optando por **"Module Logging"** em vez de **"Powershell Transcription"**.
|
||||
Para habilitar isso, siga as instruções na seção "Arquivos de Transcrição" da documentação, optando por **"Module Logging"** em vez de **"Powershell Transcription"**.
|
||||
```bash
|
||||
reg query HKCU\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
|
||||
reg query HKLM\Software\Policies\Microsoft\Windows\PowerShell\ModuleLogging
|
||||
|
@ -157,7 +157,7 @@ Get-WinEvent -LogName "Microsoft-Windows-Powershell/Operational" | select -first
|
|||
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
|
||||
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
|
||||
```
|
||||
### Unidades
|
||||
### Drives
|
||||
```bash
|
||||
wmic logicaldisk get caption || fsutil fsinfo drives
|
||||
wmic logicaldisk get caption,description,providername
|
||||
|
@ -199,11 +199,11 @@ Você pode explorar essa vulnerabilidade usando a ferramenta [**WSUSpicious**](h
|
|||
|
||||
## KrbRelayUp
|
||||
|
||||
Uma vulnerabilidade de **elevação de privilégio local** existe em ambientes **de domínio** do Windows sob condições específicas. Essas condições incluem ambientes onde **a assinatura LDAP não é aplicada,** usuários possuem direitos próprios que permitem configurar **Delegação Constrained Baseada em Recursos (RBCD),** e a capacidade de usuários criarem computadores dentro do domínio. É importante notar que esses **requisitos** são atendidos usando **configurações padrão**.
|
||||
Uma vulnerabilidade de **elevação de privilégio local** existe em ambientes **de domínio** do Windows sob condições específicas. Essas condições incluem ambientes onde **a assinatura LDAP não é aplicada,** usuários possuem direitos próprios que lhes permitem configurar **Delegação Constrangida Baseada em Recurso (RBCD),** e a capacidade de usuários criarem computadores dentro do domínio. É importante notar que esses **requisitos** são atendidos usando **configurações padrão**.
|
||||
|
||||
Encontre o **exploit em** [**https://github.com/Dec0ne/KrbRelayUp**](https://github.com/Dec0ne/KrbRelayUp)
|
||||
|
||||
Para mais informações sobre o fluxo do ataque, confira [https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/)
|
||||
Para mais informações sobre o fluxo do ataque, verifique [https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/)
|
||||
|
||||
## AlwaysInstallElevated
|
||||
|
||||
|
@ -244,17 +244,17 @@ Leia este tutorial para aprender como criar um wrapper MSI usando estas ferramen
|
|||
### Criar MSI com Visual Studio
|
||||
|
||||
* **Gere** com Cobalt Strike ou Metasploit um **novo payload TCP EXE do Windows** em `C:\privesc\beacon.exe`
|
||||
* Abra **Visual Studio**, selecione **Criar um novo projeto** e digite "instalador" na caixa de pesquisa. Selecione o projeto **Setup Wizard** e clique em **Próximo**.
|
||||
* Abra **Visual Studio**, selecione **Criar um novo projeto** e digite "installer" na caixa de pesquisa. Selecione o projeto **Setup Wizard** e clique em **Próximo**.
|
||||
* Dê um nome ao projeto, como **AlwaysPrivesc**, use **`C:\privesc`** para o local, selecione **colocar solução e projeto no mesmo diretório**, e clique em **Criar**.
|
||||
* Continue clicando em **Próximo** até chegar ao passo 3 de 4 (escolher arquivos para incluir). Clique em **Adicionar** e selecione o payload Beacon que você acabou de gerar. Em seguida, clique em **Concluir**.
|
||||
* Destaque o projeto **AlwaysPrivesc** no **Solution Explorer** e nas **Propriedades**, mude **TargetPlatform** de **x86** para **x64**.
|
||||
* Existem outras propriedades que você pode alterar, como o **Autor** e o **Fabricante**, que podem fazer o aplicativo instalado parecer mais legítimo.
|
||||
* Clique com o botão direito no projeto e selecione **Visualizar > Ações Personalizadas**.
|
||||
* Clique com o botão direito no projeto e selecione **Ver > Ações Personalizadas**.
|
||||
* Clique com o botão direito em **Instalar** e selecione **Adicionar Ação Personalizada**.
|
||||
* Clique duas vezes em **Pasta do Aplicativo**, selecione seu arquivo **beacon.exe** e clique em **OK**. Isso garantirá que o payload beacon seja executado assim que o instalador for executado.
|
||||
* Nas **Propriedades da Ação Personalizada**, mude **Run64Bit** para **True**.
|
||||
* Finalmente, **construa-o**.
|
||||
* Se o aviso `File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'` for exibido, certifique-se de definir a plataforma como x64.
|
||||
* Se o aviso `File 'beacon-tcp.exe' targeting 'x64' is not compatible with the project's target platform 'x86'` for exibido, certifique-se de que você definiu a plataforma como x64.
|
||||
|
||||
### Instalação do MSI
|
||||
|
||||
|
@ -280,7 +280,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
|
|||
```
|
||||
### LAPS
|
||||
|
||||
**LAPS** é projetado para o **gerenciamento de senhas de Administrador local**, garantindo que cada senha seja **única, aleatória e atualizada regularmente** em computadores associados a um domínio. Essas senhas são armazenadas de forma segura no Active Directory e só podem ser acessadas por usuários que receberam permissões suficientes através de ACLs, permitindo que visualizem senhas de administrador local se autorizados.
|
||||
**LAPS** é projetado para o **gerenciamento de senhas de Administrador local**, garantindo que cada senha seja **única, aleatória e atualizada regularmente** em computadores conectados a um domínio. Essas senhas são armazenadas de forma segura no Active Directory e só podem ser acessadas por usuários que receberam permissões suficientes através de ACLs, permitindo que visualizem senhas de administrador local se autorizados.
|
||||
|
||||
{% content-ref url="../active-directory-methodology/laps.md" %}
|
||||
[laps.md](../active-directory-methodology/laps.md)
|
||||
|
@ -288,7 +288,7 @@ reg query HKLM\Software\Policies\Microsoft\Windows\EventLog\EventForwarding\Subs
|
|||
|
||||
### WDigest
|
||||
|
||||
Se ativo, **senhas em texto simples são armazenadas no LSASS** (Serviço de Subsystem de Autoridade de Segurança Local).\
|
||||
Se ativo, **senhas em texto simples são armazenadas no LSASS** (Serviço de Subsistema de Autoridade de Segurança Local).\
|
||||
[**Mais informações sobre WDigest nesta página**](../stealing-credentials/credentials-protections.md#wdigest).
|
||||
```bash
|
||||
reg query 'HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest' /v UseLogonCredential
|
||||
|
@ -308,7 +308,7 @@ reg query 'HKLM\System\CurrentControlSet\Control\LSA' /v LsaCfgFlags
|
|||
```
|
||||
### Credenciais em Cache
|
||||
|
||||
**Credenciais de domínio** são autenticadas pela **Autoridade de Segurança Local** (LSA) e utilizadas por componentes do sistema operacional. Quando os dados de logon de um usuário são autenticados por um pacote de segurança registrado, as credenciais de domínio para o usuário são tipicamente estabelecidas.\
|
||||
As **credenciais de domínio** são autenticadas pela **Autoridade de Segurança Local** (LSA) e utilizadas pelos componentes do sistema operacional. Quando os dados de logon de um usuário são autenticados por um pacote de segurança registrado, as credenciais de domínio para o usuário são tipicamente estabelecidas.\
|
||||
[**Mais informações sobre Credenciais em Cache aqui**](../stealing-credentials/credentials-protections.md#cached-credentials).
|
||||
```bash
|
||||
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON" /v CACHEDLOGONSCOUNT
|
||||
|
@ -371,7 +371,7 @@ powershell -command "Get-Clipboard"
|
|||
|
||||
### Permissões de Arquivo e Pasta
|
||||
|
||||
Primeiro de tudo, liste os processos **verifique se há senhas dentro da linha de comando do processo**.\
|
||||
Primeiramente, liste os processos **verifique se há senhas dentro da linha de comando do processo**.\
|
||||
Verifique se você pode **sobrescrever algum binário em execução** ou se você tem permissões de gravação na pasta do binário para explorar possíveis [**ataques de DLL Hijacking**](dll-hijacking/):
|
||||
```bash
|
||||
Tasklist /SVC #List processes running and services
|
||||
|
@ -456,7 +456,7 @@ sc config SSDPSRV obj= ".\LocalSystem" password= ""
|
|||
```
|
||||
**Leve em consideração que o serviço upnphost depende do SSDPSRV para funcionar (para XP SP1)**
|
||||
|
||||
**Outra solução alternativa** para este problema é executar:
|
||||
**Outra solução alternativa** para esse problema é executar:
|
||||
```
|
||||
sc.exe config usosvc start= auto
|
||||
```
|
||||
|
@ -528,7 +528,7 @@ Se você tiver essa permissão sobre um registro, isso significa que **você pod
|
|||
|
||||
### Caminhos de Serviço Não Entre Aspas
|
||||
|
||||
Se o caminho para um executável não estiver entre aspas, o Windows tentará executar tudo que terminar antes de um espaço.
|
||||
Se o caminho para um executável não estiver entre aspas, o Windows tentará executar cada final antes de um espaço.
|
||||
|
||||
Por exemplo, para o caminho _C:\Program Files\Some Folder\Service.exe_, o Windows tentará executar:
|
||||
```powershell
|
||||
|
@ -536,12 +536,16 @@ C:\Program.exe
|
|||
C:\Program Files\Some.exe
|
||||
C:\Program Files\Some Folder\Service.exe
|
||||
```
|
||||
Liste todos os caminhos de serviço não entre aspas, excluindo aqueles que pertencem a serviços internos do Windows:
|
||||
```bash
|
||||
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" | findstr /i /v "C:\Windows\\" |findstr /i /v """
|
||||
wmic service get name,displayname,pathname,startmode | findstr /i /v "C:\\Windows\\system32\\" |findstr /i /v """ #Not only auto services
|
||||
Liste todos os caminhos de serviço não entre aspas, excluindo aqueles que pertencem a serviços do Windows integrados:
|
||||
```powershell
|
||||
wmic service get name,pathname,displayname,startmode | findstr /i auto | findstr /i /v "C:\Windows\\" | findstr /i /v '\"'
|
||||
wmic service get name,displayname,pathname,startmode | findstr /i /v "C:\\Windows\\system32\\" |findstr /i /v '\"' # Not only auto services
|
||||
|
||||
#Other way
|
||||
# Using PowerUp.ps1
|
||||
Get-ServiceUnquoted -Verbose
|
||||
```
|
||||
|
||||
```powershell
|
||||
for /f "tokens=2" %%n in ('sc query state^= all^| findstr SERVICE_NAME') do (
|
||||
for /f "delims=: tokens=1*" %%r in ('sc qc "%%~n" ^| findstr BINARY_PATH_NAME ^| findstr /i /v /l /c:"c:\windows\system32" ^| findstr /v /c:""""') do (
|
||||
echo %%~s | findstr /r /c:"[a-Z][ ][a-Z]" >nul 2>&1 && (echo %%n && echo %%~s && icacls %%s | findstr /i "(F) (M) (W) :\" | findstr /i ":\\ everyone authenticated users todos %username%") && echo.
|
||||
|
@ -549,7 +553,7 @@ echo %%~s | findstr /r /c:"[a-Z][ ][a-Z]" >nul 2>&1 && (echo %%n && echo %%~s &&
|
|||
)
|
||||
```
|
||||
|
||||
```bash
|
||||
```powershell
|
||||
gwmi -class Win32_Service -Property Name, DisplayName, PathName, StartMode | Where {$_.StartMode -eq "Auto" -and $_.PathName -notlike "C:\Windows*" -and $_.PathName -notlike '"*'} | select PathName,DisplayName,Name
|
||||
```
|
||||
**Você pode detectar e explorar** essa vulnerabilidade com metasploit: `exploit/windows/local/trusted\_service\_path` Você pode criar manualmente um binário de serviço com metasploit:
|
||||
|
@ -600,7 +604,7 @@ Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Ac
|
|||
|
||||
Get-ChildItem 'C:\Program Files\*','C:\Program Files (x86)\*' | % { try { Get-Acl $_ -EA SilentlyContinue | Where {($_.Access|select -ExpandProperty IdentityReference) -match 'BUILTIN\Users'} } catch {}}
|
||||
```
|
||||
### Execute na inicialização
|
||||
### Executar na inicialização
|
||||
|
||||
**Verifique se você pode sobrescrever algum registro ou binário que será executado por um usuário diferente.**\
|
||||
**Leia** a **página seguinte** para saber mais sobre **locais interessantes de autorun para escalar privilégios**:
|
||||
|
@ -736,11 +740,11 @@ Note que mimikatz, lazagne, [credentialfileview](https://www.nirsoft.net/utils/c
|
|||
|
||||
### DPAPI
|
||||
|
||||
A **API de Proteção de Dados (DPAPI)** fornece um método para criptografia simétrica de dados, predominantemente utilizada dentro do sistema operacional Windows para a criptografia simétrica de chaves privadas assimétricas. Essa criptografia utiliza um segredo de usuário ou sistema para contribuir significativamente com a entropia.
|
||||
A **API de Proteção de Dados (DPAPI)** fornece um método para criptografia simétrica de dados, predominantemente utilizado dentro do sistema operacional Windows para a criptografia simétrica de chaves privadas assimétricas. Essa criptografia utiliza um segredo de usuário ou sistema para contribuir significativamente com a entropia.
|
||||
|
||||
**A DPAPI permite a criptografia de chaves através de uma chave simétrica que é derivada dos segredos de login do usuário**. Em cenários que envolvem criptografia de sistema, utiliza os segredos de autenticação de domínio do sistema.
|
||||
|
||||
As chaves RSA de usuário criptografadas, usando a DPAPI, são armazenadas no diretório `%APPDATA%\Microsoft\Protect\{SID}`, onde `{SID}` representa o [Identificador de Segurança](https://en.wikipedia.org/wiki/Security\_Identifier) do usuário. **A chave DPAPI, co-localizada com a chave mestra que protege as chaves privadas do usuário no mesmo arquivo**, normalmente consiste em 64 bytes de dados aleatórios. (É importante notar que o acesso a este diretório é restrito, impedindo a listagem de seu conteúdo via o comando `dir` no CMD, embora possa ser listado através do PowerShell).
|
||||
As chaves RSA do usuário criptografadas, usando a DPAPI, são armazenadas no diretório `%APPDATA%\Microsoft\Protect\{SID}`, onde `{SID}` representa o [Identificador de Segurança](https://en.wikipedia.org/wiki/Security\_Identifier) do usuário. **A chave DPAPI, co-localizada com a chave mestra que protege as chaves privadas do usuário no mesmo arquivo**, geralmente consiste em 64 bytes de dados aleatórios. (É importante notar que o acesso a este diretório é restrito, impedindo a listagem de seu conteúdo através do comando `dir` no CMD, embora possa ser listado através do PowerShell).
|
||||
```powershell
|
||||
Get-ChildItem C:\Users\USER\AppData\Roaming\Microsoft\Protect\
|
||||
Get-ChildItem C:\Users\USER\AppData\Local\Microsoft\Protect\
|
||||
|
@ -892,7 +896,7 @@ $ErrorActionPreference = $OrigError
|
|||
```
|
||||
### SCClient / SCCM
|
||||
|
||||
Verifique se `C:\Windows\CCM\SCClient.exe` existe.\
|
||||
Verifique se `C:\Windows\CCM\SCClient.exe` existe .\
|
||||
Instaladores são **executados com privilégios de SYSTEM**, muitos são vulneráveis a **DLL Sideloading (Informações de** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).**
|
||||
```bash
|
||||
$result = Get-WmiObject -Namespace "root\ccm\clientSDK" -Class CCM_Application -Property * | select Name,SoftwareVersion
|
||||
|
@ -911,7 +915,7 @@ reg query HKCU\Software\SimonTatham\PuTTY\SshHostKeys\
|
|||
```
|
||||
### Chaves SSH no registro
|
||||
|
||||
As chaves privadas SSH podem ser armazenadas dentro da chave do registro `HKCU\Software\OpenSSH\Agent\Keys`, então você deve verificar se há algo interessante lá:
|
||||
As chaves privadas SSH podem ser armazenadas dentro da chave de registro `HKCU\Software\OpenSSH\Agent\Keys`, então você deve verificar se há algo interessante lá:
|
||||
```bash
|
||||
reg query 'HKEY_CURRENT_USER\Software\OpenSSH\Agent\Keys'
|
||||
```
|
||||
|
@ -1138,7 +1142,7 @@ TypedURLs #IE
|
|||
%USERPROFILE%\ntuser.dat
|
||||
%USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat
|
||||
```
|
||||
Pesquise todos os arquivos propostos:
|
||||
Pesquisar todos os arquivos propostos:
|
||||
```
|
||||
cd C:\
|
||||
dir /s/b /A:-D RDCMan.settings == *.rdg == *_history* == httpd.conf == .htpasswd == .gitconfig == .git-credentials == Dockerfile == docker-compose.yml == access_tokens.db == accessTokens.json == azureProfile.json == appcmd.exe == scclient.exe == *.gpg$ == *.pgp$ == *config*.php == elasticsearch.y*ml == kibana.y*ml == *.p12$ == *.cer$ == known_hosts == *id_rsa* == *id_dsa* == *.ovpn == tomcat-users.xml == web.config == *.kdbx == KeePass.config == Ntds.dit == SAM == SYSTEM == security == software == FreeSSHDservice.ini == sysprep.inf == sysprep.xml == *vnc*.ini == *vnc*.c*nf* == *vnc*.txt == *vnc*.xml == php.ini == https.conf == https-xampp.conf == my.ini == my.cnf == access.log == error.log == server.xml == ConsoleHost_history.txt == pagefile.sys == NetSetup.log == iis6.log == AppEvent.Evt == SecEvent.Evt == default.sav == security.sav == software.sav == system.sav == ntuser.dat == index.dat == bash.exe == wsl.exe 2>nul | findstr /v ".dll"
|
||||
|
@ -1186,7 +1190,7 @@ Dentro dos CLSIDs deste registro, você pode encontrar o registro filho **InProc
|
|||
|
||||
![](<../../.gitbook/assets/image (729).png>)
|
||||
|
||||
Basicamente, se você puder **sobrescrever qualquer uma das DLLs** que serão executadas, você poderia **escalar privilégios** se essa DLL for executada por um usuário diferente.
|
||||
Basicamente, se você puder **sobrescrever qualquer uma das DLLs** que serão executadas, você poderá **escalar privilégios** se essa DLL for executada por um usuário diferente.
|
||||
|
||||
Para aprender como os atacantes usam o COM Hijacking como um mecanismo de persistência, verifique:
|
||||
|
||||
|
@ -1237,11 +1241,11 @@ Então, se você tiver **acesso total ao processo de baixo privilégio**, você
|
|||
|
||||
## Named Pipe Client Impersonation
|
||||
|
||||
Segmentos de memória compartilhada, referidos como **pipes**, permitem a comunicação entre processos e a transferência de dados.
|
||||
Segmentos de memória compartilhada, referidos como **pipes**, permitem comunicação entre processos e transferência de dados.
|
||||
|
||||
O Windows fornece um recurso chamado **Named Pipes**, permitindo que processos não relacionados compartilhem dados, mesmo através de diferentes redes. Isso se assemelha a uma arquitetura cliente/servidor, com papéis definidos como **servidor de pipe nomeado** e **cliente de pipe nomeado**.
|
||||
|
||||
Quando os dados são enviados através de um pipe por um **cliente**, o **servidor** que configurou o pipe tem a capacidade de **assumir a identidade** do **cliente**, desde que tenha os direitos necessários de **SeImpersonate**. Identificar um **processo privilegiado** que se comunica via um pipe que você pode imitar oferece uma oportunidade para **obter privilégios mais altos** ao adotar a identidade desse processo uma vez que ele interaja com o pipe que você estabeleceu. Para instruções sobre como executar tal ataque, guias úteis podem ser encontrados [**aqui**](named-pipe-client-impersonation.md) e [**aqui**](./#from-high-integrity-to-system).
|
||||
Quando dados são enviados através de um pipe por um **cliente**, o **servidor** que configurou o pipe tem a capacidade de **assumir a identidade** do **cliente**, assumindo que ele tenha os direitos necessários de **SeImpersonate**. Identificar um **processo privilegiado** que se comunica via um pipe que você pode imitar oferece uma oportunidade para **obter privilégios mais altos** ao adotar a identidade desse processo uma vez que ele interaja com o pipe que você estabeleceu. Para instruções sobre como executar tal ataque, guias úteis podem ser encontrados [**aqui**](named-pipe-client-impersonation.md) e [**aqui**](./#from-high-integrity-to-system).
|
||||
|
||||
Além disso, a seguinte ferramenta permite **interceptar uma comunicação de pipe nomeado com uma ferramenta como burp:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **e esta ferramenta permite listar e ver todos os pipes para encontrar privescs** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
|
||||
|
||||
|
@ -1263,7 +1267,7 @@ Compare-Object -ReferenceObject $process -DifferenceObject $process2
|
|||
|
||||
## De Usuário de Baixo Privilégio para NT\AUTHORITY SYSTEM (CVE-2019-1388) / Bypass de UAC
|
||||
|
||||
Se você tiver acesso à interface gráfica (via console ou RDP) e o UAC estiver ativado, em algumas versões do Microsoft Windows é possível executar um terminal ou qualquer outro processo como "NT\AUTHORITY SYSTEM" a partir de um usuário não privilegiado.
|
||||
Se você tiver acesso à interface gráfica (via console ou RDP) e o UAC estiver habilitado, em algumas versões do Microsoft Windows é possível executar um terminal ou qualquer outro processo como "NT\AUTHORITY SYSTEM" a partir de um usuário não privilegiado.
|
||||
|
||||
Isso torna possível escalar privilégios e contornar o UAC ao mesmo tempo com a mesma vulnerabilidade. Além disso, não há necessidade de instalar nada e o binário usado durante o processo é assinado e emitido pela Microsoft.
|
||||
|
||||
|
@ -1311,7 +1315,7 @@ Você tem todos os arquivos e informações necessários no seguinte repositóri
|
|||
|
||||
https://github.com/jas502n/CVE-2019-1388
|
||||
|
||||
## De Nível de Integridade Médio para Alto / Bypass de UAC
|
||||
## De Nível de Integridade Médio de Administrador para Alto / Bypass de UAC
|
||||
|
||||
Leia isto para **aprender sobre Níveis de Integridade**:
|
||||
|
||||
|
@ -1325,11 +1329,11 @@ Então **leia isto para aprender sobre UAC e bypasses de UAC:**
|
|||
[uac-user-account-control.md](../authentication-credentials-uac-and-efs/uac-user-account-control.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## **De Alto Nível de Integridade para Sistema**
|
||||
## **De Alta Integridade para Sistema**
|
||||
|
||||
### **Novo serviço**
|
||||
|
||||
Se você já estiver executando em um processo de Alto Nível de Integridade, o **passo para SYSTEM** pode ser fácil apenas **criando e executando um novo serviço**:
|
||||
Se você já estiver executando um processo de Alta Integridade, o **passo para SYSTEM** pode ser fácil apenas **criando e executando um novo serviço**:
|
||||
```
|
||||
sc create newservicename binPath= "C:\windows\system32\notepad.exe"
|
||||
sc start newservicename
|
||||
|
@ -1346,7 +1350,7 @@ De um processo de Alta Integridade, você pode tentar **habilitar as entradas de
|
|||
### From SeDebug + SeImpersonate to Full Token privileges
|
||||
|
||||
Se você tiver esses privilégios de token (provavelmente você encontrará isso em um processo de Alta Integridade já existente), você poderá **abrir quase qualquer processo** (processos não protegidos) com o privilégio SeDebug, **copiar o token** do processo e criar um **processo arbitrário com esse token**.\
|
||||
Usando essa técnica, geralmente é **selecionado qualquer processo em execução como SYSTEM com todos os privilégios de token** (_sim, você pode encontrar processos SYSTEM sem todos os privilégios de token_).\
|
||||
Usar essa técnica geralmente **seleciona qualquer processo em execução como SYSTEM com todos os privilégios de token** (_sim, você pode encontrar processos SYSTEM sem todos os privilégios de token_).\
|
||||
**Você pode encontrar um** [**exemplo de código executando a técnica proposta aqui**](sedebug-+-seimpersonate-copy-token.md)**.**
|
||||
|
||||
### **Named Pipes**
|
||||
|
@ -1357,7 +1361,7 @@ Se você quiser ler um exemplo de [**como ir de alta integridade para System usa
|
|||
|
||||
### Dll Hijacking
|
||||
|
||||
Se você conseguir **sequestar uma dll** sendo **carregada** por um **processo** em execução como **SYSTEM**, você poderá executar código arbitrário com essas permissões. Portanto, o Dll Hijacking também é útil para esse tipo de escalonamento de privilégios e, além disso, é **muito mais fácil de alcançar a partir de um processo de alta integridade**, pois terá **permissões de gravação** nas pastas usadas para carregar dlls.\
|
||||
Se você conseguir **sequestar uma dll** sendo **carregada** por um **processo** em execução como **SYSTEM**, você poderá executar código arbitrário com essas permissões. Portanto, Dll Hijacking também é útil para esse tipo de escalonamento de privilégios e, além disso, é **muito mais fácil de alcançar a partir de um processo de alta integridade**, pois terá **permissões de gravação** nas pastas usadas para carregar dlls.\
|
||||
**Você pode** [**saber mais sobre Dll hijacking aqui**](dll-hijacking/)**.**
|
||||
|
||||
### **From Administrator or Network Service to System**
|
||||
|
@ -1368,11 +1372,11 @@ Se você conseguir **sequestar uma dll** sendo **carregada** por um **processo**
|
|||
|
||||
**Leia:** [**https://github.com/itm4n/FullPowers**](https://github.com/itm4n/FullPowers)
|
||||
|
||||
## Mais ajuda
|
||||
## More help
|
||||
|
||||
[Binários impacket estáticos](https://github.com/ropnop/impacket\_static\_binaries)
|
||||
[Static impacket binaries](https://github.com/ropnop/impacket\_static\_binaries)
|
||||
|
||||
## Ferramentas úteis
|
||||
## Useful tools
|
||||
|
||||
**Melhor ferramenta para procurar vetores de escalonamento de privilégios locais do Windows:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
|
||||
|
@ -1388,7 +1392,7 @@ Se você conseguir **sequestar uma dll** sendo **carregada** por um **processo**
|
|||
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh é uma ferramenta de spoofing e man-in-the-middle PowerShell ADIDNS/LLMNR/mDNS/NBNS.**\
|
||||
[**WindowsEnum**](https://github.com/absolomb/WindowsEnum/blob/master/WindowsEnum.ps1) **-- Enumeração básica de privesc do Windows**\
|
||||
[~~**Sherlock**~~](https://github.com/rasta-mouse/Sherlock) **\~\~**\~\~ -- Procura por vulnerabilidades conhecidas de privesc (DEPRECATED para Watson)\
|
||||
[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- Verificações locais **(Necessita de direitos de administrador)**
|
||||
[~~**WINspect**~~](https://github.com/A-mIn3/WINspect) -- Verificações locais **(Necessita de direitos de Admin)**
|
||||
|
||||
**Exe**
|
||||
|
||||
|
|
Loading…
Reference in a new issue