0Pricing
Cyber Security Academy · Lekcja

Pozyskiwanie i analiza danych z Androida

Pozyskiwanie i analizowanie danych z Androida

Pozyskiwanie i analiza danych z Androida to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Architektura pamięci Androida

Aby skutecznie pozyskiwać dane z Androida, trzeba wiedzieć, gdzie się znajdują.

  • /data/data/<package>/ — piaskownica każdej aplikacji: bazy danych, shared_prefs, pliki i pamięć podręczna.
  • /data/media/0/ — pamięć użytkownika (zdjęcia, pobrane pliki).
  • /data/system/ — konta, ustawienia blokady i statystyki użycia.

Większość śladów aplikacji znajduje się w bazach danych SQLite i plikach preferencji XML wewnątrz piaskownicy aplikacji, do której nie można uzyskać dostępu bez roota lub mechanizmu tworzenia kopii zapasowej.

ADB i wymagania wstępne debugowania

Android Debug Bridge (ADB) jest podstawowym kanałem logicznego pozyskiwania danych. Wymaga włączenia debugowania USB oraz autoryzowania klucza hosta.

  • Bez włączonego debugowania i odblokowanego ekranu dostęp przez ADB jest zablokowany.
  • Sam monit o autoryzację zmienia stan urządzenia — należy to udokumentować.

Najpierw zweryfikuj połączenie i zarejestruj właściwości urządzenia:

adb devices -l
adb shell getprop ro.build.version.release   # Android version
adb shell getprop ro.product.model           # Device model
adb shell getprop ro.crypto.state            # encrypted / unencrypted

Logiczne pozyskiwanie danych za pomocą kopii ADB

adb backup tworzy archiwum .ab z danymi aplikacji, umożliwiające wykonanie kopii zapasowej. Jest to metoda niewymagająca roota i szeroko dostępna, ale ograniczona: wiele aplikacji ustawia allowBackup=false.

  • Pobiera dane aplikacji, pliki APK (z opcją -apk) oraz pamięć współdzieloną.
  • Pomija aplikacje, które rezygnują z tworzenia kopii zapasowych, oraz usunięte rekordy.

Utwórz i przekonwertuj kopię zapasową do analizy:

# Create a full backup (user must confirm on device)
adb backup -apk -shared -all -f android_backup.ab

# Convert the .ab to a readable tar (android-backup-extractor)
java -jar abe.jar unpack android_backup.ab android_backup.tar
tar -xvf android_backup.tar

Ekstrakcja systemu plików

Ekstrakcja systemu plików kopiuje drzewo katalogów, w tym piaskownice aplikacji oraz pliki dziennika SQLite WAL/SHM zawierające niezsynchronizowane rekordy.

  • Wymaga root, agenta informatyki śledczej albo metody wykorzystującej exploit lub bootloader.
  • Zachowuje pliki -wal i -shm — mają one kluczowe znaczenie, ponieważ najnowsze wiersze mogą znajdować się wyłącznie w nich.

Podczas pobierania baz danych SQLite należy zawsze pobierać także powiązane pliki dziennika:

adb pull /data/data/com.whatsapp/databases/msgstore.db ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-wal ./out/
adb pull /data/data/com.whatsapp/databases/msgstore.db-shm ./out/

Realne możliwości pozyskiwania fizycznego

Obraz fizyczny jest kopią bit po bicie pamięci NAND, w tym nieprzydzielonej przestrzeni, w której mogą zachować się usunięte dane. Na współczesnym Androidzie jest najtrudniejszy do uzyskania.

  • Szyfrowanie FBE oznacza, że surowy zrzut NAND jest szyfrogramem bez klucza użytkownika.
  • Metody obejmują exploity producenta, tryby EDL/bootloader lub chip-off (ostateczność, metoda destrukcyjna).
  • W praktyce ekstrakcja systemu plików w stanie AFU często dostarcza więcej użytecznych danych niż zaszyfrowany obraz fizyczny.

Metodę fizyczną należy wybrać tylko wtedy, gdy jest uzasadniona, a odszyfrowanie możliwe.

SQLite: sedno dowodów z Androida

Większość artefaktów Androida stanowią bazy danych SQLite. Analitycy odpytują je bezpośrednio, aby odzyskać wiadomości, rejestry połączeń i znaczniki czasu.

  • Należy otwierać je w trybie tylko do odczytu, aby uniknąć modyfikowania pliku dowodowego.
  • Znaczniki czasu są często wyrażone jako milisekundy epoki uniksowej.

Zbadaj bazę danych kontaktów z ekstrakcji:

sqlite3 -readonly contacts2.db
sqlite> .tables
sqlite> SELECT display_name, data1
   ...> FROM view_v_contacts LIMIT 20;

Odzyskiwanie usuniętych rekordów SQLite

Usunięcie wiersza w SQLite często jedynie oznacza miejsce strony jako wolne. Możliwe do odzyskania pozostałości znajdują się w:

  • Stronach freelist i nieprzydzielonych obszarach pliku .db.
  • Dzienniku -wal, który zachowuje wcześniejsze wersje wierszy sprzed punktu kontrolnego.

Narzędzia do carvingu odtwarzają te rekordy. Uruchom proces odzyskiwania dla bazy danych:

# Carve deleted rows from freelist + WAL
python3 sqlite_carver.py --db msgstore.db --wal msgstore.db-wal \
  --out recovered_messages.csv

# Cross-check live vs recovered counts in your notes

Oś czasu i dekodowanie znaczników czasu

Tworzenie osi czasu pozwala korelować zdarzenia między aplikacjami. Wyzwaniem jest wiele formatów znaczników czasu używanych przez Androida.

  • Epoka uniksowa (ms) — większość baz wiadomości.
  • Epoka uniksowa (s) — wiele dzienników systemowych.
  • Czas WebKit/Chrome — mikrosekundy od 1601 roku (historia przeglądarki).

Należy zawsze normalizować dane do UTC i odnotować strefę czasową urządzenia. Przykładowa konwersja w SQLite:

-- Convert epoch milliseconds to readable UTC
SELECT datetime(timestamp/1000, 'unixepoch') AS sent_utc,
       key_remote_jid, data
FROM messages
ORDER BY timestamp DESC LIMIT 25;

Kluczowe artefakty systemowe

Oprócz danych aplikacji artefakty systemowe Androida ujawniają zachowanie użytkownika i sposób korzystania z urządzenia.

  • usagestats — które aplikacje były uruchamiane i kiedy.
  • accounts.db / accounts_ce.db — powiązane konta Google i konta aplikacji.
  • net stats / netpolicy — zużycie danych przez poszczególne aplikacje.
  • Wi-Fi config (WifiConfigStore.xml) — znane sieci, przydatne w kontekście geolokalizacji.

Dane te potwierdzają lub podważają twierdzenia dotyczące tego, kto korzystał z urządzenia i kiedy.

Automatyczne parsowanie za pomocą ALEAPP

Ręczne parsowanie nie skaluje się. ALEAPP (Android Logs Events And Protobuf Parser) przetwarza ekstrakcję systemu plików i generuje ustrukturyzowany raport HTML/CSV.

  • Parsuje usagestats, ostatnią aktywność, powiadomienia, uprawnienia aplikacji i inne dane.
  • Należy użyć go do wstępnej analizy, a następnie ręcznie zweryfikować kluczowe ustalenia na podstawie surowych baz danych.

Należy uruchomić ALEAPP dla katalogu ekstrakcji:

python3 aleapp.py -t fs -i ./android_filesystem/ -o ./aleapp_report/
# Open ./aleapp_report/index.html to review parsed artifacts

Weryfikacja i zabezpieczenia przed manipulacją

Nigdy nie należy ufać pojedynczemu narzędziu. Należy zweryfikować automatyczne wyniki na podstawie danych źródłowych oraz porównać je z wynikami innych narzędzi.

  • Należy ponownie wykonać kluczowe zapytania ręcznie w sqlite3, aby potwierdzić wyniki parsera.
  • Należy zwracać uwagę na oznaki działań antyforensycznych: wyczyszczone logi, zmodyfikowane znaczniki czasu, aplikacje do bezpiecznego usuwania danych lub aplikacje czatowe z ustawieniami znikających wiadomości.
  • Należy potwierdzić, że hash obrazu jest taki sam przed analizą i po niej.

Powtarzalność i weryfikacja krzyżowa sprawiają, że ustalenia można obronić.

Szybki test

Pozyskują Państwo bazę danych SQLite aplikacji czatowej. Jakie pliki towarzyszące należy również zebrać, aby nie pominąć niedawno wysłanych wiadomości?

Podsumowanie: pozyskiwanie i analiza danych z Androida

Można już pozyskiwać i analizować dowody z Androida od początku do końca.

  • Dane aplikacji znajdują się w piaskownicach poszczególnych aplikacji jako bazy SQLite i preferencje XML.
  • ADB backup = łatwe pozyskanie logiczne; file-system extraction (root) zachowuje WAL; physical jest najtrudniejszą metodą w przypadku FBE.
  • Należy odzyskiwać usunięte rekordy ze stron freelist i WAL.
  • Należy normalizować znaczniki czasu do UTC oraz dekodować formaty epoki i WebKit.
  • Należy używać ALEAPP do wstępnej analizy, a następnie ręcznie weryfikować wyniki za pomocą sqlite3.
  • Należy zwracać uwagę na manipulacje antyforensyczne i ponownie sprawdzać hash obrazu.

Następnie: część dotycząca iOS.

Często zadawane pytania

Czy lekcja „Pozyskiwanie i analiza danych z Androida” jest bezpłatna?

Tak — pełny tekst „Pozyskiwanie i analiza danych z Androida” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pozyskiwanie i analiza danych z Androida”?

Pozyskiwanie i analizowanie danych z Androida Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Pozyskiwanie i analiza danych z Androida”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy informatyki śledczej urządzeń mobilnych
  2. Pozyskiwanie i analiza danych z Androida
  3. Pozyskiwanie i analiza danych z iOS
  4. Aplikacje, artefakty i raportowanie
← Powrót do Cyber Security Academy