DroidPPPwn
Uma interface Android que usa PPPwn_cpp_android
- Inclui uma GUI, binário PPPwn_cpp compilado especificamente para arm-android e x86-android, além de stage1.bin + stage2.bin para todos os firmwares suportados (7.00-11.00).
- Para firmwares 9.00, 9.60, 10.xx, 11.00
stage2.bin
é retirado do repositório Sistr0, ou seja, você pode carregar a carga útil do GoldHEN. - Para firmwares 7.0x, 7.5x, 8.0x, 8.5x, 9.03, 9.04
stage2.bin
é retirado do EchoStretch ps4-hen-vtx-pppwn
, ou seja, você pode carregar a carga útil do PS4HEN. - Você pode usar seu próprio
stage2.bin
colocando-o em sua pasta raiz de armazenamento externo através de adb push stage2.bin /sdcard/
Requisitos
- Um dispositivo Android com
root access
, versão mínima Android KitKat 4.4 - Um cabo ou adaptador USB OTG
- Um adaptador Ethernet USB
- Um cabo Ethernet
Alternativamente, se o seu dispositivo tiver uma porta Ethernet incorporada, você pode usá-la, como no caso das caixas Android TV.
Uso
- Baixe a versão mais recente deste repositório e instale em seu telefone Android.
- No seu PS4: siga as instruções do PPPwn original para configurar a conexão Ethernet.
- Inicie o aplicativo DroidPPPwn e selecione o firmware do PS4.
- Pressione o botão
Start
no aplicativo e simultaneamente X no seu controlador quando estiver na tela Test Internet Connection
. - Espere até que o exploit chegue ao estágio 4 e a mensagem seja impressa no seu monitor
- Se a exploração falhar, clique no botão
Start
novamente para interrompê-la e repita novamente a última etapa
Exemplo executado aqui: https://youtu.be/SQT7AgTtrDY
Sobre construção e empacotamento de binários PPPwn
Algumas explicações sobre os binários fornecidos neste pacote.
Para obter permissão de execução, tive que enganar o sistema de empacotamento do Android Studio incluindo um pppwn.jar
falso (que é um zip, você encontrará na pasta do projeto app/libs) para extrair todos os binários no aplicativo padrão private pasta /data/data/it.deviato.droidpppwn/lib/
. Logo após a instalação você encontrará 4 arquivos extraídos, são bibliotecas falsas chamadas libXXX.so
, que na realidade também são arquivos zip, cada um contendo um binário para uma arquitetura diferente (além dos vários arquivos stage1
e stage2
).
Depois de abrir o aplicativo pela primeira vez, ele reconhece sua arquitetura e extrai o binário apropriado. Os quatro arquivos e arquiteturas relacionadas são:
- 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
Todos os binários são compilados através do Android oficial NDK r25c, o mais recente que suporta Android 4.4.
Se você não gosta dessas versões ou elas não funcionam bem para você, você pode simplesmente substituir o binário pppwn
na pasta mencionada acima pelo seu favorito.
Se você quiser construí-lo por conta própria , bifurquei o repositório xfangfang original e modifiquei seu CMakeLists.txt
para poder compilar para Android, tanto com NDK em sua máquina Linux quanto com o aplicativo Termux diretamente em seu dispositivo. As instruções estão no próprio fork aqui PPPwn_cpp_android.
Erros conhecidos
- Todos os bugs anteriores corrigidos
Registro de alterações
1.4.1
- Recompilei todos os binários para a última versão 1.1.0 do pppwn_cpp.
- Adicionada uma opção para selecionar o novo parâmetro "old-ipv6" (-old) do pppwn_cpp (usado somente quando o exploit falha).
- Stage2.bin atualizado com a nova versão GoldHEN para todos os firmwares 10.xx.
1.4
- Adicionada uma opção para executar automaticamente o exploit na inicialização como um serviço em segundo plano. Você também pode decidir se o dispositivo deve ser desligado automaticamente após o sucesso da exploração. NOTA: pode ser necessário conceder permissão para que o aplicativo seja iniciado automaticamente, dependendo do seu sistema/dispositivo Android (por exemplo, para xiaomi, vá em Configurações-> Aplicativos-> Permissões-> Inicialização automática e verifique DroidPPPwn).
- Limpei o código e corrigi alguns pequenos bugs
1.3.1
- Atualizados todos os arquivos stage2.bin da carga útil ps4-hen-vtx para a versão mais recente do EchoStretch (PPPwn-1.0310).
- O suporte Hen agora também foi adicionado para firmwares 7.0x.
1.3
- Adicionada uma nova compilação binária pppwn para arquiteturas Android x86_64.
- Adicionado suporte ao PS4HEN para todos os firmwares restantes. Agora apenas as versões 7.0x permanecem sem suporte a payload, mas apenas com o PoC básico.
- Adicionadas duas opções à GUI para definir parâmetros opcionais -nw (não espere mais um PADI antes de iniciar) e -rs (use CPU para um tempo de suspensão mais preciso) para pppwn.
- Corrigida compilação incorreta para x86 de 32 bits.
- Unificou o instalador com um único pacote apk para sistemas padrão e somente de 64 bits.
1.2.3
- Recompilei todos os binários, atualizando-os para a versão mais recente do pppwn_cpp, que permite alguns PS4-slim que antes não funcionavam.
- Adicionado suporte para carga útil do Linux para o firmware 11.00, por meio de uma caixa de seleção que permite alternar entre o GoldHen stage2 padrão e a versão LightningMods. Eu preferi manter o carregador de carga útil padrão e não incorporar a carga útil do ps4-linux no stage2.bin, para deixar a escolha das versões de 2 GB, 3 GB e 4 GB para você. Se você deseja substituir a carga útil pela sua própria, com o carregador ps4-linux codificado preferencial, substitua o arquivo /data/data/it.deviato.droidpppwn/lib/linux.1100 pelo seu próprio stage2.
1.2.2
- Arquivos stage2.bin atualizados para a versão mais recente, agora você tem GoldHen também para 9.60.
- Para os outros sistemas, a partir de agora, estes são os stage2.bin incluídos para cada 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
- Como de costume, você sempre pode colocar seu próprio stage1.bin e stage2.bin na pasta raiz do seu armazenamento interno ou externo (/storage/emulated/0 ou qualquer que seja o link simbólico /sdcard a que se refere)
1.2.1
- Alterado o método de reconhecimento da arquitetura do dispositivo, que dava resultados errados em alguns sistemas mais antigos
- Adicionado mais um binário para
armv7
de 32 bits, agora você tem um para Android 4.4 construído com libc compartilhada e um para armv7l
/ armv8l
para Android 5.0+, link estático - Recompilei todos os outros binários com estática
real
(houve um erro na versão anterior) - Algumas pequenas melhorias
1.2
- Adicionado suporte para Android x86 e compilações arm-v7a de 32 bits e arm-v8a de 64 bits corrigidas (sem mais bus_error)
- Recompilei todos os binários usando Android NDK em vez do ambiente Termux (resultado mais limpo)
- Adicionada a opção de pesquisar e selecionar a interface de rede preferida
- Corrigido o problema de binários não sendo instalados em dispositivos com versões mais antigas do Android
1.1
- Adicionado suporte para arm-v7a de 32 bits com binário separado de pppwn
- Todo o projeto foi refatorado, reduzindo o minSdk para a versão 19, para que agora ele possa ser executado no Android KitKat 4.4+
- Substituído stage2.bin para firmwares suportados pelos do repositório Sistr0 para permitir o carregamento de cargas úteis
- Adicionada a possibilidade de usar seu próprio stage2.bin
- Outras pequenas correções
1,0