- Shell 100%
| docs | ||
| lib | ||
| output | ||
| tools | ||
| wordlists | ||
| .gitignore | ||
| gitleaks-report.json | ||
| README.md | ||
| targets.example.env | ||
security-tools
Suite d'outils de tests d'intrusion (pentest) pour l'environnement
de préproduction Yavsc (pschneider.fr). Outils en Bash + curl,
modulaires (un outil par sous-dossier).
⚠️ Autorisation uniquement sur la preprod Yavsc, propriété de Paul Schneider. Aucun outil de ce dépôt ne doit être exécuté contre un tiers. Voir
docs/scope.md.
Périmètre
La preprod Yavsc est multi-hôtes :
| Hôte | Domaine | Rôle |
|---|---|---|
Yavsc.Org |
preprod-yavsc.pschneider.fr |
MVC + IdentityServer (auth) |
Yavsc.Api |
preprod-api.pschneider.fr |
API business (JSON) |
Yavsc.Blogs |
preprod-blogs.pschneider.fr |
Blogs + stockage perso |
Les outils restreignent leurs requêtes à ce périmètre via
assert_in_scope (lib/common.sh) ; toute dérive vers un autre hôte
est refusée.
Structure
security-tools/
├── README.md # ce fichier
├── targets.example.env # modèle de configuration (à copier)
├── targets.env # VOTRE config (ignoré par git, à créer)
├── .gitignore
├── lib/
│ └── common.sh # bibliothèque partagée (scope, http, logs)
├── docs/
│ └── scope.md # périmètre & autorisation
├── wordlists/ # vos wordlists (ignoré par git)
├── output/ # journaux & résultats (ignoré par git)
└── tools/
├── brute-login/ # bruteforce auth (password spray / énumération)
├── api-fuzzer/ # cartographie d'endpoints & verbes
├── config-scan/ # fichiers de config exposés
└── rate-limit-probe/ # mesure du rate-limiting / lockout
Préparation
cp targets.example.env targets.env- Renseignez dans
targets.env:TARGET_SCOPE_ACK="yes"(confirmation d'autorisation) ;TARGET_BASE_URLetTARGET_ALLOWED_HOSTS(pré-remplis pour la preprod Yavsc) ;- pour brute-login :
LOGIN_PATH,LOGIN_USERNAME,LOGIN_WORDLIST,LOGIN_CONTENT_TYPE; - placez votre wordlist dans
wordlists/passwords.txt.
chmod +x tools/*/*.sh
Outils
brute-login
Teste la robustesse de l'authentification par énumération de mots de
passe sur un utilisateur connu. Supporte JSON (API) et form-urlencoded
(OAuth2 /connect/token d'IdentityServer). Voir
tools/brute-login/README.md.
api-fuzzer
Cartographie les endpoints et verbes autorisés sur les trois hôtes.
Voir tools/api-fuzzer/README.md.
config-scan
Détecte les fichiers de configuration / surfaces sensibles exposés
(.git, .env, appsettings.json, swagger…). Voir
tools/config-scan/README.md.
rate-limit-probe
Mesure la présence et le seuil d'un rate-limiting / lockout sur
l'endpoint d'auth. Voir
tools/rate-limit-probe/README.md.
Précautions
- Pacing :
REQUEST_DELAY(défaut 0.2 s) espace les requêtes. Un bruteforce n'a pas besoin d'être un déni de service. - Secrets :
targets.env,wordlists/,output/ne sont jamais committés (.gitignore). - Verdict : ces outils révèlent des faiblesses réelles — corrigez ce qu'ils trouvent sur la preprod avant la mise en production.
Ajouter un outil
- Créez
tools/<nom>/avec un script.sh+ unREADME.md. - Sourcez
lib/common.shpuis appelezload_target. - Utilisez
http_probe(qui appelleassert_in_scope) pour toute requête — jamais decurldirect hors périmètre. - Conservez le nommage des scripts/chemins en anglais, la documentation en français.