Løslatt! PS5-kjerneutnyttelse + Webkit-sårbarhet for fastvare 4.03


Å, wow, bare noen timer etter tvitrer at dette måtte «strykes ut» SpectreDev har nå publisert sin implementering av PS5 IPV6-kjerneutnyttelsen!

Denne utgivelsen er avhengig av Webkit-sårbarheten som et inngangspunkt, noe som betyr at den vil fungere på alle PS5 (inkludert PS5 Digital edition) som kjører firmware 4.03. Lavere fastvare kan fungere (selv om utnyttelsen kan trenge tilpasning). Høyere fastvare vil ikke fungere for øyeblikket (de er ikke sårbare for Webkit-utnyttelsen)

PS5 4.03 Kjerneutnyttelse er her!

SpecterDev advarer om betydelige begrensninger av denne utnyttelsen. Spesielt:

  1. Utnyttelsen er ganske ustabil, og etter hans erfaring vil den fungere omtrent 30 % av tiden. Hvis du prøver å kjøre den, ikke gi opp, det kan kreve flere forsøk før utnyttelsen kommer gjennom
  2. Muligens viktigere, denne utnyttelsen gir oss lese-/skrivetilgang, men ingen utførelse! Dette betyr ingen mulighet til å laste og kjøre binærfiler for øyeblikket, alt er begrenset innenfor rammen av ROP-kjeden. Den nåværende implementeringen aktiverer imidlertid feilsøkingsinnstillinger.

Mer presist, fra utnyttelsens readme:

Inkludert for øyeblikket

  • Får vilkårlig lesing/skriving og kan kjøre en grunnleggende RPC-server for lesing/skriving (eller en dumpserver for store lesninger) (må redigere din egen adresse/port inn i utnyttelsesfilen på linjene 673-677)
  • Aktiverer feilsøkingsinnstillingsmenyen (merk: du må gå ut av innstillingene helt og gå inn igjen for å se den).
  • Får root-privilegier

Begrensninger

  • Denne utnyttelsen oppnår lese/skrive, men ikke kjøring av kode. Dette er fordi vi for øyeblikket ikke kan dumpe kjernekode for gadgets, siden kernel .text-sider er merket som eXecute Only Memory (XOM). Forsøk på å lese kjerne .text-pekere vil få panikk!
  • I henhold til ovenstående + hypervisor (HV) som håndhever kjerneskrivebeskyttelse, denne utnyttelsen også kan ikke installere noen patcher eller kroker i kjerneplasssom betyr at ingen hjemmebryggerelatert kode foreløpig.
  • Clang-basert finkornet Control Flow Integrity (CFI) er tilstede og håndheves.
  • Supervisor Mode Access Prevention/Execution (SMAP/SMEP) kan ikke deaktiveres på grunn av HV.
  • Skriveprimitiven er noe begrenset, da byte 0x10-0x14 må være null (eller et gyldig nettverksgrensesnitt).
  • Utnyttelsens stabilitet er for tiden dårlig. Mer om dette nedenfor.
  • På vellykket løp, gå ut av nettleseren med sirkelknappen, PS-knappen får panikk av en foreløpig ukjent årsak.

Stabilitetsmerknader

Stabiliteten for denne utnyttelsen er på omtrent 30 %, og har flere potensielle feilpunkter. I rekkefølge etter observert synkende sannsynlighet:

  1. Trinn 1 forårsaker mer enn én UAF på grunn av å ikke fange en eller flere i gjenvinningen, noe som forårsaker latent korrupsjon som forårsaker panikk en tid senere.
  2. Trinn 4 finner overlapping/offer-kontakten, men pktopts er den samme som master-kontaktens, noe som gjør at “les”-primitiven bare leser tilbake pekeren du prøver å lese i stedet for innholdet på den. Dette må forbedres og repareres hvis mulig fordi det er veldig irriterende.
  3. Trinn 1sitt forsøk på å gjenvinne UAF mislykkes, og noe annet stjeler pekeren, og forårsaker umiddelbar panikk.
  4. Kqueue-lekkasjen mislykkes, og den klarer ikke å finne en gjenkjent kjerne-.datapeker.

Med andre ord, denne utgivelsen er kun nyttig for hackere, eller folk som er nysgjerrige på å grave i innsiden av PS5. Vær imidlertid oppmerksom på at til tross for sine begrensninger, er dette den første offentlige utgivelsen noensinne av et så kraftig hack for PS5, noe som betyr at nye oppdagelser garantert vil skje!

PS5 IPV6 Utnytt utstillingsvideo

Scenemedlem Echo Stretch klarte å kjøre utnyttelsen og få oss en video av den i aksjon, som kan sees nedenfor. I videoen kan du se feilsøkingsmenyen og pakkeinstallasjonsprogrammet bli låst opp på PS5

Last ned og kjør

Du kan last ned hacket her.

Du vil trenge Python for å kjøre SpecterDevs implementering, og du vil kjøre en webserver på din lokale PC for PS5-en din.

  1. Konfigurer fakedns via dns.conf å peke manuals.playstation.net til PC-ens IP-adresse
  2. Kjør falske dns: python fakedns.py -c dns.conf
  3. Kjør HTTPS-server: python host.py
  4. Gå inn i PS5 avanserte nettverksinnstillinger og sett primær DNS til PC-ens IP-adresse og la sekundær kl 0.0.0.0
    1. Noen ganger vil manualen fortsatt ikke lastes og en omstart er nødvendig, usikker på hvorfor det er veldig rart
  5. Gå til brukerhåndboken i innstillinger og godta uklarert sertifikat-forespørsel, kjør
  6. Valgfritt: Kjør rpc/dump serverskript (merk: adresse/port må erstattes i binær form i exploit.js)

Dette er en utviklingshistorie, ettersom flere mennesker vil teste og rapportere om dette hacket i dagene som kommer, så følg med!

Kilde: SpectreDev