
Escaneando arquivo APK em busca de URIs, endpoints e segredos.
Digitaliza arquivos APK em busca de URIs, endpoints e segredos.
É bastante simples instalar o APKLeaks:
$ pip3 install apkleaks
Clone o repositório e instale as dependências:
$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt
Baixe a imagem Docker executando:
$ docker pull dwisiswant0/apkleaks:latest
O APKLeaks utiliza o desmontador jadx para descompilar arquivos APK. Se o jadx não estiver presente no seu sistema, será solicitado que você o baixe.
Simplesmente,
$ apkleaks -f ~/caminho/para/arquivo.apk
# a partir do código fonte
$ python3 apkleaks.py -f ~/caminho/para/arquivo.apk
# ou com Docker
$ docker run -it --rm -v /tmp:/tmp dwisiswant0/apkleaks:latest -f /tmp/arquivo.apk
Aqui estão todas as opções suportadas.
Em geral, se você não fornecer o argumento -o, ele gerará um arquivo de resultados automaticamente.
[!DICA] Por padrão, ele também salvará os resultados em formato de texto, use o argumento
--jsonse desejar o formato de saída JSON.
Padrões personalizados podem ser adicionados com o seguinte argumento para fornecer regras de busca sensíveis no formato de arquivo JSON: --pattern /caminho/para/regras-personalizadas.json. Se nenhum arquivo for definido, a ferramenta usará os padrões padrão encontrados em regexes.json.
Aqui está um exemplo de como um arquivo de padrão personalizado poderia ser:
// custom-rules.json
{
"Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
// ...
}
Para executar a ferramenta usando essas regras personalizadas, use o seguinte comando:
$ apkleaks -f /caminho/para/arquivo.apk -p rules.json -o ~/Documentos/apkleaks-resultados.txt
Damos ao usuário total discrição para passar argumentos do desmontador. Por exemplo, se você deseja ativar threads no processo de descompilação do jadx, pode adicioná-lo com o argumento -a/--args, exemplo: --args="--threads-count 5".
$ apkleaks -f /caminho/para/arquivo.apk -a "--deobf --log-level DEBUG"
[!AVISO] Preste atenção aos argumentos padrão do desmontador que usamos para evitar colisões.
apkleaks é distribuído sob a licença Apache 2.
Já que esta ferramenta inclui algumas contribuições, e eu não sou um idiota, agradecerei publicamente aos seguintes usuários por suas ajudas e recursos:
apkurlgrep, foi por isso que esta ferramenta foi criada.truffleHogRegexes.LinkFinder.gf.dex2jar.SHA2048#4361 (usuário do Discord) que me ajudou a portar o código para Python 3.NotKeyHacks.| Argumento | Descrição | Exemplo |
|---|
| -f, --file | Arquivo APK a ser digitalizado | apkleaks -f file.apk |
| -o, --output | Escrever resultados em arquivo (aleatório se não definido) | apkleaks -f file.apk -o results.txt |
| -p, --pattern | Caminho para JSON de padrões personalizados | apkleaks -f file.apk -p custom-rules.json |
| -a, --args | Argumentos do desmontador | apkleaks -f file.apk --args="--deobf --log-level DEBUG" |
| --json | Salvar no formato JSON | apkleaks -f file.apk -o results.json --json |