DroïdePPPwn
Une interface Android qui utilise PPPwn_cpp_android
- Il comprend une interface graphique, un binaire PPPwn_cpp spécialement compilé pour arm-android et x86-android, ainsi que stage1.bin + stage2.bin pour tous les firmwares pris en charge (7h00-11h00).
- Pour les firmwares 9.00, 9.60, 10.xx, 11.00,
stage2.bin
est extrait du référentiel Sistr0, c'est-à-dire que vous pouvez charger la charge utile GoldHEN. - Pour les firmwares 7.0x, 7.5x, 8.0x, 8.5x, 9.03, 9.04,
stage2.bin
est extrait de EchoStretch ps4-hen-vtx-pppwn
, c'est-à-dire que vous pouvez charger la charge utile PS4HEN. - Vous pouvez utiliser votre propre
stage2.bin
en le plaçant dans votre dossier racine de stockage externe via adb push stage2.bin /sdcard/
Exigences
- Un appareil Android avec
root access
, version minimale Android KitKat 4.4 - Un câble ou un adaptateur USB OTG
- Un adaptateur Ethernet USB
- Un câble Ethernet
Alternativement, si votre appareil dispose d’un port Ethernet intégré, vous pouvez l’utiliser, comme dans le cas des boîtiers Android TV.
Usage
- Téléchargez la dernière version de ce référentiel et installez-la sur votre téléphone Android.
- Sur votre PS4 : suivez les instructions du PPPwn d'origine pour configurer la connexion Ethernet.
- Démarrez l'application DroidPPPwn et sélectionnez le firmware de votre PS4.
- Appuyez sur le bouton
Start
de l'application et simultanément sur X sur votre contrôleur lorsque vous êtes sur l'écran Test Internet Connection
. - Attendez que l'exploit atteigne le stade 4 et que le message soit imprimé sur votre moniteur
- Si l'exploit échoue, cliquez à nouveau sur le bouton
Start
pour l'arrêter et répétez la dernière étape.
Exemple exécuté ici : https://youtu.be/SQT7AgTtrDY
À propos de la construction et du packaging des binaires PPPwn
Quelques explications sur les binaires fournis dans ce package.
Afin d'obtenir l'autorisation d'exécution, j'ai dû tromper le système de packaging Android Studio en incluant un faux pppwn.jar
(qui est un zip, vous le trouverez dans le dossier du projet app/libs) pour extraire tous les binaires dans l'application privée par défaut. dossier /data/data/it.deviato.droidpppwn/lib/
. Juste après l'installation, vous y trouverez 4 fichiers extraits, ce sont de fausses bibliothèques nommées libXXX.so
, qui sont en réalité également des archives zip, chacune contenant un binaire pour une architecture différente (plus les différents fichiers stage1
et stage2
).
Une fois que vous ouvrez l'application pour la première fois, elle reconnaît votre architecture et extrait le binaire approprié. Les quatre fichiers et architectures associées sont :
- armeabi-v7a/libpppwnkk.so -> for 32bit armv7l, minimum sdk 19 (KitKat 4.4), libc shared build (cannot link static due to some ndk bugs)
- armeabi-v7a/libpppwn.so -> for 32bit armv7l/armv8l, minimum sdk 21 (Lollipop 5.0), static build
- arm64-v8a/libpppwn.so -> for 64bit armv8a+, minimum sdk 21, static build
- x86/libpppwn.so -> for 32bit x86 minimum sdk 21, static build
- x86_64/libpppwn.so -> for 64bit x86 minimum sdk 21, static build
Tous les binaires sont compilés via le Android NDK r25c officiel, le dernier prenant en charge Android 4.4.
Si vous n'aimez pas ces versions ou si elles ne fonctionnent pas bien pour vous, vous pouvez simplement remplacer le binaire pppwn
dans le dossier mentionné ci-dessus par votre favori.
Si vous souhaitez le créer vous-même , j'ai dupliqué le référentiel xfangfang original et modifié son CMakeLists.txt
pour pouvoir le compiler pour Android, à la fois avec NDK sur votre machine Linux ou avec l'application Termux directement sur votre appareil. Les instructions sont dans le fork lui-même ici PPPwn_cpp_android.
Bogues connus
- Tous les bugs précédents corrigés
Journal des modifications
1.4.1
- Recompilé tous les binaires vers la dernière version de pppwn_cpp 1.1.0.
- Ajout d'une option pour sélectionner le nouveau paramètre "old-ipv6" (-old) de pppwn_cpp (utilisé uniquement lorsque l'exploit échoue).
- Mise à jour de stage2.bin avec la nouvelle version GoldHEN pour tous les firmwares 10.xx.
1.4
- Ajout d'une option pour exécuter automatiquement l'exploit au démarrage en tant que service en arrière-plan. Vous pouvez également décider si l'appareil doit être éteint automatiquement une fois l'exploit réussi. REMARQUE : vous devrez peut-être accorder l'autorisation pour que l'application démarre automatiquement, en fonction de votre système/appareil Android (par exemple, pour Xiaomi, allez dans Paramètres->Applications->Autorisations->Démarrage automatique et cochez DroidPPPwn).
- Nettoyage du code et correction de quelques bugs mineurs
1.3.1
- Mise à jour de tous les fichiers stage2.bin pour la charge utile ps4-hen-vtx vers la dernière version d'EchoStretch (PPPwn-1.0310).
- La prise en charge de Hen a également été ajoutée pour les firmwares 7.0x.
1.3
- Ajout d'une nouvelle version binaire pppwn pour les architectures Android x86_64.
- Ajout du support à PS4HEN pour tous les firmwares restants. Désormais, seules les versions 7.0x restent sans prise en charge de la charge utile, mais uniquement avec le PoC de base.
- Ajout de deux options à l'interface graphique pour définir les paramètres facultatifs -nw (n'attendez pas un PADI de plus avant de démarrer) et -rs (utilisez le CPU pour un temps de sommeil plus précis) pour pppwn.
- Correction d'une mauvaise version pour x86 32 bits.
- Unification du programme d'installation avec un seul package apk pour les systèmes standard et 64 bits uniquement.
1.2.3
- Recompilation de tous les binaires en les mettant à jour vers la dernière version de pppwn_cpp, ce qui active certains PS4-slim qui ne fonctionnaient pas auparavant.
- Ajout de la prise en charge de la charge utile Linux pour le firmware 11.00, via une case à cocher qui vous permet de basculer entre la version standard GoldHen stage2 et la version LightningMods. J'ai préféré conserver le chargeur de charge utile standard et ne pas intégrer la charge utile ps4-linux dans stage2.bin, pour vous laisser le choix des versions 2 Go, 3 Go, 4 Go. Si vous souhaitez remplacer la charge utile par la vôtre, avec le chargeur ps4-linux codé en dur préféré, écrasez le fichier /data/data/it.deviato.droidpppwn/lib/linux.1100 par votre propre stage2.
1.2.2
- Mise à jour des fichiers stage2.bin vers la dernière version, vous avez maintenant également GoldHen pour 9.60.
- Pour les autres systèmes, voici désormais le fichier stage2.bin inclus pour chaque firmware :
- From 7.00 to 8.52 -> PoC by EchoStretch
- 9.00 -> GoldHen by Sistr0
- 9.03 / 9.04 -> LightningMods + ps4-hen-vtx payload by Sistr0 (NEEDS TESTING)
- 9.50 / 9.51 / 9.60 -> GoldHen by Sistr0 (maybe only 9.60 working?)
- 10.00 / 10.01 -> GoldHen by Sistr0
- 10.50 / 10.70 / 10.71 -> LightningMods + ps4-hen-vtx payload by Sistr0 (NEEDS TESTING)
- 11.00 -> GoldHen by Sistr0
- Comme d'habitude, vous pouvez toujours placer vos propres stage1.bin et stage2.bin dans le dossier racine de votre stockage interne ou externe (/storage/emulated/0 ou quel que soit le lien symbolique auquel /sdcard fait référence)
1.2.1
- Modification de la méthode de reconnaissance de l'architecture du périphérique, qui donnait des résultats erronés sur certains systèmes plus anciens.
- Ajout d'un binaire supplémentaire pour
armv7
32 bits, vous en avez maintenant un pour Android 4.4 construit avec une libc partagée, et un pour armv7l
/ armv8l
pour Android 5.0+, lié statiquement - Recompilé tous les autres binaires avec
real
statique (il y avait une erreur dans la version précédente) - Quelques améliorations mineures
1.2
- Ajout de la prise en charge d'Android x86 et correction des versions arm-v7a 32 bits et arm-v8a 64 bits (plus de bus_error)
- Recompilé tous les binaires en utilisant Android NDK au lieu de l'environnement Termux (résultat plus propre)
- Ajout de l'option pour rechercher et sélectionner l'interface réseau préférée
- Correction du problème des binaires non installés sur les appareils dotés d'anciennes versions d'Android
1.1
- Ajout du support pour arm-v7a 32 bits avec binaire séparé de pppwn
- Refactorisation de l'ensemble du projet en abaissant minSdk à la version 19, il peut donc désormais fonctionner sur Android KitKat 4.4+
- Remplacement de stage2.bin pour les firmwares pris en charge par ceux du dépôt Sistr0 pour permettre le chargement des charges utiles
- Ajout de la possibilité d'utiliser votre propre stage2.bin
- Autres petites corrections
1.0