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
Cooper-ndss-2022 — Un outil pour tester efficacement la couche de liaison des langages de script | Kitploit
Outils/GitHubGitHub/tca-iscas/cooper-ndss-2022
Analyse des VulnérabilitésAnalyse Dynamique de Code (DAST)FuzzingAnalyse de BinairesArticles et Recherche
GitHubtca-iscas/cooper-ndss-2022

Cooper-ndss-2022

Un outil pour tester efficacement la couche de liaison des langages de script

Voir le dépôt
8112il y a 4 ansVé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

Cooper : Tester le code de liaison des langages de script avec mutation coopérative

Cooper utilise la mutation coopérative pour tester le code de liaison des langages de script afin de détecter des problèmes de sécurité mémoire. La mutation coopérative modifie simultanément le code du script et les objets de document associés pour explorer divers chemins d'exécution du code de liaison. Pour prendre en charge la mutation coopérative, nous déduisons la relation entre le code du script et les objets de document afin de guider la mutation bidimensionnelle. Nous avons appliqué notre outil Cooper à trois logiciels commerciaux populaires : Adobe Acrobat, Foxit Reader et Microsoft Word. Cooper a détecté 134 bogues jusqu'alors inconnus, ce qui a donné lieu à 33 entrées CVE et à 22K de primes de bogues. Cooper comprend trois composants :

  • Clustering d'objets : Au début, Cooper analyse les documents exemples donnés pour extraire les objets natifs. Pour réduire l'espace de recherche des objets, Cooper classe les objets en différentes catégories en fonction de leurs attributs.
  • Inférence de relations : Ensuite, Cooper déduit la relation entre les classes d'objets et les groupes d'API. Plus précisément, il produit un grand nombre de documents en combinant différentes classes d'objets et groupes d'API, et enregistre les résultats d'exécution des scripts intégrés. Sur la base du taux de réussite de l'exécution du script et de la distribution des classes d'objets, Cooper déduit la relation entre les groupes d'API et les classes d'objets.
  • Mutation guidée par la relation : Enfin, Cooper exploite la relation déduite pour guider la sélection des objets, la génération de scripts et la mutation des objets. Nous concevons également plusieurs stratégies de mutation coopérative.

La vue d'ensemble de Cooper est illustrée par le diagramme ci-dessous.

La vue d'ensemble de Cooper

Pour plus de détails, consultez notre article publié lors du 29e Symposium annuel sur la sécurité des systèmes de réseau et distribués (NDSS 2022).

Installation et exécution

Plateforme

  • Windows10 64bit
  • Python2

Prérequis

  • PyWin32, pip install pywin32
  • Adobe Acrobat Reader (32 bits, version anglaise), à installer dans le répertoire par défaut.
  • Microsoft Word (32 bits, version anglaise), à installer dans le répertoire par défaut.

Collecte d'échantillons PDF/Word

Vous devez préparer quelques échantillons PDF (Word) et les placer dans un dossier qui sera utilisé comme sample_dir. Le nombre d'échantillons PDF (Word) doit être compris entre 10 000 et 20 000. Nous avons préparé 200 échantillons PDF dans DropBox, et 214 échantillons Word dans DropBox. Vous pouvez tester avec ces petits échantillons, mais pour de meilleurs résultats, utilisez davantage d'échantillons.

Utilisation

root@kitploit:~
$ python PdfSolution.py/WordSolution.py <sample_dir> <data_dir> <output_dir> <generate_cnt>
  
  <sample_dir>:   the absolute path of raw pdf samples folder
  <data_dir>:     the absolute path for mid data folder
  <output_dir>:   the absolute path for folder storing generated samples
  <generate_cnt>: the amount how many input Cooper will generate

Auteurs

  • Peng Xu [email protected]

  • Yanhao Wang [email protected]

  • Hong Hu [email protected]

  • Purui Su [email protected]

Publications

root@kitploit:~
Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation

@inproceedings{xu:cooper,
  title        = {{Cooper: Testing the Binding Code of Scripting Languages with Cooperative Mutation (To Appear)}},
  author       = {Peng Xu and Yanhao Wang and Hong Hu and Purui Su},
  booktitle    = {Proceedings of the 29th Annual Network and Distributed System Security Symposium (NDSS 2022)},
  month        = {apr},
  year         = {2022},
  address      = {San Diego, CA},
}
Télécharger l’outil