Ein bisschen Automatisierung rund um ein Android 7.1.2-Gerät auf Corellium, das es gewohnt ist, (die meisten) Packer auf dem Markt zu besiegen.
Diese Methode zielt auf art::DexFile::OpenMemory
-Methode für Android 7.1.12 ab und verwendet dabei ein Corellium-Gerät, um ein ständig aktives und immer bereites Gerät zum Entpacken bereitzustellen. Während diese aktuelle Demo nur ein Gerät nutzte, kann dies im Wesentlichen transparent auf das Frontend skaliert werden, da alle „Aufgaben“ von nsqd
erledigt werden.
Das backend
richtet einen VPN-Tunnel zum Corellium-Server ein, der bei einem Fehler automatisch neu startet und einen Reverse-Proxy für das Docker-Netzwerk öffnet. Dies wird dann vom unpacker-worker
genutzt, der damit transparent mit dem Gerät kommuniziert.
backend/vpn-profile.ovpn
durch das OpenVPN-Profil Ihres Corellium-Geräts.env
Datei wie folgt aus; 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
Dann verwenden Sie einfach docker-compose build
gefolgt von docker-compose up
.
Wenn Sie mit einer APK auf die Backend-API zugreifen, wird eine Binärdatei in die Warteschlange zum Entpacken gestellt. curl 0.0.0.0:3000/unpack/SHA1_OF_APK --data-binary @/path/to/apk
Überprüfen Sie nach ein oder zwei Minuten noch einmal den Asset-Status. curl 0.0.0.0:3000/unpack/SHA1_OF_APK/status
Wenn dann interessante Assets gefunden werden, laden Sie sie herunter. curl 0.0.0.0:3000/unpack/SHA1_OF_APK/SHA1_OF_ASSET
Diese Präsentation und dieser Code sind ausschließlich für Bildungs- und Forschungszwecke gedacht. Machen Sie damit, was Sie wollen, aber übernehmen Sie jegliche Verantwortung für Ihr Handeln. Die Tools wurden speziell zur Unterstützung bei der Umkehrung und Analyse von Malware entwickelt – seien Sie vorsichtig. Sie sind nicht für den externen öffentlichen Konsum geeignet, daher ist es wahrscheinlich keine kluge Idee, einen solchen Dienst dem öffentlichen Internet zugänglich zu machen, ohne lange darüber nachzudenken.
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.