[ZeroXploitHost] Servidor de exploits en una Raspberry Pi Zero/2 W con montaje automático del USB

Imagen

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.

Instrucciones

Pegadas 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.

Descarga

Zero Xploit Host & dummy USB
Muchisimas gracias crack!
Vaya currada!
En que teng aun rato lo pruebo.
Muchas gracias por el curro tio.
@c0d3m4st4 vaya pedazo de curro. Una pregunta: no hay forma de hacer esto mismo en una pi4? Lo digo porque ya la tengo y no tener que comprar la zero [carcajad]

Un saludo y de nuevo gracias a gente como tú, que hacéis mucho bien a la scene.
Muchas gracias @c0d3m4st4 por el regalito :)
Hasta ahora estaba usando la zero para hospedar el exploit en local pero el dichoso usb me tenia negro xD
El invento de montar/desmontar la imagen como dispositivo USB (desconocía que la pi zero tuviera funciones otg) es la leche.

He visto que es relativamente fácil modificar el html y agregar nuevos payloads (he agregado el WebRTE y el Orbis Toolbox), pero hay una cosa que se me escapa y es el tema de los iconos de los items.
Veo que son svg, son de alguna fuente open source o son cosecha propia?

Un saludo y felices fiestas!
El WebRTE lo añadí, se me olvidó poner por aquí que había soltado una actualización que podéis instalar desde la opción correspondiente del menú.

Tengo otra medio lista para estos días, pero estoy viendo a ver cómo arreglar una cosilla, posiblemente tenga que sacar otra imágen, por tema de permisos, es complicado hacerlo via actualización, y me dejé un script sin subir para cuando necesite lanzar algo fuera de lo normal... :\

Los iconos algunos son de cosecha propia (los más cutres, el diseño y yo somos enemigos), y el resto casi todos eran de flaticons si no recuerdo mal, aunque ahora ya no ofrecen los svg gratis, así que alguno de los últimos están sacado de por ahí. Eso sí, luego van limpios de mierda y minimizados, para reutilziarlos después en el ESP8266 cuando tenga un rato.

jander2k escribió:Muchas gracias @c0d3m4st4 por el regalito :)
Hasta ahora estaba usando la zero para hospedar el exploit en local pero el dichoso usb me tenia negro xD
El invento de montar/desmontar la imagen como dispositivo USB (desconocía que la pi zero tuviera funciones otg) es la leche.

He visto que es relativamente fácil modificar el html y agregar nuevos payloads (he agregado el WebRTE y el Orbis Toolbox), pero hay una cosa que se me escapa y es el tema de los iconos de los items.
Veo que son svg, son de alguna fuente open source o son cosecha propia?

Un saludo y felices fiestas!
Aunque no tengo una pi, vengo a darte las gracias, un currazo como siempre.
Ya lo tengo instalado y operativo. Muchísimas gracias por el trabajo, siempre de una calidad excelente.
Buenas @c0d3m4st4
Siento molestar, es que lo estoy probando y soy incapaz de hacer funcionar el disable update o el fan threshold. Les doy y no hace nada, solamente el Goldhen.
¿Qué estoy haciendo mal?
Muchas gracias por el aporte.
monrra escribió:Buenas @c0d3m4st4
Siento molestar, es que lo estoy probando y soy incapaz de hacer funcionar el disable update o el fan threshold. Les doy y no hace nada, solamente el Goldhen.
¿Qué estoy haciendo mal?
Muchas gracias por el aporte.

Tienes que activar el bin loader desde GoldHen para que funcionen los payloads :)
jander2k escribió:
monrra escribió:Buenas @c0d3m4st4
Siento molestar, es que lo estoy probando y soy incapaz de hacer funcionar el disable update o el fan threshold. Les doy y no hace nada, solamente el Goldhen.
¿Qué estoy haciendo mal?
Muchas gracias por el aporte.

Tienes que activar el bin loader desde GoldHen para que funcionen los payloads :)


Ya sabía yo que algo hacía mal.

Muchas gracias.

EDITO: Ya he conseguido que vaya. Gracias por lo del bin loader, no había caído.

Lo malo es que he activado el fan threshold y a 60°C es infumable con la pro, es un avión apunto de despegar y aunque la apago, se ha quedado guardado ese valor. He cambiado el valor con el programa PS4 Temperature. ¿Se quedará guardado o toca cambiarlo cada vez que enciendo? ¿A qué temperatura lo tenéis vosotros? ¿A 60°C que viene por defecto no os lía un torbellino?

Gracias.
PM ;)

monrra escribió:
jander2k escribió:
monrra escribió:Buenas @c0d3m4st4
Siento molestar, es que lo estoy probando y soy incapaz de hacer funcionar el disable update o el fan threshold. Les doy y no hace nada, solamente el Goldhen.
¿Qué estoy haciendo mal?
Muchas gracias por el aporte.

Tienes que activar el bin loader desde GoldHen para que funcionen los payloads :)


Ya sabía yo que algo hacía mal.

Muchas gracias.

EDITO: Ya he conseguido que vaya. Gracias por lo del bin loader, no había caído.

Lo malo es que he activado el fan threshold y a 60°C es infumable con la pro, es un avión apunto de despegar y aunque la apago, se ha quedado guardado ese valor. He cambiado el valor con el programa PS4 Temperature. ¿Se quedará guardado o toca cambiarlo cada vez que enciendo? ¿A qué temperatura lo tenéis vosotros? ¿A 60°C que viene por defecto no os lía un torbellino?

Gracias.
monrra escribió:
jander2k escribió:
monrra escribió:Buenas0d3m4st4
Siento molestar, es que lo estoy probando y soy incapaz de hacer funcionar el disable update o el fan threshold. Les doy y no hace nada, solamente el Goldhen.
¿Qué estoy haciendo mal?
Muchas gracias por el aporte.

Tienes que activar el bin loader desde GoldHen para que funcionen los payloads :)


Ya sabía yo que algo hacía mal.

Muchas gracias.

EDITO: Ya he conseguido que vaya. Gracias por lo del bin loader, no había caído.

Lo malo es que he activado el fan threshold y a 60°C es infumable con la pro, es un avión apunto de despegar y aunque la apago, se ha quedado guardado ese valor. He cambiado el valor con el programa PS4 Temperature. ¿Se quedará guardado o toca cambiarlo cada vez que enciendo? ¿A qué temperatura lo tenéis vosotros? ¿A 60°C que viene por defecto no os lía un torbellino?

Gracias.


Yo tuve que subir la temperatura de mi pro a 70° xq era insoportable jugar a no ser que uses cascos, y contando que le hice una limpieza completa y cambio de pasta térmica hace unas semanas.
Actualizado el host. Toca reflashear, he metido algunos cambios en el sistema que no podía meter desde un "update pack".

Descarga y detalles de los cambios al final del primer post.

EDITO: Hay una pequeña cagada en el dnsmasq.conf incluido con la imágen, me dejé mi IP (192.168.3.30) en lugar del poner ***YOUR_RASPBERRY_PI_IP**** así que lo que hay que sustituir por vuestra IP es la mía en lugar de ese texto que no existe en el fichero.
Pues me he registrado en el foro solo para darte las gracias por este trabajo, que lo merece.
[beer]
c0d3m4st4 escribió:Actualizado el host. Toca reflashear, he metido algunos cambios en el sistema que no podía meter desde un "update pack".

Descarga y detalles de los cambios al final del primer post.

EDITO: Hay una pequeña cagada en el dnsmasq.conf incluido con la imágen, me dejé mi IP (192.168.3.30) en lugar del poner ***YOUR_RASPBERRY_PI_IP**** así que lo que hay que sustituir por vuestra IP es la mía en lugar de ese texto que no existe en el fichero.



Muchas gracias, yo le meti hasta el trainer de leeful, me gusta la config que le pones, la mayoria solo hace de web server, pero no de dns, con tu imagen queda la ps4 en la red local y con lo de sony bloqueado, exelente trabajo :)
Hola @c0d3m4st4

Excelente trabajo, me ha gustado la idea de ser "independiente" y no tener que andar pinchando el USB.

Una cuestión solamente, cuando dices:

Recomiendo apagar las RPi0 desde el menú del host antes de apagar la consola para evitar que se corrompa el sistema de archivos.


¿las probabilidades de que ello ocurra son altas? Cuando te refieres al sistema de archivos, ¿es al de la PI o a la imagen que monta como USB? ¿No se desmonta tras cargar el exploit? Mi idea sería dejar la PI corriendo siempre y olvidarme.

Un saludo y muchas gracias.
remyeol escribió:Hola @c0d3m4st4

Excelente trabajo, me ha gustado la idea de ser "independiente" y no tener que andar pinchando el USB.

Una cuestión solamente, cuando dices:

Recomiendo apagar las RPi0 desde el menú del host antes de apagar la consola para evitar que se corrompa el sistema de archivos.


¿las probabilidades de que ello ocurra son altas? Cuando te refieres al sistema de archivos, ¿es al de la PI o a la imagen que monta como USB? ¿No se desmonta tras cargar el exploit? Mi idea sería dejar la PI corriendo siempre y olvidarme.

Un saludo y muchas gracias.


se refiere a apagar el sistema operativo de la raspberry que sera seguramente raspbian. si no al apagar la consola y quedarse el usb sin energia, seria como apagar tu pc tirando del cable o apagando de la regleta electrica.
No sé cómo no había pensado esa posibilidad, gracias @draqen
remyeol escribió:No sé cómo no había pensado esa posibilidad, gracias @draqen


Es lo mismo que sacar un pendrive sin primero pasar por el expulsar de windows, el sistema de archivos de la tarjeta de memoria se te puede corromper, he notado que en las microsd es bien comun que esto suceda, prevenir mejor que curar dicen por ahi, saludos
Probado con una Raspberry Pi Zero 2 W y funciona de lujo, acabo de pasar de 5.05 a 9.00 y como la PS4 Pro tiene un USB en la parte trasera lo tengo conectado en ese puerto y asi no se ve la Raspberry y tampoco me tengo que levantar del sofa para lanzar el Golden o sea lo mejor de 2 mundos.

@c0d3m4st4 Gracias por el magnifico aporte a la comunidad.
@c0d3m4st4

Amigo muchisimas gracias por todo tu esfuerzo, acabo de subir a este link una version modificada de tu host (solo host), por si la quieres probar, lleva el webrte fixed ya que no funcionaba en la version original y le añadi el webtrainer de leeful, si te molesta que haya modificado el host me dices y bajo el link, todos los creditos son suyos maestro, saludos

https://1fichier.com/?wlzt5hel1a7espgmeqdr

Imagen

Imagen
Hola, gracias por el aporte, @c0d3m4st4
Me imagino que no funcionará ni se podrá adaptar a una RPI 3 A+ que tengo por aquí, ¿no?
La tengo sin uso ahora y la única Pi-zero que tengo es la normal que no tiene Wireless.
Saludos.
Con un wifi micro USB o USB y un adaptador a micro USB supongo que debería funcionar. Es la única diferencia entre pi zero y zero w, creo.
el goldhen se puede actualizar a la 2.1.2?
sev45lora escribió:el goldhen se puede actualizar a la 2.1.2?


Yo lo he hecho y sin problema. Entras por sftp a la raspberry y te vas a la carpeta /home/pi/www/html/payloads/goldenhean y ahi copias el archivo goldhen_2.1.2_900.bin. Luego modificas index.html y en la linea 93 actualizas el nombre del fichero al nuevo que has copiado. Y ya lo tienes
lburbano escribió:
sev45lora escribió:el goldhen se puede actualizar a la 2.1.2?


Yo lo he hecho y sin problema. Entras por sftp a la raspberry y te vas a la carpeta /home/pi/www/html/payloads/goldenhean y ahi copias el archivo goldhen_2.1.2_900.bin. Luego modificas index.html y en la linea 93 actualizas el nombre del fichero al nuevo que has copiado. Y ya lo tienes


Gracias macho, acabo de atualizar el goldhen_ 2.2.2 y sin problemas.
k_shake escribió:
lburbano escribió:
sev45lora escribió:el goldhen se puede actualizar a la 2.1.2?


Yo lo he hecho y sin problema. Entras por sftp a la raspberry y te vas a la carpeta /home/pi/www/html/payloads/goldenhean y ahi copias el archivo goldhen_2.1.2_900.bin. Luego modificas index.html y en la linea 93 actualizas el nombre del fichero al nuevo que has copiado. Y ya lo tienes


Gracias macho, acabo de atualizar el goldhen_ 2.2.2 y sin problemas.


De nada. Es una pasada tener en estas ultimas versiones el menu de cheats accesible tan facilmente desde el propio juego, sin tener que hacer lio de cambiar de aplicacion ni de ponerte a buscarlos
Buenas.
Siento molestar, tuve el host funcionando de lujo, he tenido que cambiar la SD y ahora no tengo forma de hacerlo funcionar. A ver si alguien se le ocurre que puedo estar haciendo mal.
Grabo la imagen con win32, modifico el archivo wpa para poner los datos de mi wifi (he probado cambiando el tipo de seguridad a WPA2 y mismo problema). Una vez tengo todo, meto la sd en la raspi, la enciendo y espero unos minutos para acceder por putty y, aquí viene el fallo, no hay manera de que se conecte a la red wifi, por lo que no puedo acceder por putty y seguir el proceso.
He mirado el router, no hay nada extraño y de hecho tenía IP reservada de antes de cambiar la SD. He quitado la IP reservada y ni así, no se conecta y no puedo continuar.

Muchas gracias de antemano.
Vaya, la bola de cristal no me coge cobertura, lo siento. :cool:

Así a ojo, me da que está cogiendo una IP que desconoces diferente a la anterior.

Prueba a ver si lo puedes ver en el router o conecta una pantalla a la pizero por HDMI y mira desde ahí. Es una Raspbian así que podrás verlo por terminal.
rig3l escribió:Vaya, la bola de cristal no me coge cobertura, lo siento. :cool:

Así a ojo, me da que está cogiendo una IP que desconoces diferente a la anterior.

Prueba a ver si lo puedes ver en el router o conecta una pantalla a la pizero por HDMI y mira desde ahí. Es una Raspbian así que podrás verlo por terminal.

Jajaja perdona, eran los datos que tenía.
Gracias, voy a ver.
Hola. He seguido el readme que cuelgas, todo funciona.

Conecto la Raspberry al puerto usb de la consola con el micro usb marcado como "usb", pero ahora no sé cómo accedo al host.

Si intento acceder a la guía como en exploits más antiguos recibo el mensaje de "no se ha podido conectar al servidor dentro del límite de tiempo..."

¿Qué hago mal?

Edito, error tipográfico en mi ip. Solucionado!
Buenas, esto funcionaria en una vm o tiene que ser un pi física sí o sí?
alextgd escribió:Buenas, esto funcionaria en una vm o tiene que ser un pi física sí o sí?

Tiene que ser una pi porque el exploit se inyecta por el usb, asique la raspberry va conectada a la play por ese puerto, inyecta el exploit y haciendo uso de un server web carga el payload que permite ejecutar backups o lo que sea.
Con vm te referias a tener una virtualizacion en tu ordenador de esto? Tendrias en server con el payload, pero sin inyectar el exploit antes no puedes cargarlo
lburbano escribió:
alextgd escribió:Buenas, esto funcionaria en una vm o tiene que ser un pi física sí o sí?

Tiene que ser una pi porque el exploit se inyecta por el usb, asique la raspberry va conectada a la play por ese puerto, inyecta el exploit y haciendo uso de un server web carga el payload que permite ejecutar backups o lo que sea.
Con vm te referias a tener una virtualizacion en tu ordenador de esto? Tendrias en server con el payload, pero sin inyectar el exploit antes no puedes cargarlo

Sí, la virtualización se puede conectar por usb igualmente a la ps4, no?
Saludos
34 respuestas