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

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

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

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

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

Категории

Все категории
Loading categories
proxify — Универсальный и портативный прокси для захвата, манипулирования и повторного воспроизведения HTTP/HTTPS трафика на ходу. | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/proxify
Сниффинг и анализ пакетовВеб-прокси и перехватВеб-безопасностьТестирование на Проникновение
GitHubprojectdiscovery/proxify

proxify

Универсальный и портативный прокси для захвата, манипулирования и повторного воспроизведения HTTP/HTTPS трафика на ходу.

Репозиторий
3.1k26811 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

proxify

Возможности • Установка • Использование • Запуск Proxify • Установка SSL-сертификата • Применение Proxify • Присоединиться к Discord

Швейцарский нож прокси для быстрого развертывания. Поддерживает множество операций, таких как дамп запросов/ответов, фильтрация и манипуляция с помощью языка DSL, вышестоящий HTTP/Socks5 прокси. Кроме того, утилита replay позволяет импортировать записанный трафик (запросы/ответы с правильными доменными именами) в BurpSuite или любой другой прокси, просто настроив вышестоящий прокси на proxify.

Возможности

proxify

  • Перехват / Манипуляция трафиком HTTP/HTTPS и NON-HTTP
  • Поддержка прокси для невидимых и толстых клиентов
  • Поддержка TLS MITM с сертификатами клиента/сервера
  • Поддержка HTTP и SOCKS5 для вышестоящего прокси
  • Поддержка DSL для сопоставления/фильтрации и замены трафика
  • Полный дамп трафика в файл (запросы/ответы)
  • Встроенный DNS-сервер
  • Поддержка плагинов для декодирования конкретных протоколов (например, XMPP/SMTP/FTP/SSH/)
  • Воспроизведение трафика Proxify в Burp

Установка

Загрузите готовый к запуску бинарный файл или установите/соберите с помощью GO

root@kitploit:~
go install -v github.com/projectdiscovery/proxify/cmd/proxify@latest

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

root@kitploit:~
proxify -h

Это отобразит справку по инструменту. Вот все переключатели, которые он поддерживает.

root@kitploit:~
Swiss Army Knife Proxy for rapid deployments. Supports multiple operations such as request/response dump,filtering and manipulation via DSL language, upstream HTTP/Socks5 proxy

Usage:
  ./proxify [flags]

Flags:
OUTPUT:
   -sr, -store-response        store raw http request / response to output directory (default proxify_logs)
   -o, -output                 output file to store proxify logs (default proxify_logs.jsonl)
   -of, -output-format string  output format (jsonl/yaml) (default "jsonl")
   -dump-req                   Dump only HTTP requests to output file
   -dump-resp                  Dump only HTTP responses to output file
   -oca, -out-ca string        Generate and Save CA File to filename

UPDATE:
   -up, -update                 update proxify to latest version
   -duc, -disable-update-check  disable automatic proxify update check

FILTER:
   -req-fd, -request-dsl string[]                   Request Filter DSL
   -resp-fd, -response-dsl string[]                 Response Filter DSL
   -req-mrd, -request-match-replace-dsl string[]    Request Match-Replace DSL
   -resp-mrd, -response-match-replace-dsl string[]  Response Match-Replace DSL

NETWORK:
   -ha, -http-addr string    Listening HTTP IP and Port address (ip:port) (default "127.0.0.1:8888")
   -sa, -socks-addr          Listening SOCKS IP and Port address (ip:port) (default 127.0.0.1:10080)
   -da, -dns-addr string     Listening DNS IP and Port address (ip:port)
   -dm, -dns-mapping string  Domain to IP DNS mapping (eg domain:ip,domain:ip,..)
   -r, -resolver string      Custom DNS resolvers to use (ip:port)

PROXY:
   -hp, -http-proxy string[]    Upstream HTTP Proxies (eg http://proxy-ip:proxy-port)
   -sp, -socks5-proxy string[]  Upstream SOCKS5 Proxies (eg socks5://proxy-ip:proxy-port)
   -c int                       Number of requests before switching to the next upstream proxy (default 1)

EXPORT:
   -max-size int  Max export data size (request/responses will be truncated) (default 9223372036854775807)

CONFIGURATION:
   -config string              path to the proxify configuration file
   -ec, -export-config string  proxify export module configuration file (default "$CONFIG/export-config.yaml")
   -config-directory string    override the default config path (default "$CONFIG/proxify")
   -cert-cache-size int        Number of certificates to cache (default 256)
   -a, -allow string[]         Allowed list of IP/CIDR's to be proxied
   -d, -deny string[]          Denied list of IP/CIDR's to be proxied
   -pt, -passthrough string[]  List of passthrough domains

DEBUG:
   -nc, -no-color      No Color
   -version            Version
   -silent             Silent
   -v, -verbose        Verbose
   -vv, -very-verbose  Very Verbose

Запуск Proxify

Запускает HTTP-прокси на порту 8888:

root@kitploit:~
proxify

Запускает HTTP-прокси на пользовательском порту 1111:

root@kitploit:~
proxify -http-addr ":1111"

Пропуск TLS

Флаг -pt можно использовать для пропуска (обхода) зашифрованного трафика без попытки завершить TLS-соединение.

root@kitploit:~
proxify -pt '(.*\.)?google\.co.in.*'

Proxify с вышестоящим прокси

Запускает HTTP-прокси на порту 8888 и перенаправляет трафик в Burp на порт 8080:

root@kitploit:~
proxify -http-proxy http://127.0.0.1:8080

Запускает HTTP-прокси на порту 8888 и перенаправляет трафик в сеть TOR:

root@kitploit:~
proxify -socks5-proxy 127.0.0.1:9050

Дамп всего HTTP/HTTPS трафика

Proxify поддерживает три формата вывода: JSONL, YAML и Files.

JSONL (по умолчанию):

В формате Json Lines каждая пара HTTP-запрос/ответ хранится как JSON-объект в одной строке.

root@kitploit:~
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh:443","request":{"header":{"Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh:443","method":"CONNECT","path":"","scheme":"https"},"raw":"CONNECT scanme.sh:443 HTTP/1.1\r\nHost: scanme.sh:443\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Length":"0"},"raw":"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"}}
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh/","request":{"header":{"Accept":"*/*","Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh","method":"GET","path":"/","scheme":"https"},"raw":"GET / HTTP/1.1\r\nHost: scanme.sh\r\nAccept: */*\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Type":"text/plain; charset=utf-8","Date":"Mon, 19 Feb 2024 20:26:49 GMT"},"body":"ok","raw":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Type: text/plain; charset=utf-8\r\nDate: Mon, 19 Feb 2024 20:26:49 GMT\r\n\r\n"}}

Yaml MultiDoc:

В формате YAML MultiDoc каждая пара HTTP-запрос и ответ инкапсулируется как отдельный документ. Все документы в выходном yaml-файле разделяются с помощью --- для потокового анализа и потребления.

root@kitploit:~
proxify -output-format yaml
root@kitploit:~
timestamp: "2024-02-20T01:40:40+05:30"
url: https://scanme.sh:443
request:
    header:
        Connection: close
        User-Agent: curl/8.1.2
        host: scanme.sh:443
        method: CONNECT
        path: ""
        scheme: https
    body: ""
    raw: "CONNECT scanme.sh:443 HTTP/1.1\r\nHost: scanme.sh:443\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"
response:
    header:
        Content-Length: "0"
    body: ""
    raw: "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
---
timestamp: "2024-02-20T01:40:40+05:30"
...

Files:

В формате Files каждая пара HTTP-запрос и ответ сохраняется в отдельных файлах, причем запрос следует за ответом. Имена файлов имеют формат {{Host}}-{{randstr}}.txt. Кроме того, флаг dump-req или dump-resp можно использовать для сохранения конкретной части запроса в файл.

root@kitploit:~
proxify -store-response

Примечание: При использовании -store-response генерируются как jsonl, так и файлы.

Сопоставление имен хостов с локальным DNS-резольвером

Proxify поддерживает встроенный DNS-резольвер для сопоставления имен хостов с конкретными адресами и определения вышестоящего DNS-сервера для любого другого доменного имени.

Запускает HTTP-прокси на порту 8888, используя встроенный DNS-сервер, прослушивающий порт 53, и разрешающий www.google.it в 192.168.1.1, а все остальные fqdn перенаправляются вышестоящему DNS-серверу 1.1.1.1:

root@kitploit:~
proxify -dns-addr ":53" -dns-mapping "www.google.it:192.168.1.1" -dns-resolver "1.1.1.1:53"

Эта функция используется, например, утилитой replay для перехвата соединений и имитации ответов. Она может быть полезна при внутренних оценках с частными DNS-серверами. Использование * в качестве доменного имени соответствует всем DNS-запросам.

Сопоставление/фильтрация трафика с помощью DSL

Если запрос или ответ соответствуют фильтрам, дамп помечается суффиксом .match.txt:

root@kitploit:~
proxify -request-dsl "contains(request,'firefox')" -response-dsl "contains(response, md5('test'))"

Сопоставление и замена на лету

Proxify поддерживает изменение запросов и ответов на лету с помощью языка DSL.

Вот пример замены слова firefox в запросе на chrome:

root@kitploit:~
proxify -request-match-replace-dsl "replace(request,'firefox','chrome')"

Еще один пример с использованием regex-замены в ответе:

root@kitploit:~
proxify -response-match-replace-dsl "replace_regex(response, '^authentication failed$', 'authentication ok')"

Воспроизведение всего трафика в Burp

Воспроизводит все записанные запросы/ответы в целевой URL (http://127.0.0.1:8080), если не указано иное. Для работы необходимо настроить Burp на использование proxify в качестве вышестоящего прокси, так как proxify позаботится о перехвате DNS-разрешений и имитации удаленного сервера с помощью записанного запроса. Это позволяет получить в истории Burp все запросы/ответы точно так, как если бы они были изначально отправлены через него, что позволяет, например, выполнить удаленный перехват в облаке и объединить все результаты локально в Burp.

root@kitploit:~
replay -output "logs/"

Установка SSL-сертификата

Для proxify генерируется центр сертификации, который по умолчанию сохраняется в папке ~/.config/proxify/. Его можно указать вручную с помощью флага -config. Сгенерированный сертификат можно импортировать, перейдя по адресу http://proxify/cacert в браузере, подключенном к proxify.

Шаги по установке корневого сертификата аналогичны другим прокси-инструментам и включают добавление сертификата в доверенное корневое хранилище системы.

Применение Proxify

Proxify можно использовать во многих местах. Вот несколько распространенных примеров:

👉 Сохранение всей истории прокси Burp локально.

Запускает HTTP-прокси на порту 8888 и перенаправляет трафик в Burp на порт 8080:

root@kitploit:~
proxify -http-proxy http://127.0.0.1:8080

В BurpSuite настройте Upstream Proxy так, чтобы весь трафик перенаправлялся обратно в proxify:

root@kitploit:~
User Options > Upstream Proxy > Proxy & Port > 127.0.0.1 & 8888

Теперь вся история запросов/ответов будет сохранена в папке logs, которую можно использовать позже для постобработки.

👉 Сохранение всей истории просмотров браузера локально.

При просмотре приложения вы можете направить браузер на proxify, чтобы сохранить все HTTP-запросы/ответы в файл.

Запустите proxify на порту по умолчанию или на любом другом:

root@kitploit:~
proxify -output chrome-logs

Запустите Chrome браузер в macOS:

root@kitploit:~
/Applications/Chromium.app/Contents/MacOS/Chromium --ignore-certificate-errors --proxy-server=http://127.0.0.1:8888 &
👉 Сохранение всех ответов во время фаззинга в соответствии с вашей конфигурацией во время выполнения.

Запустите proxify на порту по умолчанию или на любом другом:

root@kitploit:~
proxify -output ffuf-logs

Запустите FFuF с прокси, указывающим на proxify:

root@kitploit:~
ffuf -x http://127.0.0.1:8888 FFUF_CMD_HERE

Proxify создан с 🖤 командой projectdiscovery. Вклад сообщества сделал проект таким, какой он есть. Смотрите файл Thanks.md для более подробной информации.

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