mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-29 22:43:11 +00:00
358 lines
25 KiB
Markdown
358 lines
25 KiB
Markdown
# Escalando Privilégios com Autoruns
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
|
|
|
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
## WMIC
|
|
|
|
**Wmic** pode ser usado para executar programas na **inicialização**. Veja quais binários estão programados para serem executados na inicialização com:
|
|
```bash
|
|
wmic startup get caption,command 2>nul & ^
|
|
Get-CimInstance Win32_StartupCommand | select Name, command, Location, User | fl
|
|
```
|
|
## Tarefas Agendadas
|
|
|
|
**Tarefas** podem ser agendadas para serem executadas com **uma determinada frequência**. Veja quais binários estão agendados para serem executados com:
|
|
```bash
|
|
schtasks /query /fo TABLE /nh | findstr /v /i "disable deshab"
|
|
schtasks /query /fo LIST 2>nul | findstr TaskName
|
|
schtasks /query /fo LIST /v > schtasks.txt; cat schtask.txt | grep "SYSTEM\|Task To Run" | grep -B 1 SYSTEM
|
|
Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State
|
|
|
|
#Schtask to give admin access
|
|
#You can also write that content on a bat file that is being executed by a scheduled task
|
|
schtasks /Create /RU "SYSTEM" /SC ONLOGON /TN "SchedPE" /TR "cmd /c net localgroup administrators user /add"
|
|
```
|
|
## Pastas
|
|
|
|
Todos os binários localizados nas **pastas de inicialização serão executados na inicialização**. As pastas de inicialização comuns são as listadas a seguir, mas a pasta de inicialização é indicada no registro. [Leia isso para saber onde.](privilege-escalation-with-autorun-binaries.md#startup-path)
|
|
```bash
|
|
dir /b "C:\Documents and Settings\All Users\Start Menu\Programs\Startup" 2>nul
|
|
dir /b "C:\Documents and Settings\%username%\Start Menu\Programs\Startup" 2>nul
|
|
dir /b "%programdata%\Microsoft\Windows\Start Menu\Programs\Startup" 2>nul
|
|
dir /b "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" 2>nul
|
|
Get-ChildItem "C:\Users\All Users\Start Menu\Programs\Startup"
|
|
Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
|
|
```
|
|
## Registro
|
|
|
|
{% hint style="info" %}
|
|
Nota: A entrada do registro **Wow6432Node** indica que você está executando uma versão do Windows de 64 bits. O sistema operacional usa essa chave para exibir uma visualização separada de HKEY\_LOCAL\_MACHINE\SOFTWARE para aplicativos de 32 bits que são executados em versões do Windows de 64 bits.
|
|
{% endhint %}
|
|
|
|
### Execuções
|
|
|
|
Registro de AutoRun comumente conhecido:
|
|
|
|
* `HKLM\Software\Microsoft\Windows\CurrentVersion\Run`
|
|
* `HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce`
|
|
* `HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run`
|
|
* `HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\Run`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce`
|
|
* `HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run`
|
|
* `HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce`
|
|
* `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run`
|
|
* `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce`
|
|
* `HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx`
|
|
|
|
As chaves de registro Run e RunOnce fazem com que os programas sejam executados cada vez que um usuário faz login. O valor de dados para uma chave é uma linha de comando com no máximo 260 caracteres.
|
|
|
|
**Execuções de serviço** (podem controlar a inicialização automática de serviços durante a inicialização):
|
|
|
|
* `HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce`
|
|
* `HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices`
|
|
* `HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce`
|
|
* `HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce`
|
|
* `HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices`
|
|
* `HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices`
|
|
|
|
**RunOnceEx:**
|
|
|
|
* `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx`
|
|
* `HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx`
|
|
|
|
Não é criado por padrão no Windows Vista e versões mais recentes. As entradas da chave de execução do registro podem fazer referência a programas diretamente ou listá-los como uma dependência. Por exemplo, é possível carregar uma DLL no logon usando uma chave "Depend" com RunOnceEx: `reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll"`
|
|
|
|
{% hint style="info" %}
|
|
**Exploração 1**: Se você puder escrever em qualquer um dos registros mencionados dentro do **HKLM**, poderá elevar privilégios quando um usuário diferente fizer login.
|
|
{% endhint %}
|
|
|
|
{% hint style="info" %}
|
|
**Exploração 2**: Se você puder sobrescrever qualquer um dos binários indicados em qualquer um dos registros dentro do **HKLM**, poderá modificar esse binário com uma porta dos fundos quando um usuário diferente fizer login e elevar privilégios.
|
|
{% endhint %}
|
|
```bash
|
|
#CMD
|
|
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
|
|
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
|
|
reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
|
|
reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
|
|
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
|
|
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
|
|
reg query HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
|
|
reg query HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
|
|
reg query HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
|
|
reg query HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunOnce
|
|
reg query HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunE
|
|
|
|
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
|
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
|
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
|
|
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
|
|
reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
|
reg query HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
|
reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
|
|
reg query HKCU\Software\Wow5432Node\Microsoft\Windows\CurrentVersion\RunServices
|
|
|
|
reg query HKLM\Software\Microsoft\Windows\RunOnceEx
|
|
reg query HKLM\Software\Wow6432Node\Microsoft\Windows\RunOnceEx
|
|
reg query HKCU\Software\Microsoft\Windows\RunOnceEx
|
|
reg query HKCU\Software\Wow6432Node\Microsoft\Windows\RunOnceEx
|
|
|
|
#PowerShell
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\Run'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Run'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunOnce'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunE'
|
|
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices'
|
|
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\RunOnceEx'
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Wow6432Node\Microsoft\Windows\RunOnceEx'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\RunOnceEx'
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\RunOnceEx'
|
|
```
|
|
### Caminho de Inicialização
|
|
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders`
|
|
* `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders`
|
|
* `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders`
|
|
|
|
Qualquer atalho criado para o local apontado pela subchave Inicialização irá iniciar o serviço durante o login/reinicialização. A localização de inicialização é especificada tanto na Máquina Local quanto no Usuário Atual.
|
|
|
|
{% hint style="info" %}
|
|
Se você puder sobrescrever qualquer Pasta Shell \[Usuário] em **HKLM**, você poderá apontá-la para uma pasta controlada por você e colocar um backdoor que será executado sempre que um usuário fizer login no sistema, escalando privilégios.
|
|
{% endhint %}
|
|
```bash
|
|
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
|
|
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
|
|
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' -Name "Common Startup"
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders' -Name "Common Startup"
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders' -Name "Common Startup"
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' -Name "Common Startup"
|
|
```
|
|
### Chaves do Winlogon
|
|
|
|
`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`
|
|
|
|
Normalmente, a chave **Userinit** aponta para userinit.exe, mas se essa chave puder ser alterada, então esse exe também será executado pelo Winlogon.\
|
|
A chave **Shell** deve apontar para explorer.exe.
|
|
```bash
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Userinit"
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell"
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Userinit"
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Shell"
|
|
```
|
|
{% hint style="info" %}
|
|
Se você puder sobrescrever o valor do registro ou o binário, poderá elevar os privilégios.
|
|
{% endhint %}
|
|
|
|
### Configurações de Política
|
|
|
|
* `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
|
|
* `HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
|
|
|
|
Verifique a chave **Run**.
|
|
```bash
|
|
reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "Run"
|
|
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "Run"
|
|
Get-ItemProperty -Path 'Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer' -Name "Run"
|
|
Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer' -Name "Run"
|
|
```
|
|
### AlternateShell
|
|
|
|
Caminho: **`HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot`**
|
|
|
|
Sob a chave do registro `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot` está o valor **AlternateShell**, que por padrão é definido como `cmd.exe` (o prompt de comando). Quando você pressiona F8 durante a inicialização e seleciona "Modo de Segurança com Prompt de Comando", o sistema usa esse shell alternativo.\
|
|
No entanto, você pode criar uma opção de inicialização para não precisar pressionar F8 e selecionar "Modo de Segurança com Prompt de Comando".
|
|
|
|
1. Edite os atributos do arquivo boot.ini (c:\boot.ini) para tornar o arquivo não somente leitura, não sistema e não oculto (attrib c:\boot.ini -r -s -h).
|
|
2. Abra o boot.ini.
|
|
3. Adicione uma linha semelhante à seguinte: `multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)`
|
|
4. Salve o arquivo.
|
|
5. Reaplique as permissões corretas (attrib c:\boot.ini +r +s +h).
|
|
|
|
Informações obtidas [aqui](https://www.itprotoday.com/cloud-computing/how-can-i-add-boot-option-starts-alternate-shell).
|
|
|
|
{% hint style="info" %}
|
|
**Exploit 1:** Se você puder modificar essa chave do registro, poderá apontar sua backdoor.
|
|
{% endhint %}
|
|
|
|
{% hint style="info" %}
|
|
**Exploit 2 (permissões de gravação no PATH)**: Se você tiver permissão de gravação em qualquer pasta do sistema **PATH** antes de _C:\Windows\system32_ (ou se puder alterá-lo), poderá criar um arquivo cmd.exe e, se alguém iniciar a máquina no Modo de Segurança, sua backdoor será executada.
|
|
{% endhint %}
|
|
|
|
{% hint style="info" %}
|
|
**Exploit 3 (permissões de gravação no PATH e boot.ini)**: Se você puder gravar no boot.ini, poderá automatizar a inicialização no modo de segurança para a próxima reinicialização.
|
|
{% endhint %}
|
|
```bash
|
|
reg query HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot /v AlternateShell
|
|
Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot' -Name 'AlternateShell'
|
|
```
|
|
### Componente Instalado
|
|
|
|
* `HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components`
|
|
* `HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components`
|
|
* `HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components`
|
|
* `HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components`
|
|
|
|
O Active Setup é executado antes da área de trabalho aparecer. Os comandos iniciados pelo Active Setup são executados de forma síncrona, bloqueando o logon enquanto estão sendo executados. O Active Setup é executado antes de quaisquer entradas de registro Run ou RunOnce serem avaliadas.
|
|
|
|
Dentro dessas chaves, você encontrará mais chaves e cada uma delas conterá alguns valores interessantes. Os mais interessantes são:
|
|
|
|
* **IsInstalled:**
|
|
* 0: O comando do componente não será executado.
|
|
* 1: O comando do componente será executado uma vez por usuário. Este é o valor padrão (se o valor IsInstalled não existir).
|
|
* **StubPath**
|
|
* Formato: Qualquer linha de comando válida, por exemplo, "notepad"
|
|
* Este é o comando que é executado se o Active Setup determinar que este componente precisa ser executado durante o logon.
|
|
|
|
{% hint style="info" %}
|
|
Se você puder escrever/sobrescrever qualquer chave com _**IsInstalled == "1"**_ e a chave **StubPath**, você poderá apontá-la para uma porta dos fundos e elevar os privilégios. Além disso, se você puder sobrescrever qualquer **binário** apontado por qualquer chave **StubPath**, poderá ser capaz de elevar os privilégios.
|
|
{% endhint %}
|
|
```bash
|
|
reg query "HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components" /s /v StubPath
|
|
reg query "HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components" /s /v StubPath
|
|
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath
|
|
reg query "HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components" /s /v StubPath
|
|
```
|
|
### Objetos Auxiliares do Navegador
|
|
|
|
* `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects`
|
|
* `HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects`
|
|
|
|
Um **Objeto Auxiliar do Navegador** (**BHO**) é um módulo DLL projetado como um plugin para o navegador da web Internet Explorer da Microsoft para fornecer funcionalidades adicionais. Esses módulos são executados para cada nova instância do Internet Explorer e para cada nova instância do Windows Explorer. No entanto, um BHO pode ser impedido de ser executado em cada instância do Explorer definindo a chave **NoExplorer** como 1.
|
|
|
|
Os BHOs ainda são suportados no Windows 10, por meio do Internet Explorer 11, enquanto os BHOs não são suportados no navegador da web padrão Microsoft Edge.
|
|
```bash
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects" /s
|
|
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects" /s
|
|
```
|
|
Observe que o registro conterá 1 novo registro para cada dll e será representado pelo **CLSID**. Você pode encontrar as informações do CLSID em `HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}`
|
|
|
|
### Extensões do Internet Explorer
|
|
|
|
* `HKLM\Software\Microsoft\Internet Explorer\Extensions`
|
|
* `HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions`
|
|
|
|
Observe que o registro conterá 1 novo registro para cada dll e será representado pelo **CLSID**. Você pode encontrar as informações do CLSID em `HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}`
|
|
|
|
### Drivers de Fonte
|
|
|
|
* `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers`
|
|
* `HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers`
|
|
```bash
|
|
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers"
|
|
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers"
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers'
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers'
|
|
```
|
|
### Comando Aberto
|
|
|
|
* `HKLM\SOFTWARE\Classes\htmlfile\shell\open\command`
|
|
* `HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command`
|
|
```bash
|
|
reg query "HKLM\SOFTWARE\Classes\htmlfile\shell\open\command" /v ""
|
|
reg query "HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command" /v ""
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Classes\htmlfile\shell\open\command' -Name ""
|
|
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command' -Name ""
|
|
```
|
|
### Opções de Execução de Arquivos de Imagem
|
|
|
|
As Opções de Execução de Arquivos de Imagem são uma funcionalidade do Windows que permite a execução de um programa específico sempre que um determinado executável for iniciado. Essa funcionalidade pode ser explorada para obter privilégios elevados em um sistema Windows.
|
|
|
|
#### Como funciona?
|
|
|
|
Quando um programa é executado no Windows, o sistema operacional verifica se existem entradas nas Opções de Execução de Arquivos de Imagem para esse executável. Se houver uma entrada correspondente, o programa especificado nas opções será executado em vez do programa original.
|
|
|
|
#### Explorando as Opções de Execução de Arquivos de Imagem
|
|
|
|
Para explorar essa vulnerabilidade, um invasor pode adicionar uma entrada nas Opções de Execução de Arquivos de Imagem para um executável privilegiado, como o Prompt de Comando (cmd.exe). Dessa forma, sempre que o Prompt de Comando for iniciado, o programa especificado nas opções será executado em seu lugar.
|
|
|
|
Para adicionar uma entrada nas Opções de Execução de Arquivos de Imagem, é necessário editar o Registro do Windows. O invasor pode fazer isso manualmente ou usando ferramentas automatizadas.
|
|
|
|
#### Prevenção
|
|
|
|
Para mitigar esse tipo de ataque, é recomendado restringir o acesso ao Registro do Windows e monitorar as alterações feitas nele. Além disso, é importante manter o sistema operacional e os aplicativos atualizados para corrigir possíveis vulnerabilidades que possam ser exploradas.
|
|
```
|
|
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
|
|
HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Execution Options
|
|
```
|
|
## SysInternals
|
|
|
|
Observe que todos os sites onde você pode encontrar autoruns já foram pesquisados pelo [winpeas.exe](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS/winPEASexe). No entanto, para uma lista mais abrangente de arquivos autoexecutáveis, você pode usar o [autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) do SysInternals:
|
|
```
|
|
autorunsc.exe -m -nobanner -a * -ct /accepteula
|
|
```
|
|
## Mais
|
|
|
|
Encontre mais Autoruns como registros em [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2)
|
|
|
|
## Referências
|
|
|
|
* [https://resources.infosecinstitute.com/common-malware-persistence-mechanisms/#gref](https://resources.infosecinstitute.com/common-malware-persistence-mechanisms/#gref)
|
|
* [https://attack.mitre.org/techniques/T1547/001/](https://attack.mitre.org/techniques/T1547/001/)
|
|
* [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2)
|
|
|
|
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
|
|
|
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
|
|
|
|
{% embed url="https://www.stmcyber.com/careers" %}
|
|
|
|
<details>
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
|
|
|
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|