Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
proxify — Un proxy polyvalent et portable pour capturer, manipuler et rejouer le trafic HTTP/HTTPS en déplacement. | Kitploit
Outils/GitHubGitHub/projectdiscovery/proxify
Sniffing et Analyse de PaquetsProxies Web et InterceptionSécurité WebTests d'Intrusion
GitHubprojectdiscovery/proxify

proxify

Un proxy polyvalent et portable pour capturer, manipuler et rejouer le trafic HTTP/HTTPS en déplacement.

Voir le dépôt
3.1k268il y a 11 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

proxify

Fonctionnalités • Installation • Utilisation • Exécuter Proxify • Installation du certificat SSL • Applications de Proxify • Rejoindre Discord

Proxy couteau suisse pour des déploiements rapides. Prend en charge plusieurs opérations telles que l'enregistrement des requêtes/réponses, le filtrage et la manipulation via le langage DSL, ainsi que le proxy amont HTTP/Socks5. De plus, un utilitaire de rejeu permet d'importer le trafic enregistré (requêtes/réponses avec le nom de domaine correct) dans BurpSuite ou tout autre proxy en définissant simplement le proxy amont sur proxify.

Fonctionnalités

proxify

  • Intercepter / Manipuler le trafic HTTP/HTTPS et NON-HTTP
  • Prise en charge du proxy pour le trafic des clients invisibles & épais
  • Prise en charge de TLS MITM avec certificats client/serveur
  • Prise en charge HTTP et SOCKS5 pour le proxy amont
  • Prise en charge DSL pour Faire correspondre/Filtrer et Remplacer le trafic
  • Enregistrement complet du trafic dans un fichier (requêtes/réponses)
  • Serveur DNS intégré natif
  • Prise en charge de plugins pour décoder des protocoles spécifiques (par exemple XMPP/SMTP/FTP/SSH/)
  • Rejeu du trafic Proxify dans Burp

Installation

Téléchargez le binaire prêt à l'emploi ou installez/compilez-le avec GO

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

Utilisation

root@kitploit:~
proxify -h

Cela affichera l'aide de l'outil. Voici tous les commutateurs qu'il prend en charge.

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

Exécuter Proxify

Exécute un proxy HTTP sur le port 8888 :

root@kitploit:~
proxify

Exécute un proxy HTTP sur le port personnalisé 1111 :

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

Passe-sécurisé TLS

Le drapeau -pt peut être utilisé pour passer au travers (ignorer) le trafic chiffré sans tenter de terminer la connexion TLS.

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

Proxify avec proxy amont

Exécute un proxy HTTP sur le port 8888 et transmet le trafic à burp sur le port 8080 :

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

Exécute un proxy HTTP sur le port 8888 et transmet le trafic au réseau TOR :

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

Enregistrer tout le trafic HTTP/HTTPS

Proxify prend en charge trois formats de sortie : JSONL, YAML et Fichiers.

JSONL (par défaut) :

Au format Json Lines, chaque paire Requête/Réponse HTTP est stockée sous forme d'objet json sur une seule ligne.

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 :

Dans le format YAML MultiDoc, chaque paire requête et réponse HTTP est encapsulée dans un document séparé. Tous les documents du fichier yaml de sortie sont séparés par --- pour permettre l'analyse et la consommation de flux.

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"
...

Fichiers :

Au format Fichiers, chaque paire requête et réponse HTTP est stockée dans des fichiers séparés, la requête suivie de la réponse. Les noms de fichiers sont au format {{Host}}-{{randstr}}.txt. De plus, les drapeaux dump-req ou dump-resp peuvent être utilisés pour enregistrer une partie spécifique de la requête dans le fichier.

root@kitploit:~
proxify -store-response

Remarque : Lors de l'utilisation de -store-response, les deux formats jsonl et fichiers sont générés.

Mappage de noms d'hôte avec résolveur DNS local

Proxify prend en charge l'intégration d'un résolveur DNS pour mapper les noms d'hôte à des adresses spécifiques et définir un serveur DNS amont pour tout autre nom de domaine.

Exécute un proxy HTTP sur le port 8888 en utilisant un serveur DNS intégré écoutant sur le port 53 et résolvant www.google.it en 192.168.1.1 et tous les autres fqdn sont transmis en amont à 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"

Cette fonctionnalité est utilisée par exemple par l'utilitaire replay pour détourner les connexions et simuler les réponses. Elle peut être utile lors d'évaluations internes avec des serveurs DNS privés. L'utilisation de * comme nom de domaine correspond à toutes les requêtes DNS.

Correspondance/Filtrage du trafic avec DSL

Si la requête ou la réponse correspond aux filtres, l'enregistrement est marqué avec le suffixe .match.txt :

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

Correspondance et remplacement à la volée

Proxify prend en charge la modification des requêtes et des réponses à la volée avec le langage DSL.

Voici un exemple pour remplacer le mot firefox de la requête par chrome :

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

Un autre exemple utilisant le remplacement basé sur les expressions régulières de la réponse :

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

Rejouer tout le trafic dans burp

Rejoue toutes les requêtes/réponses enregistrées vers l'URL de destination (http://127.0.0.1:8080) si elle n'est pas spécifiée. Pour que cela fonctionne, il est nécessaire de configurer burp pour utiliser proxify comme proxy amont, car il se chargera de détourner les résolutions DNS et de simuler le serveur distant avec la requête enregistrée. Cela permet d'avoir dans l'historique de burp exactement toutes les requêtes/réponses comme si elles avaient été envoyées à l'origine via celui-ci, permettant par exemple d'effectuer une interception à distance sur le cloud et de fusionner tous les résultats localement dans burp.

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

Installation du certificat SSL

Une autorité de certification est générée pour proxify, stockée par défaut dans le dossier ~/.config/proxify/, elle peut être spécifiée manuellement par le drapeau -config. Le certificat généré peut être importé en visitant http://proxify/cacert dans un navigateur connecté à proxify.

Les étapes d'installation du certificat racine sont similaires à celles des autres outils proxy, ce qui inclut l'ajout du certificat au magasin de certificats racines de confiance du système.

Applications de Proxify

Proxify peut être utilisé à plusieurs endroits, voici quelques exemples courants où Proxify est utile :

👉 Stocker localement tous les journaux d'historique du proxy burp.

Exécute un proxy HTTP sur le port 8888 et transmet le trafic à burp sur le port 8080 :

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

Depuis BurpSuite, définissez le proxy amont pour transmettre tout le trafic à proxify :

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

Maintenant, tout l'historique des requêtes/réponses sera stocké dans le dossier logs qui pourra être utilisé ultérieurement pour le post-traitement.

👉 Stocker localement tout votre historique de navigation.

Pendant que vous naviguez sur l'application, vous pouvez pointer le navigateur vers proxify pour stocker toutes les requêtes/réponses HTTP dans un fichier.

Démarrez proxify sur le port par défaut ou tout port de votre choix :

root@kitploit:~
proxify -output chrome-logs

Démarrez le navigateur Chrome sous macOS :

root@kitploit:~
/Applications/Chromium.app/Contents/MacOS/Chromium --ignore-certificate-errors --proxy-server=http://127.0.0.1:8888 &
👉 Stocker toutes les réponses pendant que vous fuzzez selon votre configuration en cours d'exécution.

Démarrez proxify sur le port par défaut ou tout port de votre choix :

root@kitploit:~
proxify -output ffuf-logs

Exécutez FFuF avec le proxy pointant vers proxify :

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

Proxify est fait avec 🖤 par l'équipe projectdiscovery. Les contributions de la communauté ont fait du projet ce qu'il est. Consultez le fichier Thanks.md pour plus de détails.

Télécharger l’outil