Um pouco de automação em torno de um dispositivo Android 7.1.2 no Corellium, usado para derrotar (a maioria) dos empacotadores do mercado.
Este método tem como alvo art::DexFile::OpenMemory
para Android 7.1.12 enquanto utiliza um dispositivo Corellium para fornecer um dispositivo sempre ligado e pronto para descompactar. Embora esta demonstração atual utilize apenas um dispositivo, isso pode essencialmente ser ampliado de forma transparente para o front-end, já que todas as "tarefas" são realizadas por nsqd
.
O backend
configura um túnel VPN para o servidor Corellium, que reinicia automaticamente em caso de falha e abre um proxy reverso para a rede docker. Isso é então utilizado pelo unpacker-worker
, que o utiliza para se comunicar de forma transparente com o dispositivo.
backend/vpn-profile.ovpn
pelo perfil OpenVPN do seu dispositivo Corellium.env
assim; INSTANCE_ID=7cc6ca2a-6622-479b-aa4b-8394aa9d9475-instance-for-unpacker
CORELLIUM_URL=testinstance.corellium.com
CORELLIUM_USERNAME=unpackeruser
CORELLIUM_PASSWORD=unpackerpassword
GIN_MODE=debug
SERVE_PORT=3000
ADB_PROXY=5555
Em seguida, basta usar docker-compose build
seguido de docker-compose up
.
Acessar a API de back-end com um apk resultará na fila de um binário para ser descompactado; curl 0.0.0.0:3000/unpack/SHA1_OF_APK --data-binary @/path/to/apk
Depois de um ou dois minutos, verifique novamente o status do ativo; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/status
Então, quando os ativos de interesse forem encontrados, baixe-os; curl 0.0.0.0:3000/unpack/SHA1_OF_APK/SHA1_OF_ASSET
Esta apresentação e código destinam-se apenas para fins educacionais e de pesquisa. Faça o que quiser com isso, mas aceite toda e qualquer responsabilidade por suas ações. As ferramentas foram criadas especificamente para auxiliar na reversão e análise de malware – tenha cuidado. Eles não foram protegidos para consumo público externo, provavelmente não é uma ideia inteligente expor um serviço como este à Internet pública sem pensar muito sobre isso.
Copyright 2020 Tim 'diff' Strazzere <[email protected]>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.