Proxify
Proxify is a Swiss Army Knife Proxy tool for HTTP/HTTPS traffic capture, manipulation, and replay. It supports intercepting, filtering, dumping, and replaying traffic into tools like Burp.
Description
Proxify is designed for rapid deployments in cybersecurity testing, providing a versatile proxy for handling HTTP/HTTPS and non-HTTP traffic. It enables users to intercept and manipulate traffic using a DSL language for filtering and match-replace operations, with support for upstream HTTP/SOCKS5 proxies. Key use cases include traffic analysis, modification during penetration tests, and replaying captured sessions into other proxies like Burp for further inspection.
The tool features invisible and thick client proxy support, TLS MITM with custom certificates, full traffic dumping to files, an embedded DNS server, and plugin support for decoding protocols such as XMPP, SMTP, FTP, and SSH. It also includes a replay utility to import dumped traffic with correct domain names into Burp or similar tools by configuring proxify as the upstream proxy.
Proxify is particularly useful in scenarios requiring precise control over proxied traffic, such as evading detection, testing proxy chains, or analyzing complex network interactions in a controlled environment.
How It Works
Proxify operates as a listening proxy on configurable HTTP (default 127.0.0.1:8888), SOCKS (default 127.0.0.1:10080), and optional DNS ports, intercepting traffic for dumping, filtering, or manipulation via DSL expressions for requests/responses. It supports TLS MITM using client/server certificates, upstream proxy chaining (HTTP/SOCKS5) with rotation after a set number of requests, and DNS mapping/resolution. Traffic is logged to an output directory, with options for Elasticsearch/Kafka export; replay-proxify reads dumped files and forwards via a local HTTP/DNS server to Burp. Plugins decode specific protocols, and allow/deny lists control proxied IPs.
Installation
sudo apt install proxifyFlags
Examples
proxify -hproxify -ha 127.0.0.1:8888 -o logsproxify -dump-req -dump-resp -o dumpsproxify -req-fd 'filter_expression' -http-addr 0.0.0.0:8080proxify -hp http://proxy-ip:proxy-port -sp socks5://proxy-ip:proxy-portproxify -dns-addr :5353 -dns-mapping example.com:1.2.3.4replay-proxify -hreplay-proxify -burp-addr http://127.0.0.1:8080 -output db/