Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2017-13253 — Código PoC para CVE-2017-13253 | Kitploit
Ferramentas/GitHubGitHub/tamirzb/cve-2017-13253
Segurança AndroidForensia de MemóriaAnálise de VulnerabilidadesExploraçãoDesenvolvimento de PayloadsExploração de Binários
GitHubtamirzb/cve-2017-13253

CVE-2017-13253

Código PoC para CVE-2017-13253

Ver Repositório
37112há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2017-13253

Código de PoC para CVE-2017-13253.

O artigo completo está disponível aqui. Note que os números são um pouco diferentes dos do blogue, pois descobri que há uma probabilidade maior de ocorrer uma falha com uma heap de 0x2000 (claro que, se o executar vezes suficientes, deverá falhar na mesma).

Para perguntas/problemas/comentários, sinta-se à vontade para me contactar no Twitter (@tamir_zb).

Compilar

Para compilar isto:

  1. Descarregue o código-fonte do Android.
  2. Coloque este repositório em AOSP/external.
  3. Execute os seguintes comandos:
root@kitploit:~
    cd AOSP
    source build/envsetup.sh
    make icrypto_overflow

Resultado

Executar isto contra uma versão não corrigida do Android (8.0-8.1 anterior a março de 2018) deverá resultar num overflow. Isto poderá resultar numa falha, dependendo de os dados sobrescritos serem graváveis ou não.

O código deverá imprimir a saída do método decrypt, que pode variar:

  • Caso esteja a ser executado contra uma versão corrigida do Android (março de 2018 ou posterior), decrypt deverá devolver BAD_VALUE (-22).
  • Caso não ocorra nenhuma falha (os dados sobrescritos são graváveis), decrypt deverá devolver a quantidade de dados que copiou.
  • Caso o fabricante implemente a HAL como um processo separado (por exemplo, Pixel 2), decrypt deverá devolver UNKNOWN_ERROR (-32).
  • Caso o fabricante implemente a HAL no mesmo processo (por exemplo, Nexus 5X), decrypt deverá devolver 0.

Aqui está um dump de falha parcial resultante da execução deste 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]
    ...

Como pode ver, o endereço da falha é a memória logo a seguir à memória partilhada. Uma vez que esta memória está protegida contra escrita, o overflow resultou numa falha de segmentação.

Baixar ferramenta