Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2017-13253 — Codice PoC per CVE-2017-13253 | Kitploit
Strumenti/GitHubGitHub/tamirzb/cve-2017-13253
Sicurezza AndroidMemory ForensicsAnalisi delle VulnerabilitàExploitSviluppo PayloadBinary Exploitation
GitHubtamirzb/cve-2017-13253

CVE-2017-13253

Codice PoC per CVE-2017-13253

Vedi Repository
37115 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2017-13253

Codice PoC per CVE-2017-13253.

L'articolo completo è disponibile qui. Nota che i numeri sono leggermente diversi da quelli del post del blog, poiché ho scoperto che c'è una maggiore probabilità di crash con un heap di 0x2000 (ovviamente se lo esegui abbastanza volte dovrebbe comunque crashare).

Per domande/problemi/commenti sei libero di contattarmi su Twitter (@tamir_zb).

Compilazione

Per compilare questo progetto:

  1. Scarica il codice sorgente di Android.
  2. Metti questo repository in AOSP/external.
  3. Esegui i seguenti comandi:
root@kitploit:~
    cd AOSP
    source build/envsetup.sh
    make icrypto_overflow

Risultato

Eseguirlo contro una versione non patchata di Android (8.0-8.1 prima di marzo 2018) dovrebbe provocare un overflow. Questo potrebbe causare un crash, a seconda che i dati sovrascritti siano scrivibili o meno.

Il codice dovrebbe stampare l'output del metodo decrypt, che può variare:

  • Nel caso venga eseguito contro una versione patchata di Android (marzo 2018 o successiva), decrypt dovrebbe restituire BAD_VALUE (-22).
  • Nel caso non si verifichi alcun crash (i dati sovrascritti sono scrivibili), decrypt dovrebbe restituire la quantità di dati copiati.
  • Nel caso il vendor implementi la HAL come processo separato (es. Pixel 2), decrypt dovrebbe restituire UNKNOWN_ERROR (-32).
  • Nel caso il vendor implementi la HAL nello stesso processo (es. Nexus 5X), decrypt dovrebbe restituire 0.

Ecco un dump di crash parziale risultante dall'esecuzione di questo 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]
    ...

Come puoi vedere, l'indirizzo di fault è la memoria subito dopo la memoria condivisa. Poiché questa memoria è protetta in scrittura, l'overflow ha provocato un segmentation fault.

Scarica lo strumento