Se vi volas scii, kiaj specoj de WhatsApp-krimmedicinaj artefaktoj ekzistas en malsamaj operaciumoj kaj kie ĝuste ili troveblas, tiam ĉi tiu estas la loko por vi. Ĉi tiu artikolo estas de specialisto ĉe la Group-IB Computer Forensics Laboratory Igor Miĥajlov komencas serion de afiŝoj pri WhatsApp jurmedicino kaj kiaj informoj povas esti akiritaj de analizado de la aparato.
Ni tuj rimarku, ke malsamaj operaciumoj stokas malsamajn specojn de WhatsApp-artefaktoj, kaj se esploristo povas ĉerpi certajn specojn de WhatsApp-datumoj de unu aparato, tio ne signifas, ke similaj specoj de datumoj povas esti ĉerpitaj de alia aparato. Ekzemple, se sistemunuo funkcianta Windows OS estas forigita, WhatsApp-babiloj verŝajne ne estos trovitaj sur ĝiaj diskoj (krom sekurkopioj de iOS-aparatoj, kiuj troveblas sur la samaj diskoj). La forkapto de tekkomputiloj kaj porteblaj aparatoj havos siajn proprajn karakterizaĵojn. Ni parolu pri tio pli detale.
WhatsApp-artefaktoj en Android-aparato
Por ĉerpi WhatsApp-artefaktojn de Android-aparato, la esploristo devas havi superuzantrajtojn ('radiko') sur la studata aparato aŭ povi alie ĉerpi fizikan rubejon de la memoro de la aparato, aŭ ĝian dosiersistemon (ekzemple, uzante programarajn vundeblecojn de specifa movebla aparato).
Aplikaj dosieroj troviĝas en la memoro de la telefono en la sekcio en kiu uzantdatenoj estas konservitaj. Kiel regulo, ĉi tiu sekcio estas nomita 'uzantdatenoj'. Subdosierujoj kaj programdosieroj troviĝas laŭ la vojo: '/data/data/com.whatsapp/'.
La ĉefaj dosieroj, kiuj enhavas WhatsApp-jurmedicinajn artefaktojn en la Android-OS, estas datumbazoj 'wa.db' и 'msgstore.db'.
En la datumbazo 'wa.db' enhavas la kompletan kontaktliston de WhatsApp-uzanto, inkluzive de telefonnumero, montra nomo, tempomarkoj, kaj ajna alia informo provizita dum registrado por WhatsApp. Dosiero 'wa.db' situanta laŭ la vojo: '/data/data/com.whatsapp/databases/' kaj havas la sekvan strukturon:
La plej interesaj tabeloj en la datumbazo 'wa.db' por la esploristo estas:
- 'wa_kontaktoj'
Ĉi tiu tabelo enhavas kontaktinformojn: WhatsApp-kontaktidentigilo, statusinformoj, uzanta afiŝnomo, tempomarkoj ktp.Tabla aspekto:
TablostrukturoKampa nomo valoro _id rekorda sinsekvo (en SQL-tabelo) jid WhatsApp kontaktidentigilo, skribita en la formato <telefonnumero>@s.whatsapp.net estas_whatsapp_uzanto enhavas '1' se la kontakto respondas al reala WhatsApp-uzanto, '0' alie statuso enhavas la tekston montritan en la kontaktostatuso status_timestamp enhavas tempomarkon en Unix Epoch Time (ms) formato nombro telefonnumero asociita kun la kontakto raw_contact_id kontaktu seria numero montra_nomo kontakta montra nomo telefono_tipo telefona tipo telefono_etikedo etikedo asociita kun la kontaktnumero unseen_msg_count nombro da mesaĝoj kiuj estis senditaj de kontakto sed ne estis legitaj de la ricevanto foto_ts enhavas tempomarkon en formato Unix Epoch Time dikfingroj enhavas tempomarkon en formato Unix Epoch Time foto_id_timestampo enhavas tempomarkon en Unix Epoch Time (ms) formato antaŭnomo kampovaloro kongruas kun 'montra_nomo' por ĉiu kontakto wa_nomo WhatsApp-kontakta nomo (la nomo specifita en la profilo de la kontakto estas montrata) ordigo_nomo kontaktnomo uzata en ordigaj operacioj kromnomo la kromnomo de kontakto en WhatsApp (la kromnomo specifita en la profilo de la kontakto montriĝas) Kompanio firmao (la firmao specifita en la profilo de la kontakto estas montrata) titolo titolo (Sinjorino/Sinjoro; titolo agordita en la kontaktoprofilo montriĝas) kompenso antaŭjuĝo - 'sqlite_sekvenco'
Ĉi tiu tabelo enhavas informojn pri la nombro da kontaktoj; - 'android_metadatumoj'
Ĉi tiu tabelo enhavas informojn pri WhatsApp-lingva lokalizo.
En la datumbazo 'msgstore.db' enhavas informojn pri senditaj mesaĝoj, kiel kontaktnumero, mesaĝteksto, mesaĝstato, tempomarkoj, detaloj de transdonitaj dosieroj inkluzivitaj en mesaĝoj, ktp. Dosiero 'msgstore.db' situanta laŭ la vojo: '/data/data/com.whatsapp/databases/' kaj havas la sekvan strukturon:
La plej interesaj tabeloj en la dosiero 'msgstore.db' por la esploristo estas:
- 'sqlite_sekvenco'
Ĉi tiu tabelo enhavas ĝeneralajn informojn pri ĉi tiu datumbazo, kiel la totala nombro da mesaĝoj konservitaj, la totala nombro da babilejoj, ktp.Tabla aspekto:
- 'mesaĝo_fts_enhavo'
Enhavas la tekston de senditaj mesaĝoj.Tabla aspekto:
- 'mesaĝoj'
Ĉi tiu tabelo enhavas informojn kiel kontaktan numeron, mesaĝan tekston, mesaĝan staton, tempomarkojn, informojn pri translokigitaj dosieroj inkluzivitaj en mesaĝoj.Tabla aspekto:
TablostrukturoKampa nomo valoro _id rekorda sinsekvo (en SQL-tabelo) key_remote_jid WhatsApp ID de komunika partnero ŝlosilo_de_mi direkto de mesaĝo: '0' - alvenanta, '1' - eksiĝinta ŝlosilo_id unika mesaĝo-identigilo statuso mesaĝo-stato: '0' - liverita, '4' - atendante sur la servilo, '5' - ricevita ĉe celloko, '6' - kontrolmesaĝo, '13' - mesaĝo malfermita de la ricevanto (legu) bezonas_puŝi havas la valoron '2' se ĝi estas elsenda mesaĝo, alie enhavas '0' datumoj mesaĝteksto (kiam la parametro 'media_wa_type' estas '0') tempstampo enhavas tempomarkon en formato Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo media_url enhavas la URL de la transdonita dosiero (kiam la parametro 'media_wa_type' estas '1', '2', '3') media_mime_type MIME-tipo de la translokigita dosiero (kiam la parametro 'media_wa_type' estas egala al '1', '2', '3') media_wa_type mesaĝo tipo: '0' - teksto, '1' - grafika dosiero, '2' - sondosiero, '3' - videodosiero, '4' - kontaktkarto, '5' - geodatenoj media_size grandeco de la translokigita dosiero (kiam la parametro 'media_wa_type' estas '1', '2', '3') media_name nomo de la translokigita dosiero (kiam la parametro 'media_wa_type' estas '1', '2', '3') media_caption Enhavas la vortojn 'audio', 'video' por la respondaj valoroj de la parametro 'media_wa_type' (kiam la parametro 'media_wa_type' estas '1', '3') media_hash base64 kodita hash de la elsendita dosiero, kalkulita per la HAS-256-algoritmo (kiam la parametro 'media_wa_type' estas egala al '1', '2', '3') media_daŭro daŭro en sekundoj por la amaskomunikila dosiero (kiam 'media_wa_type' estas '1', '2', '3') Origino havas la valoron '2' se ĝi estas elsenda mesaĝo, alie enhavas '0' latitudo geodatenoj: latitudo (kiam la parametro 'media_wa_type' estas '5') longitudo geodatenoj: longitudo (kiam la parametro 'media_wa_type' estas '5') dikfingro_bildo servo informoj fora_rimedo Sendanto-identigilo (nur por grupaj babilejoj) ricevita_timestampo tempo de kvitanco, enhavas tempomarkon en formato de Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo (kiam la parametro 'key_from_me' havas '0', '-1' aŭ alian valoron) send_timestamp ne uzata, kutime havas la valoron '-1' receipt_server_timestamp tempo ricevita de la centra servilo, enhavas tempomarkon en formato Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo (kiam la parametro 'key_from_me' havas '1', '-1' aŭ alian valoron ricevo_device_timestamp tempo kiam la mesaĝo estis ricevita de alia abonanto, enhavas tempomarkon en formato de Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo (kiam la parametro 'key_from_me' havas '1', '-1' aŭ alian valoron leg_device_timestamp tempo de malfermado (legado) de la mesaĝo, enhavas tempomarkon en formato Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo ludata_device_timestamp tempo de reproduktado de mesaĝoj, enhavas tempomarkon en formato de Unix Epoch Time (ms), la valoro estas prenita de la aparato-horloĝo krudaj_datenoj bildeto de la transdonita dosiero (kiam la parametro 'media_wa_type' estas '1' aŭ '3') ricevanto_kalkulo nombro da ricevantoj (por elsendaj mesaĝoj) partoprenanto_hash uzata dum elsendado de mesaĝoj kun geodatenoj ĉefrolis ne uzata quoted_row_id nekonata, kutime enhavas la valoron '0' menciitaj_jids ne uzata multicast_id ne uzata kompenso antaŭjuĝo Ĉi tiu listo de kampoj ne estas ĝisfunda. Por malsamaj versioj de WhatsApp, iuj kampoj povas ĉeesti aŭ foresti. Aldone, kampoj povas ĉeesti 'media_enc_hash', 'redakti_versio', 'pago_transakcio_id' kaj tiel plu.
- 'mesaĝoj_bildetoj'
Ĉi tiu tabelo enhavas informojn pri transdonitaj bildoj kaj tempomarkoj. En la kolumno 'tempostampilo', la tempo estas indikita en formato de Unix Epoch Time (ms). - 'babillisto'
Ĉi tiu tabelo enhavas informojn pri babilejoj.Tabla aspekto:
Ankaŭ, ekzamenante WhatsApp sur poŝtelefono, kiu funkcias Android, vi devas atenti la jenajn dosierojn:
- dosiero 'msgstore.db.cryptXX' (kie XX estas unu aŭ du ciferoj de 0 ĝis 12, ekzemple, msgstore.db.crypt12). Enhavas ĉifritan sekurkopion de WhatsApp-mesaĝoj (rezervdosiero msgstore.db). Dosiero(j) 'msgstore.db.cryptXX' situanta laŭ la vojo: '/data/media/0/WhatsApp/Databases/' (virtuala SD-karto), '/mnt/sdcard/WhatsApp/Databases/ (fizika SD-karto)'.
- dosiero 'ŝlosilo'. Enhavas kriptografan ŝlosilon. Situante laŭ la vojo: '/data/data/com.whatsapp/files/'. Uzita por deĉifri ĉifritajn sekurkopiojn de WhatsApp.
- dosiero 'com.whatsapp_preferences.xml'. Enhavas informojn pri via WhatsApp-kontoprofilo. La dosiero situas laŭ la vojo: '/data/data/com.whatsapp/shared_prefs/'.
Dosiera enhavo fragmento
<?xml version="1.0" encoding="ISO-8859-1"?> … <string name="ph">9123456789</string> (номер телефона, ассоциированный с аккаунтом WhatsApp) … <string name="version">2.17.395</string> (версия WhatsApp) … <string name="my_current_status">Hey there! I am using WhatsApp.</string> (сообщение, отображаемое в статусе аккаунта) … <string name="push_name">Alex</string> (имя владельца аккаунта) …
- dosiero 'registration.RegisterPhone.xml'. Enhavas informojn pri la telefonnumero asociita kun la WhatsApp-konto. La dosiero situas laŭ la vojo: '/data/data/com.whatsapp/shared_prefs/'.
Dosiera enhavo
<?xml version="1.0" encoding="ISO-8859-1"?> <map> <string name="com.whatsapp.registration.RegisterPhone.phone_number">9123456789</string> <int name="com.whatsapp.registration.RegisterPhone.verification_state" value="0"/> <int name="com.whatsapp.registration.RegisterPhone.country_code_position" value="-1"/> <string name="com.whatsapp.registration.RegisterPhone.input_phone_number">912 345-67-89</string> <int name="com.whatsapp.registration.RegisterPhone.phone_number_position" value="10"/> <string name="com.whatsapp.registration.RegisterPhone.input_country_code">7</string> <string name="com.whatsapp.registration.RegisterPhone.country_code">7</string> </map>
- dosiero 'axolotl.db'. Enhavas kriptografajn ŝlosilojn kaj aliajn datumojn, kiuj estas necesaj por identigi la posedanton de la konto. Situante laŭ la vojo: '/data/data/com.whatsapp/databases/'.
- dosiero 'chatsettings.db'. Enhavas aplikaĵajn agordajn informojn.
- dosiero 'wa.db'. Enhavas kontaktajn detalojn. Tre interesa (de jura aspekto) kaj informa datumbazo. Ĝi povas enhavi detalajn informojn pri forigitaj kontaktoj.
Vi ankaŭ devas atenti la jenajn dosierujojn:
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Enhavas transdonitajn grafikajn dosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Voice Notes/'. Enhavas voĉmesaĝojn en .OPUS-formataj dosieroj.
- Gvidlibro '/data/data/com.whatsapp/cache/Profile Pictures/'. Enhavas grafikajn dosierojn - bildojn de kontaktoj.
- Gvidlibro '/data/data/com.whatsapp/files/Avatars/'. Enhavas grafikajn dosierojn - bildetojn de kontaktoj. Ĉi tiuj dosieroj havas etendon '.j' sed tamen estas bilddosieroj JPEG (JPG).
- Gvidlibro '/data/data/com.whatsapp/files/Avatars/'. Enhavas grafikajn dosierojn - bildon kaj bildeton de la bildo agordita kiel avataro de la posedanto de la konto.
- Gvidlibro '/data/data/com.whatsapp/files/Logs/'. Enhavas la programoperaciajn protokolojn (dosiero 'whatsapp.log') kaj rezervajn kopiojn de programoperaciaj protokoloj (dosieroj kun nomoj en la formato whatsapp-yyyy-mm-dd.1.log.gz).
WhatsApp-Protokolo-Dosieroj:
Fragmento de ĵurnalo2017-01-10 09:37:09.757 LL_I D [524:WhatsApp Worker #1] missedcallnotification/init count:0 timestamp:0
2017-01-10 09:37:09.758 LL_I D [524:WhatsApp Worker #1] missedcallnotigo/ĝisdatigo nuligi vera
2017-01-10 09:37:09.768 LL_I D [1:ĉefa] app-init/load-me
2017-01-10 09:37:09.772 LL_I D [1:ĉefa] pasvorta dosiero mankas aŭ nelegebla
2017-01-10 09:37:09.782 LL_I D [1:main] statistiko Tekstaj Mesaĝoj: 59 senditaj, 82 ricevitaj / Amaskomunikilaraj Mesaĝoj: 1 sendita (0 bajtoj), 0 ricevitaj (9850158 bajtoj) / Senkonektaj Mesaĝoj: 81 ricevitaj ( 19522 msec averaĝa prokrasto) / Mesaĝo-Servo: 116075 bajtoj senditaj, 211729 bajtoj ricevitaj / Voip-vokoj: 1 elirantaj vokoj, 0 envenantaj vokoj, 2492 bajtoj senditaj, 1530 bajtoj ricevitaj / Google Drive: 0 bajtoj senditaj, 0 bajtoj ricevitaj / Roaming: 1524. bajtoj senditaj, 1826 bajtoj ricevitaj / Totalaj Datumoj: 118567 bajtoj senditaj, 10063417 bajtoj ricevitaj
2017-01-10 09:37:09.785 LL_I D [1:ĉefa] media-state-manager/refresh-media-state/writable-media
2017-01-10 09:37:09.806 LL_I D [1:ĉefa] app-init/initialize/timer/stop: 24
2017-01-10 09:37:09.811 LL_I D [1:main] msgstore/checkhealth
2017-01-10 09:37:09.817 LL_I D [1:main] msgstore/checkhealth/journal/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkhealth/back/delete false
2017-01-10 09:37:09.818 LL_I D [1:main] msgstore/checkdb/data/data/com.whatsapp/databases/msgstore.db
2017-01-10 09:37:09.819 LL_I D [1:ĉefa] msgstore/checkdb/list _jobqueue-WhatsAppJobManager 16384 drw=011
2017-01-10 09:37:09.820 LL_I D [1:ĉefa] msgstore/checkdb/list _jobqueue-WhatsAppJobManager-journal 21032 drw=011
2017-01-10 09:37:09.820 LL_I D [1:main] msgstore/checkdb/list axolotl.db 184320 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-wal 436752 drw=011
2017-01-10 09:37:09.821 LL_I D [1:main] msgstore/checkdb/list axolotl.db-shm 32768 drw=011
2017-01-10 09:37:09.822 LL_I D [1:main] msgstore/checkdb/list msgstore.db 540672 drw=011
2017-01-10 09:37:09.823 LL_I D [1:main] msgstore/checkdb/list msgstore.db-wal 0 drw=011
2017-01-10 09:37:09.823 LL_I D [1:ĉefa] msgstore/checkdb/list msgstore.db-shm 32768 drw=011
2017-01-10 09:37:09.824 LL_I D [1:main] msgstore/checkdb/list wa.db 69632 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-wal 428512 drw=011
2017-01-10 09:37:09.825 LL_I D [1:main] msgstore/checkdb/list wa.db-shm 32768 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db 4096 drw=011
2017-01-10 09:37:09.826 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-wal 70072 drw=011
2017-01-10 09:37:09.827 LL_I D [1:main] msgstore/checkdb/list chatsettings.db-shm 32768 drw=011
2017-01-10 09:37:09.838 LL_I D [1:main] msgstore/checkdb/version 1
2017-01-10 09:37:09.839 LL_I D [1:main] msgstore/canquery
2017-01-10 09:37:09.846 LL_I D [1:main] msgstore/canquery/count 1
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery/timer/stop: 8
2017-01-10 09:37:09.847 LL_I D [1:main] msgstore/canquery 517 | tempo elspezita:8
2017-01-10 09:37:09.848 LL_I D [529:WhatsApp Worker #3] amaskomunikilaro-ŝtata-administranto/refresh-media-state/interna-stokado disponebla:1,345,622,016 totalo:5,687,922,688
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Audio/'. Enhavas la ricevitajn sondosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Audio/Sent/'. Enhavas senditajn sondosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Images/'. Enhavas la rezultajn grafikajn dosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Images/Sent/'. Enhavas senditajn grafikajn dosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Video/'. Enhavas ricevitajn videodosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Video/Sent/'. Enhavas senditajn videodosierojn.
- Gvidlibro '/data/media/0/WhatsApp/Media/WhatsApp Profile Photos/'. Enhavas grafikajn dosierojn asociitajn kun la posedanto de la WhatsApp-konto.
- Por ŝpari memorspacon sur via Android-poŝtelefono, iuj WhatsApp-datumoj povas esti konservitaj sur SD-karto. Sur la SDa karto, en la radika dosierujo, estas dosierujo 'WhatsApp', kie la sekvaj artefaktoj de ĉi tiu programo troveblas:
- Gvidlibro '.Kunhavigi' ('/mnt/sdcard/WhatsApp/.Share/'). Enhavas kopiojn de dosieroj kiuj estis dividitaj kun aliaj WhatsApp-uzantoj.
- Gvidlibro '.rubo' ('/mnt/sdcard/WhatsApp/.trash/'). Enhavas forigitajn dosierojn.
- Gvidlibro 'datumbazoj' ('/mnt/sdcard/WhatsApp/Databases/'). Enhavas ĉifritajn sekurkopiojn. Ili povas esti deĉifritaj se la dosiero ĉeestas 'ŝlosilo', ĉerpita el la memoro de la analizita aparato.
Dosieroj lokitaj en subdosierujo 'datumbazoj':
- Gvidlibro 'Duono' ('/mnt/sdcard/WhatsApp/Media/'). Enhavas subdosierujojn 'Muropapero', 'WhatsApp Audio', 'WhatsApp Bildoj', 'WhatsApp Profilaj Fotoj', 'Vidbendo de WhatsApp', 'Voĉaj Notoj de WhatsApp', kiuj enhavas ricevitajn kaj transdonitajn plurmediajn dosierojn (grafikaj dosieroj, videodosieroj, voĉaj mesaĝoj, fotoj asociitaj kun la profilo de la posedanto de WhatsApp-konto, tapetoj).
- Gvidlibro "Profilbildoj" ('/mnt/sdcard/WhatsApp/Profilo-Bildoj/'). Enhavas grafikajn dosierojn asociitajn kun la profilo de la posedanto de la konto de WhatsApp.
- Kelkfoje povas esti dosierujo ĉe la SD-karto 'dosieroj' ('/mnt/sdcard/WhatsApp/Files/'). Ĉi tiu dosierujo enhavas dosierojn, kiuj konservas programajn agordojn kaj uzantpreferojn.
Trajtoj de datumstokado en iuj modeloj de porteblaj aparatoj
Iuj modeloj de porteblaj aparatoj kun Android OS povas stoki WhatsApp-artefaktojn en malsama loko. Ĉi tio estas pro ŝanĝoj en la konserva spaco de aplikaj datumoj per la sistema programaro de la movebla aparato. Ekzemple, Xiaomi porteblaj aparatoj havas funkcion por krei duan laborspacon ("DuaSpaco"). Kiam ĉi tiu funkcio estas aktivigita, la loko de la datumoj ŝanĝiĝas. Do, se en regula poŝtelefono funkcianta Android OS uzant datumoj estas stokitaj en la dosierujo '/data/user/0/' (kiu estas referenco al la kutima '/data/data/'), tiam en la dua laborspaco aplikaj datumoj estas konservitaj en la dosierujo '/data/user/10/'. Tio estas, uzante la ekzemplon de la dosierloko 'wa.db':
- en regula inteligenta telefono kun Android OS: /data/user/0/com.whatsapp/databases/wa.db' (kio estas ekvivalenta '/data/data/com.whatsapp/databases/wa.db');
- en la dua laborspaco de la smartphone Xiaomi: '/data/user/10/com.whatsapp/databases/wa.db'.
WhatsApp-artefaktoj en iOS-aparato
Male al Android OS, en iOS WhatsApp-aplikaĵo datumoj estas translokigitaj al rezerva kopio (iTunes-sekurkopio). Sekve, ĉerpi datumojn de ĉi tiu aplikaĵo ne postulas ĉerpi la dosiersistemon aŭ krei fizikan memortrupon de la aparato enketa. Plejparto de la koncernaj informoj estas enhavitaj en la datumbazo 'ChatStorage.sqlite', kiu situas laŭ la vojo: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/' (en iuj programoj ĉi tiu vojo aperas kiel 'AppDomainGroup-group.net.whatsapp.WhatsApp.shared').
strukturo 'ChatStorage.sqlite':
La plej informaj tabeloj en la datumbazo 'ChatStorage.sqlite' estas 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.
Tablo aspekto 'ZWAMESSAGE':
Strukturo de tabelo 'ZWAMESSAGE'
Kampa nomo | valoro |
---|---|
Z_PK | rekorda sinsekvo (en SQL-tabelo) |
Z_ENT | tabelidentigilo, havas la valoron '9' |
Z_OPT | nekonata, kutime enhavas valorojn de '1' ĝis '6' |
ZINFANOJMESAĜOJLIVERTIS COUNT | nekonata, kutime enhavas la valoron '0' |
ZINFANOJMESAĜOJN LUDU | nekonata, kutime enhavas la valoron '0' |
ZINFANOJMESAĜOJLEGANTO | nekonata, kutime enhavas la valoron '0' |
ZDATAITEMVERSION | nekonata, kutime enhavas la valoron '3', verŝajne tekstmesaĝo indikilo |
ZDOCID | estas nekonata |
ZENCRETRYCOUNT | nekonata, kutime enhavas la valoron '0' |
ZFILTRIREDRECIPENTENTCOUNT | nekonata, kutime enhavas la valorojn '0', '2', '256' |
ZISFROMME | direkto de mesaĝo: '0' - alvenanta, '1' - eksiĝinta |
ZMESSAGEERRORSTATUS | stato de sendo de mesaĝo. Se la mesaĝo estas sendita/ricevita, tiam ĝi havas la valoron '0' |
ZMESSAGETYPE | speco de mesaĝo estanta transdonita |
ZSORT | estas nekonata |
ZSPOTLIGHSTATUS | estas nekonata |
ZSTARRED | nekonata, ne uzata |
ZĈATSSESIO | estas nekonata |
ZGRUPOMEMBRO | nekonata, ne uzata |
ZLASTSESSION | estas nekonata |
ZMEDIAITEM | estas nekonata |
ZMESSAGEINFO | estas nekonata |
ZPARENTMESAĜO | nekonata, ne uzata |
ZMESSAGEDATE | tempomarko en OS X Epoch Time formato |
ZSENTDATE | tempo kiam la mesaĝo estis sendita en OS X Epoch Time formato |
ZFROMJID | WhatsApp Sender ID |
ZMEDIASECTIONID | enhavas la jaron kaj monaton, kiam la amaskomunikila dosiero estis sendita |
ZPHASH | nekonata, ne uzata |
ZPUSHPAME | nomo de la kontakto kiu sendis la amaskomunikilaron en formato UTF-8 |
ZSTANZID | unika mesaĝo-identigilo |
ZTEKSTO | Mesaĝa teksto |
ZTOJID | WhatsApp-ID de la ricevanto |
OFFSET | antaŭjuĝo |
Tablo aspekto 'ZWAMEDIAITEM':
Strukturo de tabelo 'ZWAMEDIAITEM'
Kampa nomo | valoro |
---|---|
Z_PK | rekorda sinsekvo (en SQL-tabelo) |
Z_ENT | tabelidentigilo, havas la valoron '8' |
Z_OPT | nekonata, kutime enhavas valorojn de '1' ĝis '3'. |
ZNUBOSTATO | enhavas la valoron '4' se la dosiero estas ŝargita. |
ZFILESIZE | enhavas la dosierlongon (en bajtoj) por elŝutitaj dosieroj |
ZMEDIAORIGINO | nekonata, kutime havas la valoron '0' |
ZMOVIEDURADO | daŭro de la amaskomunikila dosiero, por pdf-dosieroj povas enhavi la nombron da paĝoj de la dokumento |
ZMESAĜO | enhavas serian numeron (la nombro diferencas de tiu indikita en la kolumno 'Z_PK') |
ZASPEKTRACIO | bildformato, ne uzata, kutime agordita al '0' |
ZUZAKURECO | nekonata, kutime havas la valoron '0' |
ZLATTITUDE | larĝo en pikseloj |
ZLONGITUDO | alteco en pikseloj |
ZMEDIAURLDATE | tempomarko en OS X Epoch Time formato |
ZAUTHORNAME | aŭtoro (por dokumentoj, povas enhavi la dosiernomon) |
ZCOLLECTIONNAME | ne uzata |
ZMEDIALOCALPATH | dosiernomo (inkluzive de vojo) en la aparata dosiersistemo |
ZMEDIAURL | La URL kie la amaskomunikila dosiero troviĝis. Se dosiero estis transdonita de unu abonanto al alia, ĝi estis ĉifrita kaj ĝia etendo estos indikita kiel la etendo de la transdonita dosiero - .enc |
ZTHUMBNAILLOCALPATH | vojo al la dosierbildeto en la aparata dosiersistemo |
ZTITOLO | dosierkapo |
ZVCARDNAME | hash de la amaskomunikila dosiero; dum transdono de la dosiero al grupo, ĝi povas enhavi la sendindentigilon |
ZVCARDSTRING | enhavas informojn pri la speco de dosiero estanta transdonita (ekzemple, bildo/jpeg); dum transdono de dosiero al grupo, ĝi povas enhavi la identigilon de la ricevanto |
ZXMPPTHUMBPATH | vojo al la dosierbildeto en la aparata dosiersistemo |
ZMEDIAKEY | nekonata, verŝajne enhavas la ŝlosilon por deĉifri la ĉifritan dosieron. |
ZMETADATO | metadatenoj de la elsendita mesaĝo |
Kompenso | antaŭjuĝo |
Aliaj interesaj datumbazaj tabeloj 'ChatStorage.sqlite' estas:
- 'ZWAPROFILEPUSHNAME'. Kongruas WhatsApp-ID kun kontaktonomo;
- 'ZWAPROFILEPICTUREITEM'. Kongruas WhatsApp-ID kun kontakta avataro;
- 'Z_PRIMARYKEY'. La tabelo enhavas ĝeneralajn informojn pri ĉi tiu datumbazo, kiel la totala nombro da mesaĝoj konservitaj, la totala nombro da babilejoj ktp.
Ankaŭ, ekzamenante WhatsApp sur poŝtelefono, kiu funkcias iOS, vi devas atenti la jenajn dosierojn:
- dosiero 'BackedUpKeyValue.sqlite'. Enhavas kriptografajn ŝlosilojn kaj aliajn datumojn, kiuj estas necesaj por identigi la posedanton de la konto. Situante laŭ la vojo: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- dosiero 'ContactsV2.sqlite'. Enhavas informojn pri la kontaktoj de la uzanto, kiel plena nomo, telefonnumero, kontaktostatuso (en tekstformo), WhatsApp ID, ktp. Situante laŭ la vojo: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- dosiero 'konsumanta_versio'. Enhavas la versinumeron de la instalita WhatsApp-apliko. Situante laŭ la vojo: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/.
- dosiero 'kurenta_wallpaper.jpg'. Enhavas la aktualan fonan tapeton de WhatsApp. Situante laŭ la vojo: /private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/. Pli malnovaj versioj de la aplikaĵo uzas la dosieron 'murtapeto', kiu situas laŭ la vojo: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'.
- dosiero 'blockedcontacts.dat'. Enhavas informojn pri blokitaj kontaktoj. Situante laŭ la vojo: /private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/.
- dosiero 'pw.dat'. Enhavas ĉifritan pasvorton. Situante laŭ la vojo: '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/'.
- dosiero 'net.whatsapp.WhatsApp.plist' (aŭ dosiero 'group.net.whatsapp.WhatsApp.shared.plist'). Enhavas informojn pri via WhatsApp-kontoprofilo. La dosiero situas laŭ la vojo: '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Library/Preferences/'.
Enhavo de la dosiero 'group.net.whatsapp.WhatsApp.shared.plist'
Vi ankaŭ devas atenti la jenajn dosierujojn:
- Gvidlibro '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Media/Profile/'. Enhavas bildetojn de kontaktoj, grupoj (dosieroj kun la etendaĵo .dikfingro), kontaktu avatarojn, avataro de posedanto de konto WhatsApp (dosiero 'Foto.jpg').
- Gvidlibro '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/Message/Media/'. Enhavas plurmediajn dosierojn kaj iliajn bildetojn
- Gvidlibro '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/'. Enhavas la programoperacia protokolo (dosiero 'vokoj.log') kaj rezervaj kopioj de programaj operaciaj protokoloj (dosiero 'calls.backup.log').
- Gvidlibro '/private/var/mobile/Applications/group.net.whatsapp.WhatsApp.shared/stickers/'. Enhavas glumarkojn (dosieroj en la formato '.webp').
- Gvidlibro '/private/var/mobile/Applications/net.whatsapp.WhatsApp/Library/Logs/'. Enhavas programoperaciajn protokolojn.
WhatsApp-artefaktoj en Vindozo
WhatsApp-artefaktoj en Vindozo troveblas en pluraj lokoj. Antaŭ ĉio, ĉi tiuj estas dosierujoj enhavantaj ruleblajn kaj helpajn programdosierojn (por Vindozo 8/10):
- 'C:Programdosieroj (x86)WhatsApp'
- 'C:Uzantoj%Uzantprofilo% AppDataLocalWhatsApp'
- 'C:Uzantoj%Uzantprofilo% AppDataLocalVirtualStore Programdosieroj (x86)WhatsApp'
En katalogo 'C:Uzantoj%Uzantprofilo% AppDataLocalWhatsApp' la protokoldosiero troviĝas 'SquirrelSetup.log', kiu enhavas informojn pri kontrolado de ĝisdatigoj kaj instalo de la programo.
En katalogo 'C:Uzantoj%Uzantprofilo% AppDataRoamingWhatsApp' Estas pluraj subdosierujoj:
dosiero 'main-process.log' enhavas informojn pri la funkciado de la programo WhatsApp.
Subdosierujo 'datumbazoj' enhavas dosieron 'Databases.db', sed ĉi tiu dosiero ne enhavas ajnajn informojn pri babilejoj aŭ kontaktoj.
La plej interesaj el krimmedicina vidpunkto estas la dosieroj situantaj en la dosierujo 'Kaŝaĵo'. Ĉi tiuj esence estas dosieroj nomitaj 'f___*******' (kie * estas nombro de 0 ĝis 9) enhavanta ĉifritajn plurmediajn dosierojn kaj dokumentojn, sed estas ankaŭ neĉifritaj dosieroj inter ili. Aparte interesaj estas la dosieroj 'datumoj_0', 'datumoj_1', 'datumoj_2', 'datumoj_3', situanta en la sama subdosierujo. Dosieroj 'datumoj_0', 'datumoj_1', 'datumoj_3' enhavas eksterajn ligilojn al transdonitaj ĉifritaj plurmediaj dosieroj kaj dokumentoj.
Ekzemplo de informoj enhavita en dosiero 'data_1'
Ankaŭ dosiero 'datumoj_3' povas enhavi grafikajn dosierojn.
dosiero 'datumoj_2' enhavas kontaktajn avatarojn (povas esti restarigitaj per serĉado per dosierkapoj).
Avataroj enhavitaj en la dosiero 'datumoj_2':
Tiel, la babilejoj mem ne troveblas en la memoro de la komputilo, sed vi povas trovi:
- plurmediaj dosieroj;
- dokumentoj transdonitaj per WhatsApp;
- informojn pri la kontaktoj de la posedanto de la konto.
WhatsApp-artefaktoj en MacOS
En MacOS vi povas trovi specojn de WhatsApp-artefaktoj similaj al tiuj trovitaj en Vindoza OS.
La programdosieroj troviĝas en la sekvaj dosierujoj:
- 'C:AplikojWhatsApp.app'
- 'C:Aplikoj._WhatsApp.app'
- 'C:Uzantoj%Uzantprofilo%LibraryPreferences'
- 'C:Uzantoj%Uzantprofilo%LibraryLogsWhatsApp'
- 'C:Users%User profile%LibrarySaved Aplikaĵo StateWhatsApp.savedState'
- 'C:Uzantoj%Uzantprofilo%LibraryApplication Skriptoj'
- 'C:Uzantoj%Uzantprofilo%LibraryApplication SupportCloudDocs'
- 'C:Uzantoj%Uzantprofilo%LibraryApplication SupportWhatsApp.ShipIt'
- 'C:Uzantoj%Uzantprofilo%LibraryContainerscom.rockysandstudio.app-for-whatsapp'
- 'C:Uzantoj%Uzantprofilo% Biblioteko Poŝtelefonaj Dokumentoj <teksta variablo> WhatsApp-Kontoj'
Ĉi tiu dosierujo enhavas subdosierujojn, kies nomoj estas telefonnumeroj asociitaj kun la posedanto de la WhatsApp-konto. - 'C:Uzantoj%Uzantprofilo%LibraryCachesWhatsApp.ShipIt'
Ĉi tiu dosierujo enhavas informojn pri instalo de la programo. - 'C:Uzantoj%Uzantprofilo%PicturesiPhoto Library.photolibraryMasters', 'C:Users%User profile%PicturesiPhoto Library.photolibraryThumbnails'
Ĉi tiuj dosierujoj enhavas servodosierojn de la programo, inkluzive de fotoj kaj bildetoj de WhatsApp-kontaktoj. - 'C:Uzantoj%Uzantprofilo%LibraryCachesWhatsApp'
Ĉi tiu dosierujo enhavas plurajn SQLite-datumbazojn, kiuj estas uzataj por datuma kaŝmemoro. - 'C:Uzantoj%Uzantprofilo%LibraryApplication SupportWhatsApp'
Ĉi tiu dosierujo enhavas plurajn subdosierujojn:
En katalogo 'C:Uzantoj%Uzantprofilo%LibraryApplication SupportWhatsAppCache' estas dosieroj 'datumoj_0', 'datumoj_1', 'datumoj_2', 'datumoj_3' kaj dosieroj kun nomoj 'f___*******' (kie * estas nombro de 0 ĝis 9). Por informoj pri kiaj informoj enhavas ĉi tiuj dosieroj, vidu WhatsApp Artefaktoj en Vindozo.En katalogo 'C:Uzantoj%Uzantprofilo%LibraryApplication SupportWhatsAppIndexedDB' povas enhavi plurmediajn dosierojn (dosieroj ne havas etendaĵojn).
dosiero 'main-process.log' enhavas informojn pri la funkciado de la programo WhatsApp.
Fontoj
- Krimmedicina analizo de WhatsApp Messenger sur Android-poŝtelefonoj, de Cosimo Anglano, 2014.
- Whatsapp Forensics: Eksploras sistemon kaj bazajn datumojn pri aplikaĵo Android kaj iOS de Ahmad Pratama, 2014.
En la sekvaj artikoloj en ĉi tiu serio:
Malĉifrado de ĉifritaj WhatsApp-datumbazojArtikolo kiu provizos informojn pri kiel la WhatsApp-ĉifrada ŝlosilo estas generita kaj praktikaj ekzemploj montrantaj kiel malĉifri la ĉifritajn datumbazojn de ĉi tiu aplikaĵo.
Ĉerpi WhatsApp-datumojn el nuba stokadoArtikolo en kiu ni rakontos al vi, kiajn datumojn de WhatsApp estas konservitaj en la nuboj kaj priskribos metodojn por preni ĉi tiujn datumojn el nubaj stokejoj.
Eltiro de datumoj de WhatsApp: Praktikaj EkzemplojArtikolo, kiu priskribos paŝon post paŝo, kiajn programojn kaj kiel ĉerpi WhatsApp-datumojn de diversaj aparatoj.
fonto: www.habr.com