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
Outils/GitHubGitHub/tamirzb/cve-2017-13253
Sécurité AndroidCriminalistique MémoireAnalyse des VulnérabilitésExploitationDéveloppement de Charges UtilesExploitation de Binaires
GitHubtamirzb/cve-2017-13253

CVE-2017-13253

Code PoC pour CVE-2017-13253

Voir le dépôt
37112il y a 5 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

CVE-2017-13253

Code PoC pour CVE-2017-13253.

L'article complet est disponible ici. Notez que les chiffres sont légèrement différents de l'article du blog, car j'ai constaté qu'il y a une plus grande probabilité de plantage avec un tas de 0x2000 (bien sûr, si vous l'exécutez assez de fois, il finira par planter de toute façon).

Pour toute question/problème/commentaire, n'hésitez pas à me contacter sur Twitter (@tamir_zb).

Construction

Pour construire ceci :

  1. Téléchargez le code source Android.
  2. Placez ce dépôt dans AOSP/external.
  3. Exécutez les commandes suivantes :
root@kitploit:~
    cd AOSP
    source build/envsetup.sh
    make icrypto_overflow

Résultat

Exécuter ceci sur une version non corrigée d'Android (8.0-8.1 avant mars 2018) devrait entraîner un débordement. Cela peut provoquer un plantage, selon que les données écrasées soient accessibles en écriture ou non.

Le code devrait afficher la sortie de la méthode decrypt, qui peut varier :

  • S'il est exécuté sur une version corrigée d'Android (mars 2018 ou ultérieure), alors decrypt devrait renvoyer BAD_VALUE (-22).
  • En l'absence de plantage (les données écrasées sont accessibles en écriture), alors decrypt devrait renvoyer la quantité de données copiées.
  • Si le fournisseur implémente le HAL comme un processus séparé (par exemple Pixel 2), alors decrypt devrait renvoyer UNKNOWN_ERROR (-32).
  • Si le fournisseur implémente le HAL dans le même processus (par exemple Nexus 5X), alors decrypt devrait renvoyer 0.

Voici un extrait du dump de plantage résultant de l'exécution de ce PoC :

root@kitploit:~
Build fingerprint: 'google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys'
Revision: 'MP1'
ABI: 'arm'
pid: 761, tid: 5232, name: HwBinder:761_1  >>> /vendor/bin/hw/[email protected] <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xee20f000
    r0 ee20f000  r1 ee20d021  r2 00001eff  r3 00000001
    r4 00000001  r5 00000000  r6 ed117008  r7 00000000
    r8 00000000  r9 fffff82a  sl ee20d000  fp ee20efff
    ip 08000000  sp ed2893c8  lr ed369e6b  pc edda7f0c  cpsr 20070010

backtrace:
    #00 pc 00018f0c  /system/lib/libc.so (__memcpy_base+244)
    #01 pc 00004e67  /vendor/lib/mediadrm/libdrmclearkeyplugin.so (clearkeydrm::CryptoPlugin::decrypt(bool, unsigned char const*, unsigned char const*, android::CryptoPlugin::Mode, android::CryptoPlugin::Pattern const&, void const*, android::CryptoPlugin::SubSample const*, unsigned int, void*, android::AString*)+82)
    ...

memory map (205 entries):
(fault address prefixed with --->)
    ...
    ee20d000-ee20efff rw-         0      2000  /dev/ashmem/MemoryHeapBase (deleted)
--->ee20f000-ee20ffff ---         0      1000  [anon:thread signal stack guard page]
    ...

Comme vous pouvez le voir, l'adresse de défaut est la mémoire juste après la mémoire partagée. Étant donné que cette mémoire est protégée en écriture, le débordement a entraîné une erreur de segmentation.

Télécharger l’outil