PowerSploit - Um Framework de Pós-Exploração em PowerShell
Forkado para adicionar alguns recursos ao PowerView.ps1 que costumo executar manualmente
Execute código em uma máquina de destino.
Invoke-DllInjectionInjeta uma DLL no ID do processo de sua escolha.
Invoke-ReflectivePEInjectionCarrega reflexivamente um arquivo PE do Windows (DLL/EXE) no processo do PowerShell, ou injeta reflexivamente uma DLL em um processo remoto.
Invoke-ShellcodeInjeta shellcode no ID do processo de sua escolha ou dentro do PowerShell localmente.
Invoke-WmiCommandExecuta um ScriptBlock do PowerShell em um computador de destino e retorna sua saída formatada usando WMI como um canal de C2.
Modifique e/ou prepare scripts para execução em uma máquina comprometida.
Out-EncodedCommandComprime, codifica em Base-64 e gera saída de linha de comando para um script de payload do PowerShell.
Out-CompressedDllComprime, codifica em Base-64 e gera código para carregar uma DLL gerenciada em memória.
Out-EncryptedScriptCriptografa arquivos de texto/scripts.
Remove-CommentRemove comentários e espaços em branco extras de um script.
Adicione capacidades de persistência a um script do PowerShell
New-UserPersistenceOptionConfigura opções de persistência em nível de usuário para a função Add-Persistence.
New-ElevatedPersistenceOptionConfigura opções de persistência elevadas para a função Add-Persistence.
Add-PersistenceAdiciona capacidades de persistência a um script.
Install-SSPInstala uma DLL de provedor de suporte de segurança (SSP).
Get-SecurityPackagesEnumera todos os pacotes de segurança carregados (SSPs).
O antivírus não tem chance contra o PowerShell!
Find-AVSignatureLocaliza assinaturas de antivírus de byte único utilizando o mesmo método do DSplit do "class101".
Todos os seus dados pertencem a mim!
Invoke-TokenManipulationLista os tokens de logon disponíveis. Cria processos com tokens de logon de outros usuários e personifica tokens de logon no thread atual.
Invoke-CredentialInjectionCria logons com credenciais em texto claro sem acionar um ID de Evento 4648 suspeito (Logon com Credencial Explícita).
Invoke-NinjaCopyCopia um arquivo de um volume particionado em NTFS lendo o volume bruto e analisando as estruturas NTFS.
Invoke-MimikatzCarrega reflexivamente o Mimikatz 2.0 na memória usando PowerShell. Pode ser usado para extrair credenciais sem gravar nada no disco. Pode ser usado para qualquer funcionalidade fornecida pelo Mimikatz.
Get-KeystrokesRegistra as teclas pressionadas, a hora e a janela ativa.
Get-GPPPasswordRecupera a senha em texto claro e outras informações de contas distribuídas por meio das Preferências de Política de Grupo.
Get-GPPAutologonRecupera o nome de usuário e a senha de logon automático do registry.xml, se distribuídos por meio das Preferências de Política de Grupo.
Get-TimedScreenshotUma função que tira capturas de tela em intervalos regulares e as salva em uma pasta.
New-VolumeShadowCopyCria uma nova cópia de sombra de volume.
Get-VolumeShadowCopyLista os caminhos de dispositivo de todas as cópias de sombra de volume locais.
Mount-VolumeShadowCopyMonta uma cópia de sombra de volume.
Remove-VolumeShadowCopyExclui uma cópia de sombra de volume.
Get-VaultCredentialExibe objetos de credencial do cofre do Windows, incluindo credenciais da web em texto claro.
Out-MinidumpGera um minidump de memória completa de um processo.
Get-MicrophoneAudioGrava áudio do microfone do sistema e salva no disco
Cause o caos geral com o PowerShell.
Set-MasterBootRecordCódigo de prova de conceito que sobrescreve o registro mestre de inicialização com a mensagem de sua escolha.
Set-CriticalProcessFaz sua máquina entrar em tela azul ao sair do PowerShell.
Ferramentas para ajudar a escalar privilégios em um alvo.
PowerUpCentral de verificações comuns de escalonamento de privilégios, junto com alguns vetores de weaponização.
Ferramentas para auxiliar na fase de reconhecimento de um teste de penetração.
Invoke-PortscanRealiza uma verificação simples de portas usando soquetes comuns, baseado (bastante) livremente no nmap.
Get-HttpStatusRetorna os códigos de status HTTP e a URL completa para caminhos especificados quando um arquivo de dicionário é fornecido.
Invoke-ReverseDnsLookupVarre uma faixa de endereços IP em busca de registros DNS PTR.
PowerViewPowerView é uma série de funções que realiza enumeração e exploração de rede e de domínio do Windows.
Uma coleção de dicionários usados para auxiliar na fase de reconhecimento de um teste de penetração. Os dicionários foram retirados das seguintes fontes.
O projeto PowerSploit e todos os scripts individuais estão sob a licença BSD 3-Clause, salvo indicação explícita em contrário.
Consulte a ajuda baseada em comentários em cada script individual para obter informações detalhadas de uso.
Para instalar este módulo, coloque a pasta inteira do PowerSploit em um de seus diretórios de módulos. Os caminhos padrão dos módulos do PowerShell estão listados na variável de ambiente $Env:PSModulePath.
O caminho padrão do módulo por usuário é: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules"
O caminho padrão do módulo em nível de computador é: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"
Para usar o módulo, digite Import-Module PowerSploit
Para ver os comandos importados, digite Get-Command -Module PowerSploit
Se você estiver usando o PowerShell v3 e quiser remover o irritante aviso 'Você realmente deseja executar scripts baixados da Internet', depois de colocar o PowerSploit em seu caminho de módulos, execute o seguinte one-liner:
$Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }
Para obter ajuda sobre cada comando individual, o Get-Help é seu amigo.
Nota: As ferramentas contidas neste módulo foram todas projetadas para que possam ser executadas individualmente. Incluí-las em um módulo simplesmente contribui para maior portabilidade.
Precisamos de contribuições! Se você tem uma ótima ideia para o PowerSploit, adoraríamos adicioná-la. Novas adições exigirão o seguinte: