Ausgesperrt und Daten verloren? --> Suche Brute Force Passworteingabe-Tool

Status
Für weitere Antworten geschlossen.

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo Synology-Forum,

seit ca. einem Monat bin ich nun auch Besitzer eines Synology-NAS und bin von den Möglichkeiten und der einfachen Handhabung absolut begeistert. Bis gestern, denn dann passierte das Folgende.

Ich bin dabei in meiner Firewall einen Port für den Direktzugang zur Note-Station freizuschalten. Beim auswählen habe ich aus versehen den Haken weggeklickt und schwups war ich ausgesperrt von meiner Synology-NAS. In anderen Worten hatte ich aus versehen alle Ports über die Firewall blockiert und konnte nicht mehr auf die Synology zugreifen. So weit so schlecht dachte ich und googelte und resettete dann die NAS. Durch den Reset wurden alle verschlüsselten Ordner ausgehängt, was aber kein Problem war - so meinte ich - da ich die Passwörter ja hatte. Seit der Einrichtung der Ordner hatte ich nie ein Passwort eingeben müssen, da ich die Ordner automatisch einhängen ließ. Bei dem Wiedereinhängen zeigte sich nun aber, dass alle Passwörter korrekt waren bis auf eines und das ist nun mein Problem. Genau dieser Ordner beinhaltet 500 GB teilweise wichtiger Daten (Programmdaten) und es wäre schon eine größere Katastophe, wenn diese Daten nun verloren sind.

Für jeden der verschlüsselten Ordner bin ich bei der Passwortvergabe nach einem Schema vorgegangen. Ich habe zuerst einen Identischen Stamm gewählt, dann einen Teil der abhängig von dem zu verschlüsselden Ordner ist und dann nochmal eine kurze Zeichenkette. Da ich auf den letzten Ordner nicht zugreifen kann, kann ich mir nur so erklären, dass ich bei der doppelten Eingabe das Passwortes zweimal einen Tippfehler eingebaut habe. Kommt zwar wohl nicht oft vor, aber kann wohl vorkommen.

Daher sehe ich nun die einzige Chance darin, das Passwort über eine Brute-Force Methode zu erhalten. Da ich viel von dem Passwort weiß müsste es in angemessener Zeit möglich sein an das Passwort zu kommen. Es findet von Seiten der Synology ja keine Sperrung statt, wenn das Passwort ganz oft hintereinander falsch eingegeben wird, es dauert pro Passwort-Eingabe nur immer eine Weile. Das heißt einen Tippfehler könnte ich wohl in einiger Zeit aufspüren, an ein z.B. 8-Stellen-Passwort komme ich damit aber wohl nicht. Nun meine Frage, wie kann ich automatisiert für einen verschlüsselten Ordner Passwörter eingeben? Am besten wäre es für die schnelle, wenn ich dazu nicht die Festplatte an einen Linuxrechner angängen müsste (das wäre Plan B), sondern wenn ich die Eingabe über ein simples *.exe Programm eingeben kann und noch ein wenig programmieren könnte, welche Passwörter probiert werden.

Für jeden Rat bin ich Euch sehr dankbar!!

Viele Grüße
Noeel
 
Zuletzt bearbeitet:

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
.... Beim auswählen habe ich aus versehen den Haken weggeklickt und schwups war ich ausgesperrt von meiner Synology-NAS. In anderen Worten hatte ich aus versehen alle Ports über die Firewall blockiert und konnte nicht mehr auf die Synology zugreifen.
Mmh, die Firewall erkennt allerdings, wenn man durch falsch definierte Regeln den lokalen Zugriff unterbinden würde und verhindert das.
.... Bei dem Wiedereinhängen zeigte sich nun aber, dass alle Passwörter korrekt waren bis auf eines und das ist nun mein Problem.
Beim Einrichten eines verschlüsselten Ordners kann man den Schlüssel exportieren... - hast Du das nicht gemacht?
.... Genau dieser Ordner beinhaltet 500 GB teilweise wichtiger Daten (Programmdaten) und es wäre schon eine größere Katastophe, wenn diese Daten nun verloren sind.
Dann hast Du vermutlich auch kein Backup der Daten, oder? Auch hier der Hinweis, dass das genau ein Dilemma ist - man sollte verschlüsselte Daten nach Möglichkeit auf einem gesicherten Backupmedium entschlüsselt gesichert haben! Fakt bleibt aber im Ergebnis, dass Du - ohne Kenntnis bzw. den exportierten Schlüssel - die AES-Verschlüsselung weder knacken kannst noch (bei einem längeren Passwort ab 6 Zeichen) auch mit BruteForce in annehmbarer Zeit zum Ziel kommen wirst. Synology sieht hier ohnehin keine automatisierte Passworteingabe vor - warum sollten sie auch? ;)
 

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo Frogman und danke für die schnelle Antwort.

Zum 1. Punkt: Dem war bei mir leider nicht so. Ich hatte die Einstellung drinnen, dass alle nicht freigegeben Ports gesperrt sind. Alle Freigaben hatte ich in einer einzigen erstellten Regel zusammengefasst. Genau diese Regel habe ich aus versehen deaktiviert und dann war ich ausgesperrt. Ich konnte also über Port 5000 (http) und 5001 (https) nicht mehr drauf zugreifen.

Zum 2. Punkt: Ich hatte mir die Schlüssel nicht exportiert, da ich es als Risiko ansah die Schlüssel lokal zu speichern (auch wenn ich sie lösche sind sie wiederherstellbar theoretisch. Bitte hierüber keine Diskussion anfangen, dass ist nicht mein Topic.)

Zum 3.Punkt: Ich habe kein Backup der Daten. Ich betreibe ein RAID1, dass war mein Backup so dachte ich. Bitte ließ nochmal mein Post. Wie ich geschreiben habe, geht es nur darum einen Tippfehler zu erraten und nicht ein 6-Zeichen-Passwort aufzuspüren.

Synology sieht hier ohnehin keine automatisierte Passworteingabe vor - warum sollten sie auch?

Das Synology nicht so ein Feature vorinstalliert anbietet ist mir bewusst. Meine Frage bezog sich auf ein externes Tool.

Viele Grüße
Noeel
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Du könntest dir allenfalls ein kleines script basteln, welches nacheinander alle von dir hinterlegten möglichen Passwörter durchprobiert, schließlich kannst du die verschlüsselten Ordner ja auch auf der Konsole einhängen.
 

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Danke für die Antwort. Also mittels ssh auf die Konsole zugreifen und die Passwörter durchtesten. Muss ich noch lernen, wie ich dieses Scipt bastle. Wie mache ich das am einfachsten? Und wie ist der Befehl einen verschlüsselten Ordner anzuhängen?
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Guck im Wiki mal und suche nach ecryptfs.

Das script wirst du dir dann wohl selbst klöppeln müssen.
 

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Danke für die Info. Werd ich machen. Sobald ich Neuigkeiten habe, melde ich mich. In der Zwischenzeit sind weitere Infosnatürlich willkommen. :)
 

AtomicOne

Benutzer
Mitglied seit
26. Apr 2011
Beiträge
99
Punkte für Reaktionen
0
Punkte
16
Auch wenn es nicht, wie du sagst, "dein Topic" ist, aber ...

Zu Punkt 1, anstatt das komplette NAS zurück zu setzen hättest du evtl. wenigstens einen Zugang über SSH versuchen können, falls aktiviert.

Zusatzfrage an alle ... gibt es eigentlich auf dem Mainboard einen RS232-Port auf dem man im Notfall eine Konsole zaubern könnte ???
Wäre für solche Fälle sehr hilfreich. Oder per USB-RS232 !?

Zu Punkt 2, du könntest die exportierten Schlüssel ja wiederum in einer KeePass Datenbank verschlüsseln !? So mache ich es zumindest. Und DAS Passwort vergesse ich garantiert NIE (streng genommen wieder eine Schwachstelle, da EIN Passwort alle anderen "entschlüsselt" aber die Option "Automatisch Einhängen" macht eine Verschlüsselung eh nahezu unwirksam und ist noch unsicherer).

Zu Punkt 3, ein RAID ist NIEMALS eine Alternative zu einem Backup. Komisch das immer noch so viele diesem Irrglauben zum Opfer fallen. Ich predige in meiner Firma seit Jahren dass ein Virus, Feuer, Wasserschaden oder Hardware-Defekt oder schlicht Fehlbedienung im Zweifel ALLE Platten oder zumindest die Daten zerstört !!!

Ein externes Programm (.exe) ist eher nicht so schlau. Ein Shell-Script wäre die erste Wahl. Allerdings nicht sonderlich performant. Abhängig von der Anzahl der möglichen Kombinationen kann das durchaus Jahre dauern (auch bei einer vermeintlich kleinen Menge von Möglichkeiten).
Ich denke mehr als 4 oder 5 unbekannte sollte man damit nicht probieren.
Kommt auch stark darauf an ob du die Menge der möglichen Zeichen (groß/klein/Nummerisch/Sonderzeichen) einschränken kannst. Das würde sehr helfen denke ich.
Guck mal unter http://www.1pw.de/brute-force.html kannst dir relativ leicht ausrechnen das es sehr schnell ziemlich sinnlos wird das zu versuchen (die Geschwindigkeit von Keys/Sec. die dort steht wirst du mit einem Shell-Script bei weitem nicht erreichen, ich tippe mal eher so 15 - maximal 20 pro Sekunde, je nachdem wie du es programmierst und wie schnell die einzelnen Kommandos ausgeführt werden).
Selbst wenn du 60 Keys pro Sekunde schaffen würdest (glaube ich aber nicht) dauert es bei einem 5 Stellen-Passwort mit groß / klein / und Ziffern bereits 176 Tage (ohne Sonderzeichen).
6 Stellen brauchen dann bereits 30 Jahre (immer noch ohne Sonderzeichen).

Ich vermute mal ein spezielles Programm in C welches evtl. direkt das ecryptfs öffnet wäre deutlich schneller (könnte ich allerdings nicht programmieren).
Wenn du dann die Platte an einen leistungsstarken Rechner hängst oder das ganze sogar auf eine Grafikkarte auslagerst (CUDA / OpenGL) hättest du eine Chance.
Aber wenn du das schaffst wäre evtl. eine Bewerbung bei der NSA ratsam. Ich denke die hätten Interesse an entsprechendem Personal. ;)
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Ob shell-script oder C-Programm sollte keinen Unterschied machen, da die DS ohnehin erst nach mehreren Sekunden eine Rückmeldung ob der Richtigkeit des PW gibt. Dazu müsste man dann wohl in jedem Fall die Platte ausbauen und es ausserhalb der DS versuchen. Allerdings weiss ich nicht, wie schnell ecryptfs auf anderen Systemen eine Rückmeldung gibt.
 

AtomicOne

Benutzer
Mitglied seit
26. Apr 2011
Beiträge
99
Punkte für Reaktionen
0
Punkte
16
Ich meine auch eher auf Treiber-Level (quasi direkt am ecryptfs angedockt) um genau diese Verzögerungen zu reduzieren.
 

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

also ich habe nun Fortschritte gemacht, auch wenn ich das Passwort noch nicht habe.

Zuerst habe ich versucht über ssh den Ordner über die Konsole zu mounten. Ich versuchte das ganze erstmal für einen Testordner bei dem ich das Passwort kannte.
mount.ecryptfs /volume1/@test@ /volume1/test -o rw,ecryptfs_sig=6c6e2b8b7d94ce23,ecryptfs_fnek_sig=6c6e2b8b7d94ce23,ecryptfs_cipher=aes,ecryptfs_key_bytes=32
(siehe http://www.synology-forum.de/showthread.html?19409-Manueller-mount-und-DSM)
Dauert ca. 5 Sekunden bei falschem Passwort bis eine Rückmeldung kommt.

Nun generierte ich mir eine Wortliste per Java. Ich lasse bei einem Passwort jedes Zeichen durch ein anderes Zeichen der Reihe nach ersetzten (von Ascii 33 bis 122).
http://www.chip.de/ii/1/2/5/4/9/5/8/0/ascii-93c823e7009f26b0.png

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class Main {
public static void main(String[] args) throws IOException
{
FileWriter fw = new FileWriter("wortliste.txt");
BufferedWriter bw = new BufferedWriter(fw);
String pw = "Passwort";
char[] pwChars = pw.toCharArray();
String outputWort;
int anzahl = 0;
//33 bis 132
for(int i = 0 ; i < pw.length();i++)
{
for(int j =33; j<122; j++)
{
outputWort = "";
for(int k = 0 ; k< pwChars.length; k++)
{
if(i==k)
{
outputWort += (char) j;
}
else
{
outputWort += (char) pwChars[k];
}
}
bw.write(outputWort + "\n");
anzahl++;
}
bw.flush();
}

java.util.Date now = new java.util.Date();
java.util.Date finished = new java.util.Date();
double dauerProEingabe = 5.5;
double dauerSekunden = dauerProEingabe*anzahl;
finished.setSeconds((int) (finished.getSeconds()+dauerSekunden));
System.out.println("Es wurden " + anzahl + " Wörter für Passwort >" + pw +"< generiert."
+ "\nDas wird bei " + dauerProEingabe + " Sekunden pro Eingabe ca. " +
(finished.getHours()-now.getHours()) + " Stunden und "
+ (finished.getMinutes()-now.getMinutes()) + " Minuten dauern.\n" +
"Die Eingabe wird um ca. " + finished.getHours() +":" + finished.getMinutes() + " Uhr fertig sein.");


Da ich nicht wusste, wie ich die Wörter mittels ssh und Wortliste durchprobiere, habe ich auf ein Tastatur/Maus Makroauf- und abspielprogramm zurückgegriffen. Mouse Recorder Premium 1.0.43. Funktioniert wunderbar.
Durch das manuelle Vorgehen habe ich gesehen, dass jeder Versuch ein Passwort durchzuprobieren ca. 5 Sekunden + x Zehntel braucht. Das sind bei 1000 Wörtern so ca. 1,5 Stunden.

Das richtige war nun noch nicht dabei, aber ich probiere eben weiter und werde meinen Wortlistengenerator etwas modifizieren...
 
Zuletzt bearbeitet:

Noeel

Benutzer
Mitglied seit
28. Mai 2015
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Ob shell-script oder C-Programm sollte keinen Unterschied machen, da die DS ohnehin erst nach mehreren Sekunden eine Rückmeldung ob der Richtigkeit des PW gibt. Dazu müsste man dann wohl in jedem Fall die Platte ausbauen und es ausserhalb der DS versuchen. Allerdings weiss ich nicht, wie schnell ecryptfs auf anderen Systemen eine Rückmeldung gibt.

Für diese Info wäre ich auch sehr dankbar. Mittels ssh oder mittels maus + tastatur kommt quasi aufs gleiche raus.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat