Team Win Recovery Project

Aus IT-Forensik Wiki
TWRP Menu

Das Team Win Recovery Project (kurz TWRP) ist ein Open-Source-Project, welches sich herstellerunabhängiger Custom-Recovery-Systeme mit erweiterten Funktionen für Android-Geräte zur Verfügung stellt.


TWRP ersetzt das standard Recovery-System des Herstellers. Wenn man nach der erfolgreichen Installation des TWRP die Tastenkombinationen zum Starten des Recovery Mode drückt, erscheint nicht mehr das Hersteller-Menü, sondern das TWRP Menü. Im TWRP Menü bestehen zahlreiche Möglichkeiten, das System zu verändern, zu sichern oder sogar komplett auszutauschen.

Installation

Die Installation erfolgt über den sogenannten Download oder Fastboot Modus der Smartphones. Eine Vielzahl von Geräten der Marke Samsung können z.B. über das Drücken der Tastenkombination Power + Home + Volumn-Down Buttons in den Download-Modus versetzt werden. Die Voraussetzung für das flashen der Custom-Recovery muss die Installation von Fremdsoftware in den Einstellungen aktiviert werden (z.B. durch Deaktivierung der OEM-Sperrung).

Odin

Odin-Flash Tool

Eine einfache Möglichkeit einen TWRP aufzuspielen besteht mit dem freien Tool Odin. Hier muss einfach die .tar oder .zip-Datei (enthält die recovery.img-Datei) über die Schaltfläche ausgewählt und kann dann auf das angeschlossenen im Download-Modus Gerät aufgespielt werden. Das Custom-Recovery-Image wird somit in Recovery-Partition des Gerätes kopiert.

  • Odin starten und einrichten
  • Options
    • Auto Rebootund F.Reset Timeausschalten
    • AP–Einfügen des richtigen TWRPs
  • Samsung Gerät in den Download-Modus bringen
    • Bei Nachfrage Lautstärke-HochTastedrücken um in den Download-Modus zu kommen
  • Smartphone an den PC anschließen, ID:COMPort sollte erscheinen
  • Startdrücken und warten-Fertig, wenn Passer scheint

adb

adb flash recovery twrp.img

Details zu ADB (Android Debug Bridge)

fastboot

fastboot flash recovery twrp.img

Details zu Fastboot

Funktionen

Im Gegensatz zur Standard-Recovery bei Android Geräten verfügt ein TWRP über folgende erweiterten Funktionen:

  • Wipe
  • Backup
  • Advanced
  • Restore
  • Install

Details können dem TeamWin FAQ entnommen werden.

Aus forensischer Sicht ist besonders interessant, dass ein TWRP in den allermeisten Fällen mit dem Rooten des Gerätes einhergehen. Dies kann man sich zur physikalischen Sicherung von Android Geräten zu nutzen machen.

Sicherung im TWRP Recovery-System

Nachdem das Android Gerät gerootet ist, kann der gesamte physikalische Speicher oder einzelne Partitionen gesichert werden. Zur Sicherung können eine Vielzahl Unterschiedlicher Tools oder Methoden verwendet werden. An dieser Stellen werden exemplarisch drei gängige Varianten auf Linux-Systemen vorgestellt.

adb

Zwei Terminals öffnen(im Weiteren steht (1) und (2) für das jeweilige Terminal)

  • (1) Terminal für das Smartphone
  • (2) für den PC/HDD
  • (1) Android Debug Bridge starten
adb shell
  • (1) Alle gemounteten Geräte werden angezeigten den Pfad des Smartphones raussuchen; (Bsp.: /dev/block/sda oder /dev/block/mmcblk)
mount
  • (2) In das Zielverzeichnis wechseln (Bsp: cd /media/linux-whore/ufed-hdd/1234)
cd /media/RECHNERNAME/ZIELORDNER
  • (1) physikalisches Abbild erzeigen
adb pull /dev/block/mmcblk0 image.bin
  • Daten vom Smartphone werden in der Datei image.bin gespeichert
  • Es wird nur eine Datei erstellt, Größe variiert je nach verbautem Speicher
  • Wenn mit Enterbestätigt wurde beginnt der Ausleseprozess.

dd

Sollte adb nicht funktionieren, besteht die Möglichkeit das physikalische Abbildauf eine eingelegte MicroSD-Karte zu sichern.

  • formatierte MicroSD-Karte in das Gerät einlegen
  • Smartphone in den Recovery-Modus bringen
  • Advanced–Terminal-Mount
  • Alle gemounteten Geräte werden angezeigt
    • den Pfad des Smartphones raussuchen(Bsp.: /dev/block/sda oder /dev/block/mmcblk0)
    • den Pfad des externen Speichers raussuchen (Bsp.: /external_sdcard)
dd if=dev/block/sda of=/external_sdcard/test.bin
  • Daten vom internen Speicher werden in die Bin-Datei kopiert, welche auf dem externen Speicher erstellt wird

netcat

Am besten ist es zwei Konsolen zu öffnen, da wir in der einen Konsole uns mit dem Smartphone verbinden und in der anderen Konsole die zu übertragenden Daten sichern.

Konsole 1 (Smartphone) Fetter Text

Auf das Smartphone noch nicht zugreifen (keine Verbindung mittels "adb shell"), da zunächst ein Netzwerkport über die adb weitergeleitet werden muss:

adb forward tcp:8888 tcp:8888 

Dies wird benötigt, da netcat übers Netzwerk die Daten überträgt, wir aber keine Netzwerkverbindung nutzen sondern die interne Verbindung (USB).

Jetzt müssen wir uns mit der adb shell des Smartphones verbinden:

adb -d shell 

Das Identifizierte Devices wird jetzt gelesen und an netcat übertragen:

dd if=/dev/block/mmcblk0 | nc -l -p 8888 

In der Konsole ist jetzt keine Eingabe mehr nötig. Der Befehl wartet darauf, dass auf der Gegenseite die Daten verarbeitet werden.

Konsole 2 (Auswerterechner)

Hier werden jetzt die Daten verarbeitet:

nc 127.0.0.1 8888 | pv -petarb | dd of=./android_data.dd 

Mit "pv" wird nur der Status angezeigt. Ansonsten würde man nichts sehen und so werden zumindest übertragende Daten und die Geschwindigkeit angezeigt.

Weblinks

droidwiki - TeamWin_Recovery_Project
Wikipedia - Team_Win_Recovery_Project
www.xda-developers.com - TWRP
TeamWin