Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WhoamiAlternatives — whoamiを使わずに現在のユーザー名を取得するさまざまな方法 | Kitploit
ツール/GitHubGitHub/ricardojoserf/whoamialternatives
偵察情報収集ポストエクスプロイトマルウェア分析レッドチーミング
GitHubricardojoserf/whoamialternatives

WhoamiAlternatives

whoamiを使わずに現在のユーザー名を取得するさまざまな方法

リポジトリを見る
188192年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Alternatives to whoami (whoami の代替手段)

whoami.exe やそれに類するバイナリを呼び出さずに現在のユーザー名を取得するための実験です。


方法 1: PRTL_USER_PROCESS_PARAMETERS

PEB 構造体から環境変数を取得し、その中からユーザー名を解析します。

  • NtQueryInformationProcess 関数は、PEB ベースアドレスへのポインタを含む "PROCESS_BASIC_INFORMATION" 構造体を返します。

  • PEB 構造体には、RTL_USER_PROCESS_PARAMETERS 構造体へのポインタ "ProcessParameters" が含まれています。

  • その構造体から、環境変数へのポインタ "Environment" と、環境変数のサイズへのポインタ "EnvironmentSize" を取得できます。

  • "EnvironmentSize" で指定されたバイト数を、"Environment" アドレスから UNICODE テキストとして読み取り、環境変数を解析して "USERNAME" という名前のものを出力します。すべての環境変数を取得したい場合は、このリポジトリ を参照してください。

esquema

img


方法 2: LookupAccountSid

トークンにアクセスし、ユーザーの SID を文字列形式で取得した後、LookupAccountSid 関数を使用してユーザー名に変換します。

  • NtOpenProcessToken 関数は、現在のプロセスに関連付けられたアクセストークンを作成します。

  • NtQueryInformationToken 関数は、作成したトークンから情報を取得します。"TOKEN_INFORMATION_CLASS" フィールドに値 "tokenUser" (1) を使用すると、ユーザー名に関する情報が取得され、ポインタ "TokenInformation" に格納されます。

  • ConvertSidToStringSid 関数は、ユーザー名の SID をバイナリ形式から文字列形式に変換します。

  • LookupAccountSid 関数は、文字列形式の SID を受け取り、ユーザー名を返します。

esquema

img


方法 3: LsaLookupSids

トークンと Policy オブジェクトにアクセスし、LsaLookupSids 関数を使用してユーザー名を取得します。

  • NtOpenProcessToken 関数と NtQueryInformationToken 関数は方法 2 と同様に使用され、ユーザーの SID をバイナリ形式で含むポインタ "TokenInformation" を返します。

  • LsaOpenPolicy 関数は、現在のシステムの Policy オブジェクトへのハンドルを作成します。

  • LsaLookupSids 関数は、SID へのポインタを受け取り、ユーザー名を含む LSA_TRANSLATED_NAME 構造体を返します。

esquema

img


方法 4: NamedPipe

名前付きパイプとセカンダリスレッドを作成し、名前付きパイプに書き込みと読み取りを行い、未文書化関数 NpGetUsername からユーザー名を取得します。

esquema

img


方法 5: ADSystemInfo

CoCreateInstance 関数を使用して、MSDN の例 と同様に、コンピューターがドメインに参加している場合にユーザー名を取得します。ActiveDS.dll の ADSystemInfoClass クラス、および ADSystemInfo インターフェイスと IADsADSystemInfo インターフェイスを使用します。これらはプロジェクトフォルダに既に含まれているため、DLL は必要ありません。

AD との接続がない場合:

img

接続がある場合:

img


出典

vx-underground の Twitter アカウント

ツールをダウンロード