Cuelgo esto aquí para el que le interese, que lo puse en Twitter pero no he tenido tiempo de forear.
Basado 100% en mis versiones previas del ESP8266 y el PiXploitHost original.
¿Por qué?Porque sí. Esto no se puede hacer desde el ESP8266 tal cual. Se puede hacer con hardware adicional y/o soldando. Se puede hacer con ciertas versiones del ESP32, pero no tengo ninguna de las válidas.
¿Qué es?Servidor para la carga del exploit y payloads en PS4 FW 9.0, además monta y desmonta automáticamente la imágen necesaria que necesita el exploit, simulando ser un pendrive.
Es una imagen basada en el últipo Raspberry Pi OS, para flashar en una micro SD para las Raspberry Pi Zero W / Zero 2 W. Casi todo va preconfigurado, tan sólo hay que añadirle las IPs en el fichero de configuración de DNSmasq.
¿Qué lleva?Servidor web Apache con PHP, DNSmasq para bloquear el tráfico con Sony, updates y demás mierda. Siguiendo las instrucciones de instalación SSH queda habilitado
Se conecta directamente al WiFi de tu router quedando el servidor accesible desde cualquier equipo de tu red. De esta forma se puede usar el Remote Play.
Las credenciales para el que queira curiosear, son las originales de Raspberry Pi OS (pi:raspberry).
En principio no habrá más versiones de la imágen. He añadido la opción de actualizarla directamente desde el host, y con eso debería ser suficiente para cualquier actualización.
InstruccionesPegadas directamente del pequeño manual que incluí con la imágen. Si hay alguna duda, preguntad, aunque creo que está más o menos claro.
Sólo para PS4 Fw 9.00
Esta imágen es para Raspberry Pi Zero W / Zero 2 W. No sirve para el resto. La conexión debe realizarse a una red WiFi 2.4 GHz, la Pi Zero W / Zero 2 W no soportan 5 GHz.
Para conectarla a la consola utilza el conector micro USB marcado como "USB" en la RPi0. JAMÁS conectes a la vez alimentación al otro conector y el USB en el marcado como USB o freirás algo. El marcado como "USB" tmabién alimenta la RPi0.
El cable para conectarla a la consola debe ser un cable de datos. Si utilizas un cable sólo de carga, el montaje y desmontaje del USB no hará nada, y no se ejecutará el exploit.
1.- Flashea la imagen (fichero .img) en una micro SD de al menos 4GB. Se auto expandirá en el primer arranque así que ten paciencia porque tar un poco en dejarte conectar por SSH con PuTTY (ver paso 3). Usa Win32DiskImager o Raspberry Pi Imager flashear la micro SD.
https://sourceforge.net/projects/win32diskimager/
https://www.raspberrypi.com/software/
2.- Tras el flasheo, primero inserta la micro SD en un PC, y edita el fichero "wpa_supplicant.conf" que hay en la partición boot, reemplazando el SSID y PASSWORD con los datos de tu WiFi. Guarda el fichero e inserta la micro SD en la RPi0.
3.- Está habilitado SSH, así que puedes conectar directamente con PuTTY u otro cliente SSH a "zeromsd", puerto 22. Si usar PuTTY, que sea la última versión, las anteriores dan un error del algoritmo de intercambio de claves.
https://www.putty.org/
4.- Puedes hacer login con el usuario y clave por defecto de Raspberry Pi OS (pi:raspberry)
5.- Una vez dentro por SSH, ejecuta "ifconfig" para saber que IP ha asignado el router a la RPi0, y en tu router reserva esa IP para la RPi0. Con "ifconfig" puedes ver también la mac que aparecerá en la lista de dispositivos conectados en tu router, para saber exactamente a cual se corresponde.
Alternativamente puedes buscar en Google cómo asignar una IP fija a la RPi. Necesitamos que siempre tenga la misma IP para el siguiente paso, y para la configuración DNS de la consola.
6.- Esto es importante, hazlo con cuidado de no poner mal los datos. Editar la configuración de DNSmasq:
sudo nano /etc/dnsmasq.conf
Al final del archivo, reemplaza ***YOUR_RASPBERRY_PI_IP**** por la dirección IP obtenida (step 5) en estas líneas:
address=/manuals.playstation.net/***YOUR_RASPBERRY_PI_IP****
address=/.net.playstation.net/***YOUR_RASPBERRY_PI_IP****
address=/.ps4.update.playstation.net/***YOUR_RASPBERRY_PI_IP****
address=/gs2.ww.prod.dl.playstation.net/***YOUR_RASPBERRY_PI_IP****
address=/rnps-crl.dl.playstation.net/***YOUR_RASPBERRY_PI_IP****
Guardar cambios con Crtl-X, y "y" para salvar.
Reiniciar el servicio DNSmasq y asegurate de que no muestra ningún error:
sudo service dnsmasq restart
7.- Con la RPi0 hemos acabado. Ahora configura una conexión manual en la consola, con los datos de tu WiFi, y poniendo como DNS with your WiFi settings, and add the RPi0 IP as Primary/Secondary DNS.
Configurar conexión a internet - Usar cable (o WiFi, lo que uses) - Personalizar - IP automático - Sin nombre host DHCP - DNS manual - DNS primaria: YOUR_RASPBERRY_PI_STATIC_IP - DNS Secundaria: 0.0.0.0 - MTU automático - No usar proxy)
8.- Puedes realizar el test de conexión e incluso intentar descargar una actualización. Si has configurado bien DNSmasq, no dejará descargarla. Si quieres asegurarte antes de probar eso, puedes abrir el navegador, e intentar acceder a páginas como playstation.com, scea.com. Si te da error, es que has configurado bien DNSmasq.
9.- Y se acabó. Recomiendo apagar las RPi0 desde el menú del host antes de apagar la consola para evitar que se corrompa el sistema de archivos. PAra futuras actualizaciones del host, he incluido la opción "Host update", que busca actualizaciones online, las dscarga y las instala (si no he metido la pata en ningún sitio). Cuando haya alguna actualización, lo anunciaré en twitter.
10. Para los nuevos usando mis hosts, podéis usar R1/L1 para moverros a la derecha/izquierda en el menú sin tener que usar el puntero. L2/R2 cambia al modo oscuro.
04/01/2022 ZeroXploitHost 0.91
- Deshabilitado el access log de Apache (escrituras innecesarias en la SD)
- Desabilitado el modo de ahorro de energía del WiFi (la Pi a veces no respondía a la priemra tras un rato sin movimiento en la web del host, por ejemlpo cuando cargas GoldHEN y te pones a jugar, si volvías al host para usar otro payload a veces daba error)
- Praparada la imagen para ejecutar shell scripts en la carga inicial del host, para actualizar cosas que no tengan que ver con la web. LEER NOTA DE SEGURIDAD AL FINAL.
- GoldHEN actualizado a v2.0b2
- Actualizado también el código del exploit con los últimos cambios de sleirsgoevy
- Añadido payload Parental Control de nekohaku, para obtener el pin parental.
- Añadido selector de temperatura para el Fan Threshold
- Añadida una opción (Custom payloads) para cargar Payloads no incluidos en el host. Los podéis subir con SFTP al directorio /home/pi/www/html/payloads/custom/ y se mostrarán ahí. Así si alguien quiere probar cosas y no puede esperar a que me de tiempo a actualizar, puede probarlos directamente, son sólo un par de clicks más.
- Arreglos y cambios varios en JS e interfaz de usuario.
NOTA DE SEGURIDAD
Ni se os ocurrar, por ninguna razón redirigir puertos en vuestro router al servidor Apache de la Pi. Es totalmente insegura, sólo apta para red local.
Mi imágen sólo está para descargar en mi carpeta de MEGA. No la descargues de ningún otro sitio.
No hay que olvidar que una Pi configurada como cliente WiFi, como es el caso, es un ordenador más en tu red, y puede hacer cosas malas. Así que ojo con lo que incluis en vuestra red, si queréis hacer algún cambio (colores, traducción, etc...) tenéis acceso al código, lo podéis hacer vosotros mismos. Lo digo más que nada porque en cierto foro ya están hablando de tunear mi imagen, como ya hicieron fusilando el host del ESP8266.
El que quiera inspeccionar mi imágen, tiene el SSH habilitado. Usa Raspberry PI OS, y las credenciales por defecto (pi:raspberry). La contraseña de root no se ha establecido.
Todo está en el directorio /home/pi/ aparte de los cambios necesarios para configurar DNSmasq, PHP y Apache.
DescargaZero Xploit Host & dummy USB