WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

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/'.

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
    Tablostrukturo

    Kampa 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:

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

  • 'mesaĝo_fts_enhavo'
    Enhavas la tekston de senditaj mesaĝoj.

    Tabla aspekto:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

  • '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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
    Tablostrukturo

    Kampa 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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

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:

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

  • 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':

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?

  • 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':

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
La plej informaj tabeloj en la datumbazo 'ChatStorage.sqlite' estas 'ZWAMESSAGE' и 'ZWAMEDIAITEM'.

Tablo aspekto 'ZWAMESSAGE':

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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':

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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' WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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'WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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':

WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
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:

    WhatsApp en la manplato: kie kaj kiel vi povas trovi krimmedicinajn artefaktojn?
    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

  1. Krimmedicina analizo de WhatsApp Messenger sur Android-poŝtelefonoj, de Cosimo Anglano, 2014.
  2. 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

Aldoni komenton