Team Win Recovery Project: Unterschied zwischen den Versionen

Aus IT-Forensik Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(44 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.<br/><br/>
[[Datei:TWRP.jpeg|mini|typische TWRP Oberfläche]]
TWRP ersetzt das originale Recovery System des Herstellers. Wenn du nach der erfolgreichen Installation von TWRP die Tastenkombinationen zum Starten des Recovery Mode drückst, siehst du nicht mehr das Hersteller-Menü, sondern das TWRP Menü. Im TWRP Menü hast du nun zahlreiche Möglichkeiten, dein System zu verändern, zu sichern oder sogar komplett auszutauschen.
 
Das '''Team Win Recovery Project''' (kurz '''TWRP''') ist ein Open-Source-Projekt, welches herstellerunabhängige Custom-Recovery-Systeme mit erweiterten Funktionen für Android-Geräte zur Verfügung stellt.
 
 
TWRP ersetzt das originale 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 ==
== 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).
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. Als 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).
<br/><br/>
Die Installations-Dateien für das jeweilige Android-Gerät findet man z.B. unter [https://www.xda-developers.com/how-to-install-twrp/ XDA] oder
[https://twrp.me/about/ TeamWin].
=== Odin ===
=== Odin ===
Eine einfache Möglichkeit einen TWRP aufzuspielen besteht mit dem freien Tool [https://odindownload.com/ 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.
[[Datei:Odin.PNG|mini|Odin-Flash Tool]]
Eine einfache Möglichkeit, einen TWRP aufzuspielen besteht mit dem freien Tool [https://odindownload.com/ Odin]. Hier muss die .tar oder .zip-Datei (enthält die recovery.img-Datei) über die Schaltfläche ''AP'' ausgewählt werden und kann dann auf das angeschlossene, im Download-Modus befindliche Gerät aufgespielt werden. Das Custom-Recovery-Image wird somit in Recovery-Partition des Gerätes kopiert.
 
* Odin starten und einrichten
* Options
** Auto Reboot und F.Reset Time ausschalten
** AP–Einfügen des richtigen TWRP
* Samsung Gerät in den Download-Modus bringen
** Bei Nachfrage Volumn-Up Taste drücken, um in den Download-Modus zu kommen
* Smartphone an den PC anschließen, ''ID:COMPort'' sollte erscheinen
* Start drücken und warten - Fertig, wenn "Pass" erscheint


=== adb ===
=== adb ===
  adb flash recovery twrp.img
  adb flash recovery twrp.img
Details zu [https://www.droidwiki.org/wiki/Android_Debug_Bridge ADB (Android Debug Bridge)]


=== fastboot ===
=== fastboot ===
  fastboot flash recovery twrp.img
  fastboot flash recovery twrp.img
Details zu [https://www.droidwiki.org/wiki/Fastboot_(Tool) Fastboot]


== Funktionen ==
== Funktionen ==
Im Gegensatz zur Standard-Recovery bei Android Geräten verfügt ein TWRP über folgende erweiterten Funktionen:
Im Gegensatz zur Standard-Recovery bei Android Geräten verfügt ein TWRP über folgende zusätzliche Funktionen:
* '''Wipe'''
* Wipe
* '''Backup'''
* Backup
* '''Advanced'''
* Advanced
* '''Restore'''
* Restore
* '''Install'''
* Install
Details können dem [https://twrp.me/FAQ/ TeamWin FAQ] entnommen werden.<br/>
Details können dem [https://twrp.me/FAQ/ TeamWin FAQ] entnommen werden.<br/><br/>
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.
Aus forensischer Sicht ist besonders interessant, dass ein TWRP in den allermeisten Fällen mit dem '''rooten des Gerätes''' einhergeht. Dies kann man sich zur physikalischen Sicherung von Android Geräten zunutze machen.


== Sicherung im TWRP Recovery-System ==
== Sicherung im TWRP Recovery-System ==
Nachdem das Android Gerät gerootet ist, kann 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.
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 Stelle werden exemplarisch drei gängige Varianten vorgestellt.


=== adb ===
=== adb ===
* Zwei Terminals öffnen(im Weiteren steht 1.) und 2.) für das jeweilige Terminal)
'''Linux'''
* 1.) Terminal für das Smartphone
<br/>
* 2.) für den PC/HDD
Zwei Terminals öffnen(im Weiteren stehen (1) und (2) für das jeweilige Terminal)
* 1.) Android Debug Bridge starten
* (1) Terminal für das Smartphone öffnen
* (2) Terminal für den PC/HDD öffnen
* (1) Android Debug Bridge starten
  adb shell
  adb shell
* 1.) Alle gemounteten Geräte werden angezeigten den Pfad des Smartphones raussuchen; (Bsp.: /dev/block/sda oder /dev/block/mmcblk)
* (1) Alle gemounteten Geräte werden angezeigt, den Pfad des Smartphones raussuchen; (''Bsp.: /dev/block/sda oder /dev/block/mmcblk'')
  mount
  mount
* 2.) In das Zielverzeichnis wechseln (Bsp: cd /media/linux-whore/ufed-hdd/1234)
* (2) In das Zielverzeichnis wechseln (''Bsp: cd /media/linux-whore/ufed-hdd/1234'')
  cd /media/RECHNERNAME/ZIELORDNER
  cd /media/RECHNERNAME/ZIELORDNER
* 1) physikalisches Abbild erzeigen  
* (1) physikalisches Abbild erzeigen  
  adb pull /dev/block/mmcblk0 image.bin
  adb pull /dev/block/mmcblk0 image.bin
* Daten vom Smartphone werden in der Datei image.bin gespeichert
* Daten vom Smartphone werden in der Datei image.bin gespeichert
* Es wird nur eine Datei erstellt, Größe variiert je nach verbautem Speicher
* Es wird nur eine Datei erstellt, Größe variiert je nach verbautem Speicher
* Wenn mit Enterbestätigt wurde beginnt der Ausleseprozess.
* Wenn mit Enter bestätigt wurde, beginnt der Ausleseprozess.
 
'''Windows'''
<br/>
Der adb pull Befehl funktioniert nicht für Partitionen unter Windows (Windows erkennt die Partition ohne Dateiendung nicht). Man kann allerdings aus dem Gerät heraus die Partition auf die Standardausgabe (Konsole) legen und von dort in eine Datei umleiten.
 
adb shell "dd if=/dev/block/ 2>/dev/null"
 
Beispiel:
 
adb shell "dd if=/dev/block/mmcblk0 2>/dev/null" c:\data\mmcblk0.bin


=== dd ===
=== dd ===
Sollte adb nicht funktionieren, besteht die Möglichkeit das physikalische Abbildauf eine eingelegte MicroSD-Karte zu sichern.
Sollte adb nicht funktionieren, besteht die Möglichkeit das physikalische Abbild auf eine eingelegte MicroSD-Karte zu sichern.
* formatierte MicroSD-Karte in das Gerät einlegen
* formatierte MicroSD-Karte in das Gerät einlegen
* Smartphone in den Recovery-Modus bringen
* Smartphone in den Recovery-Modus bringen
Zeile 50: Zeile 81:
** den Pfad des externen Speichers raussuchen (Bsp.: /external_sdcard)
** den Pfad des externen Speichers raussuchen (Bsp.: /external_sdcard)
  dd if=dev/block/sda of=/external_sdcard/test.bin
  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
* Daten des internen Speicher werden in die .bin-Datei kopiert, welche auf dem externen Speicher erstellt wird


=== netcat ===
=== 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.  
Am besten ist es zwei Konsolen zu öffnen, da man sich in der einen Konsole mit dem Smartphone verbindet und in der anderen Konsole die zu übertragenden Daten sichert.  


'''Konsole 1 (Smartphone)''' '''Fetter Text'''
'''Konsole 1 (Smartphone)'''


Auf das Smartphone noch nicht zugreifen (keine Verbindung mittels "adb shell"), da zunächst ein Netzwerkport über die adb weitergeleitet werden muss:  
Auf das Smartphone noch nicht zugreifen (keine Verbindung mittels "adb shell"), da zunächst ein Netzwerkport über die adb weitergeleitet werden muss:  
Zeile 61: Zeile 92:
Dies wird benötigt, da netcat übers Netzwerk die Daten überträgt, wir aber keine Netzwerkverbindung nutzen sondern die interne Verbindung (USB).  
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:  
Jetzt muss man mit der adb shell des Smartphones verbinden:  
  adb -d shell  
  adb -d shell  


Das Identifizierte Devices wird jetzt gelesen und an netcat übertragen:  
Das identifizierte Device wird jetzt gelesen und an netcat übertragen:  
  dd if=/dev/block/mmcblk0 | nc -l -p 8888  
  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.  
In der Konsole ist keine Eingabe mehr nötig. Der Befehl wartet darauf, dass auf der Gegenseite die Daten verarbeitet werden.  


'''Konsole 2 (Auswerterechner)'''  
'''Konsole 2 (Auswerterechner)'''  

Aktuelle Version vom 27. Juli 2021, 18:43 Uhr

typische TWRP Oberfläche

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


TWRP ersetzt das originale 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. Als 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).

Die Installations-Dateien für das jeweilige Android-Gerät findet man z.B. unter XDA oder TeamWin.

Odin

Odin-Flash Tool

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

  • Odin starten und einrichten
  • Options
    • Auto Reboot und F.Reset Time ausschalten
    • AP–Einfügen des richtigen TWRP
  • Samsung Gerät in den Download-Modus bringen
    • Bei Nachfrage Volumn-Up Taste drücken, um in den Download-Modus zu kommen
  • Smartphone an den PC anschließen, ID:COMPort sollte erscheinen
  • Start drücken und warten - Fertig, wenn "Pass" erscheint

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 zusätzliche 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 einhergeht. Dies kann man sich zur physikalischen Sicherung von Android Geräten zunutze 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 Stelle werden exemplarisch drei gängige Varianten vorgestellt.

adb

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

  • (1) Terminal für das Smartphone öffnen
  • (2) Terminal für den PC/HDD öffnen
  • (1) Android Debug Bridge starten
adb shell
  • (1) Alle gemounteten Geräte werden angezeigt, 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 Enter bestätigt wurde, beginnt der Ausleseprozess.

Windows
Der adb pull Befehl funktioniert nicht für Partitionen unter Windows (Windows erkennt die Partition ohne Dateiendung nicht). Man kann allerdings aus dem Gerät heraus die Partition auf die Standardausgabe (Konsole) legen und von dort in eine Datei umleiten.

adb shell "dd if=/dev/block/ 2>/dev/null"

Beispiel:

adb shell "dd if=/dev/block/mmcblk0 2>/dev/null" c:\data\mmcblk0.bin

dd

Sollte adb nicht funktionieren, besteht die Möglichkeit das physikalische Abbild auf 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 des 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 man sich in der einen Konsole mit dem Smartphone verbindet und in der anderen Konsole die zu übertragenden Daten sichert.

Konsole 1 (Smartphone)

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 muss man mit der adb shell des Smartphones verbinden:

adb -d shell 

Das identifizierte Device wird jetzt gelesen und an netcat übertragen:

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

In der Konsole ist 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