
CVE-2017-13156-Janus Reprodução
Um atacante que explore a vulnerabilidade Janus (CVE-2017-13156) pode contornar o mecanismo de assinatura signature scheme V1 do Android e modificar arbitrariamente o código do aplicativo sem afetar sua assinatura. O mecanismo de assinatura do Android é usado para proteger aplicativos contra adulteração. Normalmente, quando um aplicativo é modificado, ele precisa ser assinado novamente; caso contrário, não pode ser instalado no dispositivo. Durante a instalação, o sistema verifica a assinatura do APK; se a assinatura não existir ou a verificação falhar, o sistema se recusa a instalar. Como o atacante não possui a chave privada do desenvolvedor, ele usa outra chave privada para assinar novamente o aplicativo, resultando em inconsistência de assinaturas. A verificação de assinatura pode, até certo ponto, detectar se o aplicativo foi adulterado. No entanto, a vulnerabilidade Janus permite que o atacante adultere o aplicativo sem afetar a assinatura, fazendo com que aplicativos modificados possam substituir o aplicativo oficial, causando um certo grau de dano.
Todos os direitos autorais pertencem ao autor. Para reimpressão comercial, entre em contato com o autor para obter autorização. Para reimpressão não comercial, indique a fonte.
Escopo afetado: Android 5.0-8.0
|____a.dex 修改的dex
|____target.apk 修改后的apk
|____app
|____janus.py 修改脚本
|____Janus.jar 修改的jar
|____cla.dex 修改的dex
|____README.md
|____a.apk
|____f.apk
|____app-release.apk 原apk
jar:
java -jar Janus.jar Janus [dex_file] [apk_file] [output_file]
java -jar Janus.jar Janus a.dex app-release.apk a.apk
python:
python janus.py [dex_file] [apk_file] [output_file]
> python janus.py a.dex app-release.apk a.apk
Etapas tentadas:
Tentativa no Xiaomi 6.0.1: sem sucesso; instalado com sucesso, mas o código não foi executado
Tentativa no Nexus 6.0.1: sem sucesso; instalado com sucesso, mas o código não foi executado
Tentativa no Sony 4.4.3: sem sucesso; não instalado
Suposição: o aparelho foi corrigido
Reprodução de outras pessoas
PoC em Python
PoC em Java
Análise do princípio e da exploração da vulnerabilidade de assinatura Janus (CVE-2017-13156)
Antiy Mobile Security: Análise aprofundada da vulnerabilidade de alto risco Janus
Análise da vulnerabilidade Janus