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/ricardojoserf/whoamialternatives
ReconhecimentoColeta de InformaçõesPós-ExploraçãoAnálise de MalwareRed Teaming
GitHubricardojoserf/whoamialternatives

WhoamiAlternatives

Diferentes métodos para obter o nome de usuário atual sem usar whoami

Ver Repositório
188194há 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

Alternativas ao whoami

Algumas experiências para obter o nome de usuário atual sem chamar whoami.exe ou binários similares.


Método 1: PRTL_USER_PROCESS_PARAMETERS

Obter as variáveis de ambiente da estrutura PEB e analisá-las para encontrar o nome de usuário.

  • A função NtQueryInformationProcess retorna uma estrutura "PROCESS_BASIC_INFORMATION" contendo um ponteiro para o endereço base do PEB.

  • A estrutura PEB contém um ponteiro "ProcessParameters" para uma estrutura RTL_USER_PROCESS_PARAMETERS.

  • A partir dessa estrutura, você pode obter um ponteiro "Environment" para as variáveis de ambiente e um ponteiro "EnvironmentSize" para o tamanho das variáveis de ambiente.

  • Lendo o número de bytes indicado em "EnvironmentSize" do endereço "Environment" como texto UNICODE, analise as variáveis de ambiente e imprima a chamada "USERNAME". Se você quiser todas as variáveis de ambiente, veja este repositório

esquema

img


Método 2: LookupAccountSid

Obter acesso a um token, encontrar o SID do usuário em formato de string e traduzi-lo usando a função LookupAccountSid.

  • A função NtOpenProcessToken cria um token de acesso associado ao processo atual.

  • A função NtQueryInformationToken obtém informações do token que criamos, usando o valor "tokenUser" (1) no campo "TOKEN_INFORMATION_CLASS" obtemos informações sobre o nome de usuário que estão armazenadas no ponteiro "TokenInformation".

  • A função ConvertSidToStringSid converte o SID do nome de usuário em formato binário para formato de string.

  • A função LookupAccountSid recebe o SID em formato de string e retorna o nome de usuário.

esquema

img


Método 3: LsaLookupSids

Obter acesso a um token e a um objeto Policy e obter o nome de usuário com a função LsaLookupSids.

  • As funções NtOpenProcessToken e NtQueryInformationToken são usadas como no método 2, retornam um ponteiro "TokenInformation" com o SID do usuário em formato binário.

  • A função LsaOpenPolicy cria um identificador para o objeto Policy no sistema atual.

  • A função LsaLookupSids recebe um ponteiro para o SID e retorna uma estrutura LSA_TRANSLATED_NAME contendo o nome de usuário.

esquema

img


Método 4: NamedPipe

Criar um named pipe e uma thread secundária, escrever e ler do named pipe e obter o nome de usuário da função não documentada NpGetUsername.

esquema

img


Método 5: ADSystemInfo

Obter o nome de usuário se o computador estiver associado a um domínio usando a função CoCreateInstance como no exemplo MSDN. Utiliza a classe ADSystemInfoClass e as interfaces ADSystemInfo e IADsADSystemInfo da ActiveDS.dll, que já estão na pasta do projeto, portanto você não precisa da DLL.

Se não houver conexão com o AD:

img

Se houver conexão:

img


Fonte

Conta do Twitter do vx-underground

Baixar ferramenta