Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
proxify — Un proxy versatile e portatile per catturare, manipolare e riprodurre il traffico HTTP/HTTPS in movimento. | Kitploit
Strumenti/GitHubGitHub/projectdiscovery/proxify
Sniffing e Analisi dei PacchettiProxy Web e IntercettazioneSicurezza WebPenetration Testing
GitHubprojectdiscovery/proxify

proxify

Un proxy versatile e portatile per catturare, manipolare e riprodurre il traffico HTTP/HTTPS in movimento.

Vedi Repository
3.1k26811 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

proxify

Caratteristiche • Installazione • Utilizzo • Esecuzione di Proxify • Installazione del certificato SSL • Applicazioni di Proxify • Unisciti a Discord

Swiss Army Knife Proxy per distribuzioni rapide. Supporta molteplici operazioni come dump di richieste/risposte, filtraggio e manipolazione tramite linguaggio DSL, proxy upstream HTTP/Socks5. Inoltre, un'utilità di replay permette di importare il traffico dumpato (richieste/risposte con il nome di dominio corretto) in BurpSuite o in qualsiasi altro proxy semplicemente impostando il proxy upstream su proxify.

Caratteristiche

proxify

  • Intercettare / Manipolare il traffico HTTP/HTTPS & NON-HTTP
  • Supporto proxy per traffico di client Invisibili e Thick
  • Supporto TLS MITM con certificati client/server
  • Supporto HTTP e SOCKS5 per proxy upstream
  • Supporto DSL per Match/Filter e Replace del traffico
  • Dump completo del traffico su file (richieste/risposte)
  • Server DNS nativo integrato
  • Supporto plugin per decodificare protocolli specifici (ad es. XMPP/SMTP/FTP/SSH/)
  • Replay del traffico Proxify in Burp

Installazione

Scarica il binario pronto per l'esecuzione o installa/compila usando GO

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

Utilizzo

root@kitploit:~
proxify -h

Questo visualizzerà l'aiuto per lo strumento. Ecco tutti i flag supportati.

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

Esecuzione di Proxify

Esegue un proxy HTTP sulla porta 8888:

root@kitploit:~
proxify

Esegue un proxy HTTP sulla porta personalizzata 1111:

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

TLS pass through

Il flag -pt può essere utilizzato per passare attraverso (saltare) il traffico crittografato senza tentare di terminare la connessione TLS.

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

Proxify con proxy upstream

Esegue un proxy HTTP sulla porta 8888 e inoltra il traffico a burp sulla porta 8080:

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

Esegue un proxy HTTP sulla porta 8888 e inoltra il traffico alla rete TOR:

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

Dump di tutto il traffico HTTP/HTTPS

Proxify supporta tre formati di output: JSONL, YAML e Files.

JSONL (default):

Nel formato Json Lines, ogni coppia di Richiesta/Risposta HTTP è memorizzata come oggetto json in una singola riga.

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:

Nel formato YAML MultiDoc, ogni coppia di richiesta e risposta HTTP è incapsulata come documento separato. Tutti i documenti nel file yaml di output sono separati da --- per consentire l'analisi e il consumo in streaming.

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:

Nel formato Files, ogni coppia di richiesta e risposta HTTP è memorizzata in file separati con la richiesta seguita dalla risposta. I nomi dei file sono nel formato {{Host}}-{{randstr}}.txt. Inoltre, il flag dump-req o dump-resp può essere utilizzato per salvare una parte specifica della richiesta nel file.

root@kitploit:~
proxify -store-response

Nota: Quando si utilizza -store-response vengono generati sia jsonl che files.

Mappatura hostname con resolver DNS locale

Proxify supporta l'incorporamento del resolver DNS per mappare gli hostname a indirizzi specifici e definire un server DNS upstream per qualsiasi altro nome di dominio.

Esegue un proxy HTTP sulla porta 8888 utilizzando un server DNS integrato in ascolto sulla porta 53 e risolvendo www.google.it in 192.168.1.1 e tutti gli altri fqdn vengono inoltrati upstream a 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"

Questa funzione è utilizzata ad esempio dall'utilità replay per dirottare le connessioni e simulare risposte. Può essere utile durante valutazioni interne con server DNS privati. Usare * come nome di dominio corrisponde a tutte le richieste DNS.

Filtraggio/Corrispondenza del traffico con DSL

Se la richiesta o la risposta corrispondono ai filtri, il dump viene contrassegnato con il suffisso .match.txt:

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

Corrispondenza e sostituzione al volo

Proxify supporta la modifica di Richieste e Risposte al volo con il linguaggio DSL.

Ecco un esempio per sostituire la parola firefox dalla richiesta a chrome:

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

Un altro esempio utilizzando la sostituzione basata su regex della risposta:

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

Replay di tutto il traffico in burp

Riproduce tutte le richieste/risposte dumpate nell'URL di destinazione (http://127.0.0.1:8080) se non specificato. Per far funzionare questo, è necessario configurare burp per utilizzare proxify come proxy upstream, poiché si occuperà di dirottare le risoluzioni DNS e simulare il server remoto con la richiesta dumpata. Ciò permette di avere nella cronologia di burp esattamente tutte le richieste/risposte come se fossero state originariamente inviate attraverso di esso, consentendo ad esempio di effettuare un'intercettazione remota sul cloud e unire tutti i risultati localmente all'interno di burp.

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

Installazione del certificato SSL

Viene generata un'autorità di certificazione per proxify che viene memorizzata nella cartella ~/.config/proxify/ per impostazione predefinita, può essere specificata manualmente con il flag -config. Il certificato generato può essere importato visitando http://proxify/cacert in un browser collegato a proxify.

I passaggi di installazione per il Certificato Radice sono simili ad altri strumenti proxy e includono l'aggiunta del certificato al magazzino radice attendibile di sistema.

Applicazioni di Proxify

Proxify può essere utilizzato in molti contesti, ecco alcuni esempi comuni in cui Proxify torna utile:

👉 Memorizzare localmente tutti i log della cronologia del proxy burp.

Esegue un proxy HTTP sulla porta 8888 e inoltra il traffico a burp sulla porta 8080:

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

Da BurpSuite, imposta il Proxy Upstream per inoltrare tutto il traffico di nuovo a proxify:

root@kitploit:~
Opzioni utente > Proxy upstream > Proxy e porta > 127.0.0.1 & 8888

Ora tutta la cronologia delle richieste/risposte verrà memorizzata nella cartella logs che può essere utilizzata in seguito per il post-processing.

👉 Memorizzare localmente tutta la cronologia di navigazione.

Durante la navigazione nell'applicazione, puoi puntare il browser a proxify per memorizzare su file tutte le richieste/risposte HTTP.

Avvia proxify sulla porta predefinita o su qualsiasi porta desideri,

root@kitploit:~
proxify -output chrome-logs

Avvia il browser Chrome su macOS,

root@kitploit:~
/Applications/Chromium.app/Contents/MacOS/Chromium --ignore-certificate-errors --proxy-server=http://127.0.0.1:8888 &
👉 Memorizzare tutte le risposte durante il fuzzing secondo la configurazione in esecuzione.

Avvia proxify sulla porta predefinita o su qualsiasi porta desideri:

root@kitploit:~
proxify -output ffuf-logs

Esegui FFuF con proxy puntato a proxify:

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

Proxify è realizzato con 🖤 dal team projectdiscovery. I contributi della community hanno reso il progetto quello che è. Consulta il file Thanks.md per maggiori dettagli.

Scarica lo strumento