mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Config/Dongle SD-Card auslesen


Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Gerät bekommen, bei dem der License Key und die Config auf 
SD Card gespeichert ist. Die Karte ist hinter einer Gehäuseplatte, die 
man anschrauben muss, also für Benutzer eigentlich nicht zugänglich.
Neugierig wie ich war, hab ich die Karte mal in den PC Kartenleser 
eingelegt.
Auf dem PC sieht man nur eine readme.txt, die auslesbar ist. Dann noch 2 
Dateien, key.dat und config.dat.
Die key.dat und config.dat können nicht geöffnet werden, gibt eine 
Fehlermeldung, dass die Datei beschädigt sei.
In der readme steht drin, man soll zum auslesen und schreiben der Daten 
nur die Software nutzen (Name der Software steht nicht dabei), und man 
soll an der Karte keine direkten Änderungen vornehmen und keine Dateien 
drauf kopieren.
Das FAT16 ist übrigens nur 32 Mbyte groß obwohl die Karte 512 Mbyte hat. 
Der Rest der Karte ist ungenutzt. zumindest aus PC Sicht, per SPI Mode 
könnte man evtl an weitere Daten rankommen

Ich frage mich jetzt, wie die das gemacht haben, dass man die 2 Dateien 
mit dem PC nicht direkt öffnen kann.
Und ich frage mich, wie ich an die Daten ran komme.
Dachte an einen dump erstellen unter Linux und dann das Dumpfile mit Hex 
Editor öffnen. Könnte klappen, oder?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine der ekligeren Funktionen von SD-Karten ist im Namen versteckt: 
secure digital. Das ist eine (natürlich nicht frei zugänglich 
dokumentierte) Technik, Daten nicht kopier- und nicht auslesbar auf 
einer Karte zu speichern, um eben Software an eine Speicherkarte binden 
zu können o.ä.

Solange nicht jemand die Verschlüsselungstechnik der SD-Spezifikation 
knackt, hast Du da keine Chance.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab mal was über die Kiste in erfahrung gebracht, und die Spec des 
Original-Herstellers der Hardware gesucht.

Scheinbar läuft auf der Kiste ein Linux mit Kernel 2.6

Technische Daten laut Herstellerseite
http://www.axotec.de/produkte/facility-management/...

Angepasst wurde die darauf laufende Software durch ein lokales 
Ingenieurbüro.

Vielleicht kann ich ja direkt die auf der Kiste gespeicherte Software 
mal unter die Lupe nehmen.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So grad mal versucht, per Ethernet in das System einzudringen.

Telnet läuft nicht, die SSH Zugangsdaten habe ich leider nicht.

Irgendwer ne Idee, wie ich in die Kiste zwecks Softwareanalyse 
eindringen könnte?

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist das Image gespeichert?

EDIT: Grade gesehen, interner Flash. Kommst du an den dran zum Auslesen?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie booted denn das system? Kann man dem Bootloader parameter übergeben?

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Image ist in der Kiste selber gespeichert.
Sie bootet auch ohne die SD Karte, stellt dann aber keine GPRS 
Verbindung her. Die Ethernet IP ist dann fest auf 192.168.1.100. Auf dem 
Webinterface, an das man dann per Ethernet rankommt, erschent dann ne 
Fehlermeldung und die Kiste arbeitet nicht.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grade nochmal nachgedacht, ich glaube nicht dass das DRM der SD benutzt 
wird, wäre einfach zu exotisch.
Glaube eher an eine Frikellösung des lokalen Ing. Büros, sowas hat 
Tradition.

Würde einfach mal vermuten das die Daten im nicht partitionierten 
Bereich liegen. Also einfach mal ein Dump der ganzen Karte, nicht nur 
der Partition...

Du kannst dann ja mal testweise den Dump auf eine 2. Karte schreiben und 
sehen obs damit läuft, wenn ja ist DRM definitiv raus. Kann allerdings 
sein das noch der Kartenhersteller und/oder die Seriennummer abgefragt 
wird.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DRM wird meiner Meinung nach auch nicht benutzt.
Ich denke ehr, dass die Dateien einfach "ungültig" geschrieben werden, 
dass man sie mit nem normalen Texteditor nicht aufmachen kann.

Hab die Karte nochmal gecheckt, da scheint noch ne zweite Partition mit 
einem Dateisystem drauf zu sein, was Windows nicht lesen kann.
Entweder kann mein Kartenleser die zweite Partition nicht verarbeiten 
oder es ist einfach ein Linux-Filesystem.
Muss echt mal unter Linux gucken.


Zu brutal darf ich aber auch nicht an die Sache rangehen, sonst 
funktioniert die Kiste nachher nicht mehr. Und bevor ich sie für 
Bastelprojekte nutze wollte ich wenigstens mal gucken, was der Ing da 
veranstaltet hat. So rein aus Interesse.


mfg

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, die Kiste nochmal normal hochgefahren, und mal die Weboberfläche 
versucht. Das Passwort hab ich ja, weils auf dem Aufkleber drauf steht.

Auf der Weboberfläche gibts ne Funktion mit der man Shellbefehle 
absenden kann, und die Ausgabe kommt dann als HTML Seite.

Man hat aber keine Rootrechte, sondern man ist nur als "admin" drin.
Ich kann aber die ganzen Dateien mit Cat auslesen.

cat /etc/passwd  gibt mir folgendes für root:

root:$1$iLZPUcOt$qXifHZxKKW03n53gxjJsF1:0:0:Root 
User,,,:/tmp/root:/bin/sh

Könnte man damit vielleicht das Root Passwort rausfinden?

mfg

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, das ist nur der Passwort-Hashwert.

Autor: moe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Möglichkeit wäre, den Ethernet-Anschluss auf laufende Dienste
abzuklopfen. Vielleicht wurde ein für Dich nützlicher Dienst vergessen,
abzuschalten oder läuft auf einem ungewöhnlichen Port.
nmap -v -p1-65535 -A --version-all 192.168.1.100

Bootet der Rechner auch von SD-Karte/USB-Stick? Dann könntest Du ein
Winz-Linux wie z.B. http://www.minimalinux.org/ttylinux/ (auch für ARM)
benutzen.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich weiß, aber evtl gibts ja Programme, die so lange Passwörter 
durchprobieren bis der hash passt.

Naja, hab eben den Ingenieur angerufen und gefragt ob er kurz Zeit für 
mich hat. Hatte er.
Naja, hab ihm dann erklärt wie ich an das Gerät dran gekommen bin und 
dass ich es als Bastler für private Zwecke verwenden will.

Naja, das Root Passwort wollte er mir nicht geben. Er meinte er hätte 
aber ein Herz für Bastler und ich soll vorbeikommen.
Er bot mir an, mir die Kiste für nen sechser Bier mit einem Grundimage 
neu zu flashen und mir auch die Quellcodes auf CD dazu zu geben. Das 
Grundimage ist allerdings nur ein nacktes Linux, ohne die von ihm 
erstellten Scripts, Config-Files und ohne Webinterface. Also ohne das 
von ihm in das System eingebrachte Know-How.

Am liebsten wollte er mich heute Abend nach Feierabend noch einladen. 
Der hat wohl Angst, ich könnte das System hacken und sein KnowHow 
klauen.
Heute jetzt nicht, aber Ende der Woche werde ich mich mit Ihm treffen.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moe schrieb:
> Eine Möglichkeit wäre, den Ethernet-Anschluss auf laufende Dienste
> abzuklopfen. Vielleicht wurde ein für Dich nützlicher Dienst vergessen,
> abzuschalten oder läuft auf einem ungewöhnlichen Port.
> nmap -v -p1-65535 -A --version-all 192.168.1.100
>
> Bootet der Rechner auch von SD-Karte/USB-Stick? Dann könntest Du ein
> Winz-Linux wie z.B. http://www.minimalinux.org/ttylinux/ (auch für ARM)
> benutzen.

Das mit der SD Karte/USB werde ich mal testen. Das mit NMAP auch. Ich 
werde auch mal gucken, ob an der RS232 während des Bootvorgangs 
vielleicht was machbar ist oder irgendwelche Ausgaben kommen.

Hab ja noch ein paar Tage Zeit, bevor der Ing mir die Kiste mit dem 
Grundimage platt macht.

Autor: moe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab aus Interesse mal ein paar Minuten Rechenzeit spendiert, und 
siehe da: John (http://www.openwall.com/john/) hat das Root-Passwort in 
25 Minuten (!) rausgefunden. Denke mal, da jeder das mit dem Programm 
selber nachvollziehen kann, ist es ok, wenn ich es hier poste:
Loaded 1 password hash (FreeBSD MD5 [32/64 X2])
t3kn             (root)
guesses: 1  time: 0:00:24:47 (3)  c/s: 8611  trying: t3kn - t3k7

Über die Qualität des Passwortes sage ich jetzt mal nichts.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ich habe das System geknackt.

Die große Schwachstelle liegt im Webinterface selbst und den 
Dateirechten.
Man kann ja im Debug-Fenster Shell Befehle absenden.
An der SD Karte hat er schön rumgeknobelt, selbst USB ist dicht, aber im 
System selbst ist vieles zumindest auslesbar.

Da kann man sich schön im System umsehen und auch die ganze Arbeit des 
Ingenieurs mit CAT begutachten und über den Browser Datei für Datei 
abspeichern.

Das Geheimnis der SD Karte habe ich übrigens auch gelüftet.
Die SD Karte ist auf der FAT Partition nur Read Only gemountet, im 
Ordner MMC. Man kann also keine Daten aus dem System klauen. Außerdem 
werden die Dateien die drauf sind gehasht und der Hash wird gespeichert. 
Wenn der Hash nicht stimmt, oder andere/mehr als die zulässigen Dateien 
da sind, wird die Karte beim Systemstart direkt wieder umonted, damit 
keine Dateien ins System eingeschleust werden, und das System fährt 
hoch, wie wenn gar keine Karte ingelegt ist.

Die 2 .DAT Dateien werden an der Checksumme manipuliert, damit Windows 
sie als defekt ansieht.
Der Inhalt der Dateien ist relativ simpel. Die config.dat ist ein tar.gz 
Archiv, mit GPG verschlüsselt. Sie enthält 1:1 Linux Config Files.Beim 
Systemstart werden die entpackt und in die Ramdisk geschrieben. Die 
ganzen die ganzen Config Files in /etc sind symlinks auf die Ramdisk. 
Sollte die Karte oder die Datei abgewiesen werden, so werden einfach 
Standard-Dummyfiles mit "light-Config" in die Ramdisk kopiert.
Außerdem werden einige Scripte erst aktiviert, wenn eine entsprechende 
Datei in der Ramdisk vorhanden ist.

Die Key Datei ist einfach ein GPG Key, ein anderer ist im System selbst 
gespeichert.

Die zweite Partition ist als JFFS2 im Ordner JFFS gemountet. Auf den 
Ordner kann "admin" aber nur lesend zugreifen. Also auch kein Datenklau 
aus dem System in Richtung Karte möglich.
Auf der Partition werden durch scripte aufgearbeitete Systemlogs 
gespeichert, und die ganzen Daten, die bis zum Senden über GPRS zwischen 
gespeichert werden.
Der Upload erfolgt an einen bestimmten Server, den man übers 
Admininterface angeben kann.

Nunja, eigentlich ist es nicht möglich, größere Daten aus dem System 
raus zu bekommen ohne Rootrechte, weil halt die Datenpartition der SD 
Karte keinen Schtreibzugriff von Admin erlaubt. Die Config Partition ist 
nur read only gemountet. Wenn man aber die Config im Webinterface 
ändert, wird sie zum schreiben neu gemountet, und die Config Datei 
komplett neu geschrieben. Sie bleibt dann auch so gemountet bis zum 
Reboot.

Dann kann man sich die Ordner /etc /var /tmp /ramdisk /scripts schön 
runter ziehen und man hat das gesamte Geheimnis der Kiste auf der SD.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moe schrieb:
> Ich hab aus Interesse mal ein paar Minuten Rechenzeit spendiert, und
> siehe da: John (http://www.openwall.com/john/) hat das Root-Passwort in
> 25 Minuten (!) rausgefunden. Denke mal, da jeder das mit dem Programm
> selber nachvollziehen kann, ist es ok, wenn ich es hier poste

Hay Cool, danke, dann kann ich ja nochmal mit vollem Rootzugriff an das 
System ran :)
Hab ja auch schon ne Sicherheitslücke im Webinterface entdeckt, mit der 
ich Daten klauen konnte :)

Autor: D. K. (lemur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So rein interessehalber, was ist / war das eigendlich für ein 
ursprüngliches Gerät?

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es war eine Daten-Aufzeichnung und Weiterleitung über GPRS.
Die Ertragsdaten der Solaranlage und des BHKW wurden permanent an einen 
Webserver gesendet, der dann schöne Statistiken mit schönen Diagrammen 
gemacht hat.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Teil wollten Monteure schon verschrotten. Es wurde nicht mehr 
gebraucht da die Betreiber mit ihrer politischen Selbstdarstellung 
fertig waren. War halt so ein typisches Projekt: Schaut alle her, wir 
und unsere Partei XXX tun so viel für die Umwelt.
Ich habs das Gerät der Verschrottung gerettet.

Achja, das Root Passwort geht übrigens.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte die gleiche Idee^^

# john --incremental=all --session=mcn passwd.mcn
Loaded 1 password hash (FreeBSD MD5 [32/32])
t3kn             (root)
guesses: 1  time: 0:00:41:17  c/s: 5111  trying: t3kn

Nur hatte dafür keine extra optimierte Version von John genommen...

EDIT: Und falls jemand wissen will warum FreeBSD MD5 so viel langsamer 
als DES zu knacken ist (~Faktor 300) sollte sich mal 
http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/s... 
anschauen.

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das Programm auch mal getestet. Bei mir hat er das Passwort in 22 
Minuten gefunden :)

Autor: makro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja, bekommen Firmen für solche Solar- und Ökospielereien eigentlich 
öffentliche Fördergelder?
Weil sonst kann ich mir solche Spielereien zusammen mit der Politik 
eigentlich kaum erklären

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest bekommen sie sehr oft dafür einen Artikel im lokalen 
Käseblatt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.