Firefox profil ~204 byte crypted, profil visszaállítás

Sziasztok!

Adott egy user aki W11 alatt használ FF-et, W11 frissítés után dobott hátast, reinstall.
A gépről 8 óránként fájlrendszer szintű remote mentés készül.
A mentésben az user teljes home-ja benne van.

Reinstall után próbáltuk FF-et visszaállítani a szokásos módon:

  • AppData\Roaming\Mozilla\Firefox\Profiles\<profil>
  • AppData\Local\Mozilla\Firefox\Profiles\<profil>

Visszaállít, betölt.
Minden visszaállítás után, FF üres profillal indul.

Ez után megpróbáltuk csak a ténylegesen fontos adatokat tartalmazó fájlokat visszaállítani:
https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profile
Ez után is FF üres profillal indul.

 

Ekkor vettük észre, hogy a profil fájlok, érdekesen néznek ki:
pl: containers.json

# # ¤ # #€# 0 L ## ## ĺ@^×k#.ÓÔ»š{é# ## ## ĺ@^×k#.ÓÔ»š{## # X # # ˙## ## ## # ˙## ## # # $ ˙## ## ## ĺ@^×k#.ÓÔ»š{é# # «# {"version":4,"lastUserContextId":5,"identities":[{"userContextId":1,"public":true,"icon":"fingerprint","color":"blue","l10nID":"userContextPersonal.label","accessKey":"use

logins.json

# # ¤ # #€# 0 L ## ## ĺ@^×k#.ÓÔ»š{é# ## ## ĺ@^×k#.ÓÔ»š{## # X # # ˙## ## ## # ˙## ## # # $ ˙## ## ## ĺ@^×k#.ÓÔ»š{é# # Ş {"personalization":{"scores":{"interestConfig":{"history_required_fields":["title","description","url","frecency"],"history_limit_secs":2592000,"history_item_builder"

Minden fájl előtt kb. az első 204 byte u.a. crypteltnek tűnő részt tartalmazza.
Utána ott van a normál tartalom.

Minden fáj a profilban ilyen, .json, .js, .sqlite, .db, etc ….
Fixen u.a. ~204 byte tartalom.

A gépen semmilyen ransomware nem volt.
User elmondása szerint semmilyen profil titkosítás, master jelszó, etc … nem volt FF alatt beállítva.
Más fájlokban FF-en kívül nincsen ilyen „elváltozás”.

Visszaállítottunk ~fél éves backupot (augusztus), abban is hasonlóan van bent minden fájl, ennek ellenére a korábbi FF rendben működött.

Mi okozhatja ezt?

Hozzászólások

pluginre tippelnek, de feltetelezem a plugin is visszament visszaallitaskor.

neked aztan fura humorod van...

FF verzio? en tapasztaltam olyat hogy regebbi FF ujabb profillal nem ment, de akkor is eltunt mindne ha hirtelen tul sok verzio lett frissulve (egy gepen tobb user is volt, egyik mindig frissitgette a kozos FF-t a masik meg be se lepett evekig)

Félig off: régóta átszoktam a FFox sync-re, és azóta nincsenek ilyen profil visszaállítási problémáim. Ráadásul az összes gépemen ott van minden FFoxban, és nem kell a könyvjelzőket, előzményeket, plugin-eket egyenként barkácsolni.

204 byte u.a. crypteltnek tűnő részt tartalmazza

Ez nem úgy néz ki, sokkal inkább tűnik RAM szemétnek. Programhiba vagy hibás RAM miatt akár.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Burp mentés van, soha nem fordult elő hasonló.

A visszaállítás Burp restore-al történt, nem lehet benne semmilyen metaadat.
De Burp nem módosít a fájlokon, szerver oldalon natur elérhető minden fáj.
Csak és kizárólag FF profile fájlokban van ilyen "elváltozás", semmilyen más mentett fájlban nincsen.

Szerkesztve: 2024. 01. 12., p – 08:18

Ez olyan mint a Roschach-teszt?

Akkor én bitmapet látok bele, talán icon?

# # ¤ # #
€# 0 L ##
 ## ĺ@^×k
#.ÓÔ»š{é#
 ## ## ĺ@
^×k#.ÓÔ»š
{## # X #
 # ˙## ##
 ## # ˙##
 ## # # $
 ˙## ## #
# ĺ@^×k#.
ÓÔ»š{é# #

Főleg, hogy az eredeti kontent is benne van, nem lehet, hogy a mentő szoftver tette bele?
Esetleg nincs egy nem szenzitív minta amit fel tudsz tölteni valahova?

És ha kitörlöd a szemetet a valódi json előtt?

Köszönöm mindenkinek aki próbált segíteni.
Sajnos az hogy mi okozta a profil fájlokban a változást, az nem derült ki.

De a megoldás, az realtíve 1xű, le kell vágni a módosult fájlok első 204 byte-ját, és onnantól ott a sérülésmentes tartalom.

Ahhoz hogy user jól érezze magát a következő fájlokat kell helyrerakni:

  • cert9.db
  • cookies.sqlite
  • handlers.json
  • logins.json
  • places.sqlite
  • formhistory.sqlite
  • key4.db
  • permissions.sqlite
  • places.sqlite-shm
  • search.json.mozlz4

Egy sima 1xű bash/sh script:

for file in /ahol/a/fajlok/vannak/
    do
      if [ -f $file ]
      then
	      echo $file
	      dd if="$file" of="$file.tmp" bs=204 skip=1 
	      mv "$file.tmp" "$file"
      fi
    done

Majd egy üres profilba a már nem korrupt fájlokat be kell másolni, és mindenki boldog.

Örülök, hogy sikerült megoldanod, de ez egyben érdekes, fura, és rém ijesztő is. Én ilyen rendszert nem használnék, húznám újra, nem kockáztatnék, nem játszanék az adataimmal. Teljesen megbízhatatlan, ha valami azonosítatlan odaokádik minden fájlnak az elejére, és később még az is kiderülhet, hogy nem csak a FF profilfájlai érintettek.

Az is nagyon fura, hogy minden fájl elején ugyanaz a szemét van, de a tartalom sértetlen. Ha RAM- vagy lemezhiba lenne, akkor random helyeken lenne, mindig máshogy nézne ki a korrupció, ha meg ransomware titkosítgat, az is mindig másként titkosítana minden fájl elején, meg mögötte a tartalmat nem hagyná meg teljesen érintetlenül. A neten sem találtam senkit, akinek lett volna ilyen problémája. Ez szerintem az a burp izé lesz, azt nem ismerem. Esetleg valami kétes vagy rossz indulatú plugin/addon okozta.

Ha más nem a Mozillának bejelenthetnéd bugként, hátha ők felismerik, hogy ez a gyanúsan egyforma 204 bájtos bináris zagyvalék mi akar lenni. Hexadecimális formában is mentsd ki (od vagy xxd segítségével), ha megvannak még a fájlok backupban. Amit észrevettem, hogy a 204 bájtos adatban egyes részek ismétlődnek is, és a 204 valóban 3-mal és 4-gyel is osztható. Valami fix padding-et használó adathalmaznak tűnik, de hogy micsoda, azt ki nem tudom találni. Eleve nehezít, hogy csak text-ként tetted fel, és úgy csak 148 bájtnyi látszik belőle.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”

Burp egy nagyon megbízható, és hatékony, ennek ellenére kliens oldalon faék 1xű mentő program.
Nagyon régóta használjuk, nagyon sok helyen, soha semmilyen visszaállítási probléma nem volt vele.
FF-en kívül más adatban nincsen ilyen "elváltozás", csak és kizárólag FF profilokban.
(Néztem ellenőrzés képen binary grep-et, csak profile-okban van fájlok elején ez a 204 byte-os plusz)

Mivel csak és kizárólag FF az érintett, két dolog valószínűsíthető (amire te is utaltál):

  • valamilyen plugin-t rakott fel a gép tulajdonosa, és ez okozza az elváltozást
  • valamilyen FF-be épülő ransomware vagy hasonló kedvesség, de ez pedig azért kérdéses, mert oké hogy FF-ben fut, de attól még nem kéne hogy direktben hozzáférhessen a profil fájlokhoz.

Hidd el, most nem téged, a mentést, vagy a felhasználót hibáztatom, hanem ez egy nyugtalanító eset, amit én a helyedben nem tekintenék addig megoldottnak, amíg rá nem jövök, hogy mi okozta.

Megnéztétek a backup-ban, hogy a profilban a többi fájlon, meg FF-on kívüli fájlokban is előfordulnak-e ezek a 204 bájtos header-ök? Mert volt erről egy eszmecserém, és másnak is az a véleménye, hogy talán a backup teszi be ezeket metaadatnak, te meg nem a backup saját beépített megoldásával állítottál vissza, hanem abból kézi cp/rsync segítségével magad húztad vissza a fájlokat, azért maradt bennük ez a bináris fejléc.

Ami még felmerült, hogy a profilt hogyan próbáltad megadni a FF-nak? Csak bemásoltad az alapértelmezetten létrejövő default profilmappába a régi fjlokat, vagy a -ProfileManager kapcsolóval meghíva próbáltad neki a mentett mappát megadni profilmappának, hozzá azonos profilnevet kapcsolva? Illetve az is felvetődött, az általad betett .json fájlban pl a frequency "frecency"-ként szerepel, az is minimum fura.

Vagy a harmadik eset, hogy valami szutyok addon/extension okozta, de azt ugye nem tudjuk meg konkrétum híján. Arra is gondoltam, hogy ez Windows specifikus Mozilla probléma is lehet, de az egyik Win10-es telepítésemen ellenőriztem, ott nincsenek ilyen marhaságok a .json profilfájlokban (igaz az egy elég régi FF profil), ezen kívül csak Linuxom van (ott sincsen egyik FF profilban sem ilyen 204 bájtos fura fejlécek), Win11-em meg nincs, azon nem tudom tesztelni, most ezért nem húzok le több gigás Win11 telepítőt, meg állok neki virtuális gépezni, hogy ellenőrizzem.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”