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

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

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

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

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

Категории

Все категории
Loading categories
Panoptic — Panoptic — это инструмент для тестирования на проникновение с открытым исходным кодом, который автоматизирует процесс поиска и получения содержимого распространённых файлов журналов и конфигурационных файлов через уязвимости path traversal. | Kitploit
Инструменты/GitHubGitHub/lightos/panoptic
РазведкаСканеры уязвимостейЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHublightos/panoptic

Panoptic

Panoptic — это инструмент для тестирования на проникновение с открытым исходным кодом, который автоматизирует процесс поиска и получения содержимого распространённых файлов журналов и конфигурационных файлов через уязвимости path traversal.

Репозиторий
325743017 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Panoptic

Логотип Panoptic

License: MIT Python Versions Ruff mypy GitHub last commit CodeRabbit Pull Request Reviews

Panoptic — это инструмент для тестирования на проникновение с открытым исходным кодом, который автоматизирует поиск и извлечение распространённых лог- и конфигурационных файлов через уязвимости обхода путей (path traversal).

Демонстрация Panoptic

Возможности

  • Асинхронное параллельное сканирование с настраиваемым пулом воркеров (--concurrency)
  • Автоматическое обнаружение распространённых лог- и конфигурационных файлов через инъекции на основе параметров, путей, POST, cookie, заголовков и JSON тела
  • Маркер FUZZ для произвольных точек инъекции — разместите FUZZ в любом значении --header или --data
  • Кодирование Base64 для эндпоинтов, декодирующих пути к файлам (--base64)
  • Автоматическое определение ОС с возможностью ограничить дальнейшие сканирования
  • Эвристическое сравнение ответов, игнорирующее динамические токены (CSRF-токены, nonce, временные метки) и отражённые полезные нагрузки, с фильтрацией по коду статуса и строкам для снижения числа ложных срабатываний
  • Динамическая инъекция регистра — разбор /etc/passwd для файлов в домашнем каталоге, mysql-bin.index для binlog-файлов
  • Несколько форматов вывода: текст (rich), JSON, CSV (--output-format)
  • Поддержка возобновления/контрольных точек для длительных сканирований (--resume-file)
  • Конфигурационные файлы TOML для постоянных настроек (--config)
  • Несколько техник обхода traversal: префиксы, постфиксы, множитель, замена слэшей, двойное кодирование
  • Поддержка HTTP/HTTPS и SOCKS5 прокси с валидацией
  • Поддержка случайного или пользовательского User-Agent, cookie и заголовков
  • Сокрытие учётных данных в баннере, логах и машиночитаемом выводе (включая числовые и булевы значения в JSON-теле)
  • Защита конфиденциальных артефактов правами 0600 только для владельца на POSIX и защита от символических ссылок в конечном компоненте там, где это поддерживает ОС
  • Самообновление с проверкой удалённого URL (--update)

Требования

  • Python 3.11+ (uv может загрузить его за вас, см. ниже)
  • Git

Установка

Установите Panoptic с помощью pipx. Он помещает команду panoptic в ваш PATH и изолирует зависимости Panoptic от системного Python.

В Kali, Debian или Ubuntu:

sudo apt install pipx git
pipx ensurepath
pipx install git+https://github.com/lightos/Panoptic.git

В macOS, с помощью Homebrew:

brew install pipx git
pipx ensurepath
pipx install git+https://github.com/lightos/Panoptic.git

В Windows, при установленных Python и Git:

py -m pip install --user pipx
py -m pipx ensurepath
py -m pipx install git+https://github.com/lightos/Panoptic.git

Затем откройте новый терминал и проверьте, что всё работает:

panoptic --version

Обновление через pipx upgrade panoptic. Не запускайте pip install panoptic: это имя в PyPI принадлежит не связанному с проектом пакету.

С помощью uv

Если системный Python старше 3.11 (например, в Ubuntu 22.04), используйте вместо него uv. Он сам загрузит подходящую версию Python:

curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
uv tool install git+https://github.com/lightos/Panoptic.git

Затем откройте новый терминал и выполните panoptic --version. Обновление выполняется командой uv tool upgrade panoptic.

Из git-репозитория

Чтобы запустить Panoptic из клона, например для работы над ним, установите его в виртуальное окружение внутри клона. В Debian и Ubuntu для этого сначала нужно выполнить sudo apt install python3-venv.

git clone https://github.com/lightos/Panoptic.git
cd Panoptic
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/panoptic --version

Запустите его как .venv/bin/panoptic или выполните source .venv/bin/activate в каждом новом терминале, чтобы использовать panoptic и python panoptic.py напрямую. В Windows используйте вместо этого .venv\Scripts\python и .venv\Scripts\panoptic. Установка в режиме editable сохраняет связь Panoptic с рабочим каталогом, поэтому panoptic --update может обновлять его на месте.

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

panoptic --url "http://target/include.php?file=test.txt"

Примеры

Базовый LFI на основе параметров

panoptic --url "http://target/include.php?file=test.txt"
panoptic --url "http://target/include.php?file=test.txt&id=1" \
  --param file

Внедрение данных через POST

panoptic --url "http://target/include.php" \
  --data "file=test.txt&id=1" --param file

LFI на основе пути

Путь к файлу заменяет последний сегмент пути URL. Последовательности обхода, такие как ../, отправляются в точности как написаны. Panoptic не нормализует их, хотя целевой сервер может это делать.

panoptic --url "http://target/view.php/test.txt" --path-based
panoptic --url "http://target/files/view/test.txt" --path-based \
  --prefix "../" --multiplier 6

Параметр в кодировке Base64

panoptic --url "http://target/load.php?file=dGVzdC50eHQ=" \
  --base64 --auto

Внедрение cookie (маркер FUZZ)

panoptic --url "http://target/page.php" \
  --header "Cookie: lang=FUZZ" --auto

Инъекция в тело JSON (маркер FUZZ)

panoptic --url "http://target/api/load" \
  --data '{"file":"FUZZ"}' --auto

Внедрение пользовательского заголовка (маркер FUZZ)

panoptic --url "http://target/page.php" \
  --header "X-Template: FUZZ" --auto

Параметр расширения

panoptic --url "http://target/view.php?file=test&type=txt" \
  --param file --ext-param type

Обход фильтра с помощью префикса

panoptic --url "http://target/filtered.php?file=test.txt" \
  --prefix "....//....//....//....//"

Кодированная обходная последовательность (обход WAF / однократного декодирования)

Префиксы отправляются в точности в том виде, в каком они заданы, поэтому кодированные обходные последовательности достигают цели без изменений. Например, в ..%252f точки являются литеральными, а двойному кодированию подвергается только слэш: первое декодирование превращает %252f в %2f, поэтому фильтр, выполняющий декодирование один раз, не видит ../, а второе декодирование приложением превращает его в /:

panoptic --url "http://target/files/view/test.txt" --path-based \
  --prefix "..%252f" --multiplier 6

Однократно закодированный префикс, например %2e%2e%2f, после одного декодирования превращается в ../. Это помогает только против фильтров, которые проверяют необработанный, недекодированный запрос:

panoptic --url "http://target/include.php?file=test.txt" \
  --prefix "%2e%2e%2f" --multiplier 6

Отфильтрованные сканирования

Скачать инструмент