Sie sind auf Seite 1von 7

Sky v13: BoxID, ins7e und k1_unique ermitteln

Nachdem Sky mal wieder etwas an der Verschlüsselung geändert hat, ist es neuerdings nötig, dass man
neben der reinen Smartcard auch noch die Parameter BoxID, ins7e sowie k1_unique ermitteln bzw.
berechnen muss. Wie die funktioniert, wird im Folgenden erläutert.

Voraussetzungen
 Sky v13 Smartcard
 OSCam 1.20_svn Build: r11572 oder neuer mit passendem Smartcard Reader
 Original Sky Receiver
 Viel Rechenleistung, Details siehe Abschnitt K1_unique berechnen

Ins7e und BoxID ermitteln


1. Smartcard pairen
Bevor es losgeht, muss die Smartcard, sofern nicht bereits geschehen, gepairt werden. Ja richtig, das
was sonst mit aller Gewalt verhindert werden sollte, wird jetzt bewusst herbeigeführt. Dazu den
originalen Sky Receiver mit der SAT Anlage und dem Fernseher verbinden, Smartcard einstecken,
anschalten, ggf. den Tuner entsprechend der SAT Anlage konfigurieren und einen Sendersuchlauf
starten, da sich die Frequenzen der Sender erfahrungsgemäß mit der Zeit durchaus mal ändern. Mit
dem Sendersuchlauf werden diese aktualisiert. Danach prüfen ob die Konfiguration passt indem man
auf einen Free TV Sender schaltet und schaut ob dieser hell (wiedergeben) wird, dann auf einen Sky
Sender schalten und eine Aktivierung der Smartcard entweder online über https://sky.de oder die
Mein Sky App anfordern, oder (sofern es online nicht geht) über die Hotline 08999727900. Danach
sollte die Sky Karte zeitnah aktiviert werden und entsprechend den Sky Sender hell machen.

2. ins7e ermitteln
Bevor die Sky Hardware wieder abgebaut werden kann, muss noch die sogenannte CWE abgelesen
werden, woraus dann später die ins7e extrahiert wird. Dazu beim Sky Receiver vom Typ Pace
TDS866NSDX (siehe Typenschild auf dem Gehäuseboden) auf die „MENÜ“ Taste auf der
Fernbedienung drücken, danach unter dem Punkt „Einstellungen“ das „Service-Menü“, dort
„Smartcard/Jugendschutz“ und dort schließlich den Punkt „CA Diagnose“ auswählen. Hier nur der
Eintrag neben „CWE“ von Bedeutung. Dieser erstreckt sich über mehrere Zeilen. Darin ist die
sogenannte ins7e Payload enthalten. Je nach Receiver Typ beginnt die Payload anders, siehe Tabelle
1.

Seite 1 von 7
BigBear46, v1.0 2020-02-16
Sky Receiver Typ Beginn der ins7e
Pace TDS866NSDX 42733510
Humax PDR iCord HD 42740301
Humax iHD Fox / iHD PVR 42741311
Vodafone TV Center 53710500
Sky Q 6E736B21
Tabelle 1 - ins7e Beginn

Hat man den Anfang der ins7e in der abgelesenen CWE gefunden, sind die darauffolgenden 24 Stellen
(der Teil in Tabelle 1 ist darin eingeschlossen) der erste Teil der ins7e. Besser zweimal prüfen ob man
wirkliche keinen Fehler beim Abschreiben gemacht hat. Der zweite Teil ist mit
0000000000010202030002020203 immer gleich. Mit beiden Teilen zusammen hat man nun die
52-stellige ins7e Payload.

Credits hierfür gehen an hot-chili. 

3. BoxID berechnen
Aus der zuvor ermittelten ins7e kann nun die BoxID „berechnet“ werden. Dafür kopiert am aus der
ins7e den Bereich von der 17. bis 24. Stelle (jeweils einschließlich). Von diesem Extrakt nimmt man die
ersten beiden Stellen und addiert +80 in HEX und ersetzt die ersten beiden Stellen des Extrakts mit
dem so errechneten Ergebnis. Damit hat man jetzt die 8 stellige BoxID berechnet.

Wer nicht mit dem Hexadezimalsystem vertraut ist, kann dafür entweder einen Taschenrechner oder
ein Onlinetool wie dieses hier nutzen: https://www.calculator.net/hex-calculator.html

Einfach unter „Hexadecimal Calculation—Add, Subtract, Multiply, or Divide“ die ersten beiden Stellen
des Extrakts ins erste Feld eingeben, daneben die Rechenoperation „+“ auswählen, in das Feld daneben
„80“ eingeben und auf „Calculate“ klicken und schon wird das Ergebnis angezeigt. 

K1_unique ermitteln
Nachdem nun bereits ins7e Payload und BoxID ermittelt wurden, geht es in diesem Abschnitt um die
Ermittlung des k1_unique Keys. Also den Schlüssel, den man neuerdings braucht um zusammen mit
der Sky v13 Smartcard einen Sender zu entschlüsseln.

1. Oscam einrichten
Die Smartcard muss jetzt in einen Kartenleser gesteckt werden, der mit einem Linux Receiver
verbunden ist (interne Kartenleser gehen logischerweise aus), auf welchem Oscam 1.20_svn Build:
r11572 oder neuer läuft. In meinem Fall war das die VU+ Solo2. Je nach Linux Receiver/Kartenleser
müssen die Parameter „protocol“ und/oder „device“ evtl. angepasst werden, aber diese Kenntnis setze

Seite 2 von 7
BigBear46, v1.0 2020-02-16
ich hier mal voraus. Auch vorausgesetzt wird eine funktionierende Oscam Konfiguration für den
eigenen Linux Receiver. 

Für eine VU+ Solo2 mit v13 Smartcard im oberen internen Kartenleser steckend ergibt sich folgende
oscam.server:

[reader]
label = V13
protocol = internal
device = /dev/sci1
caid = 09C4
boxid =
ins7e =
ins7e11 = 14
k1_unique =
detect = cd
mhz = 450
cardmhz = 2700
group =1
emmcache = 1,1,2,0
blockemm-unknown =1
blockemm-u =1
blockemm-s =1
blockemm-g =1
saveemm-u =1
disablecrccws =1

Hinter die gelb markierten Paramter „boxid =“ und „ins7e =“ muss noch die
zuvor ermittelte BoxID sowie die ins7e Payload eingetragen werden. Danach wird das ganze
gespeichert und die Smartcard wird auf der Status Seite des Oscam Webinterface als „CARDOK“
angezeigt. Siehe Abbildung 1, in gelb markiert.

Abbildung 1 – CARDOK

Jetzt wird der Linux Receiver auf den Sender Sky Krimi HD geschaltet. Im Zweifel vorher einen
Sendersuchlauf durchführen, damit die Frequenz des Senders auch wirklich die aktuelle ist!

Seite 3 von 7
BigBear46, v1.0 2020-02-16
2. ECW ermitteln
Anschließend oben auf „Live Log“ klicken. Hier dann unten auf „Show Settings“ und schließlich in der
Zeile „Switch Debug from[…]“ auf „4“ (in Abbildung 2 rot eingerahmt) klicken, in das Feld „Search01“
(in Abbildung 2 gelb eingerahmt) den Wert „55 01 83“ eintragen und auf „Save“ klicken. Der Haken bei
Parameter „Beep“ ist optional, er hat nur zur Folge, dass der Browser einen Piepton von sich gibt, jedes
Mal, wenn der gesuchte Wert im Live Log gefunden wird.

Nun einige Sekunden warten bis im Live Log erstmals der gesuchte Wert „55 01 83“ erscheint. Die
betreffende Zeile wird blau markiert, siehe Abbildung 2. Nun den Live Log mit Klick auf die Schaltfläche
„Stop Log“ (grün eingerahmt in Abbildung 2) einfrieren.

Abbildung 2 - Live Log

Wichtig ist, dass der Wert „55 01 83“ gefunden wird, da damit belegt wird, dass die zuvor ermittelten
Werte für BoxID und ins7e korrekt sind und die Smartcard im sogenannten Mode 83 arbeitet.

Ist das gegeben, wird im Live Log die Zeile mit „crypted CW is: […]“ (schwarz eingerahmt in Abbildung
2) gesucht. Angenommen dort steht „crypted CW is: 1F934523CD5E6A6F0000000000000000“. So
Seite 4 von 7
BigBear46, v1.0 2020-02-16
würde die ECW lauten: „1F934523CD5E6A6F“. Die 16 Nullen am Schluss werden also ignoriert.
Genauso könnte dort stehen „crypted CW is: 00000000000000001F934523CD5E6A6F“. In dem Fall
würden die ersten 16 Nullen ignoriert werden. Der ECW wird kopiert und zusammen mit Datum und
Uhrzeit in einer Textdatei separat gespeichert. Bitte nicht abschreiben um Tippfehler auszuschließen!

Die prinzipielle Vorgehensweise habe ich aus dem Thread hier vom User shiring abgeleitet, danke für
die Vorlage. 

3. ECM Hash ermitteln


Einige Zeilen unterhalb der abgelesenen ECW wird der sogenannte ECM Hash angezeigt, hellblau
eingerahmt in Abbildung 2. Hier könnte bspw. stehen „ecm hash:
1FF2E4432871129A01EA1A135286BB78“. Wichtig hierbei ist, dass der ECM Hash verwendet wird, der
unmittelbar auf den zuvor kopierten ECW folgt, da diese miteinander zusammenhängen. Dieser ECM
Hash wird ebenso kopiert und in die gleiche Textdatei, wie zuvor der ECW eingefügt. Auch hier ist bitte
händisches Abschreiben unterlassen!

4. DCW ermitteln
Nun wird noch der passende DCW zu dem zuvor kopierten ECM Hash benötigt. Dafür wird ein Oscam
Log von einer Sky v13 Smartcard benötigt, die zu dem Zeitpunkt, an dem man den ECM Hash ermittelt
hat, bereits den zu diesem Zeitpunkt eingestellten Sender entschlüsselt hat. Diese Loge wird
freundlicherweise hier von anderen Usern für den Sender Sky Krimi HD bereitgestellt.
https://www.digital-eliteboard.com/threads/ecw-dcw-sammel-und-anfragethread-v13-nur-sky-
krimi-hd.484436/page-21

Meist wird nur in den Abendstunden für eine gewisse Zeit geloggt. Daher ist es wichtig, dass ECW und
ECM Hash zuvor innerhalb des Zeitraum diesen Logs ermittelt wurden. Hat ein User dann ein Log für
den Zeitraum, in dem ECW und ECM Hash ermittelt wurden, hochgeladen, so lädt man diesen runter,
entpackt ggf. und öffnet in dann mit einem Texteditor. Dort sucht man dann mit Strg + F (unter
Windows zumindest  ) nach dem zuvor im Schritt 3. ECM Hash ermitteln gespeicherten ECM Hash.

Abbildung 3 zeigt beispielhaft wie der Log schematisch aufgebaut ist. Im blau eingerahmten Bereich
steht jeweils der ECM Hash und daneben im grün eingerahmten Bereich der passende DCW.

Aus die DCW zum zuvor beispielhaft genannten ECM Hash „1FF2E4432871129A01EA1A135286BB78“
würde also lauten „D6FE6C5EFFF1D9CE“. Analog wie bereits beim ECW werden auch hier die 16 Nullen
vor oder hinter dem DCW ignoriert.

Seite 5 von 7
BigBear46, v1.0 2020-02-16
Abbildung 3 - DCW Log

K1_unique berechnen
Nachdem nun ECW und DCW ermittelt wurden, kann daraus der k1_unique Key erraten werden. Dieser
Vorgang des Erratens läuft über das Programm Hashcat automatisiert ab. Je nach Rechenleistung
dauert dieser Vorgang zwischen wenigen Stunden und einigen Monaten bis Jahre bei schwacher
Rechenleistung. Zudem spielt Glück hier eine entscheidende Rolle. Mit viel Glück muss Hashcat nur
wenige Prozent aller möglichen Kombinationen, aus denen der Key bestehen kann, probieren, ehe der
passende Key gefunden wird. So kann es dann vorkommen, dass der k1_unique Key dann bereits nach
wenigen Minuten bis Stunden gefunden ist.

Um einen Eindruck zu bekommen, welche Rechenleistung wie lange braucht, habe ich in Tabelle 2 die
Rückmeldungen von einigen Usern aufgelistet.

User GPU Dauer Fortschritt bei Fund Dauer für 100%


LugggoOs 2x RTX2080Ti 6h3m 2,27 % 11 d 2 h 31 m
jolinar8 4x RTX2080Ti 21h 43 m 20,05 % 4 d 12 h 20 m
hNt 4x RTX2080Ti 16 h 21 m 14,15 % 4 d 19 h 33 m
dr3@m@ 8x GTX1080Ti 17 h 16,44 % 4 d 7 h 24 m
hollilolli 8x RTX2080Ti 20 h 37 m 34,86 % 2 d 11 h 8 m
Tabelle 2 - Hashcat Laufzeiten

Fortschritt bei Fund sagt aus wie viel Prozent aller möglichen Kombinationen ausprobiert werden
mussten, ehe der richtige Key gefunden wurde. Das ist, wie bereits erwähnt, vermutlich reiner
Zufall/Glück. Aus diesem Fortschritt und der Zeit die bis dahin verging habe ich dann per Dreisatz auf
die Zeit interpoliert, welche theoretisch nötig wäre um 100 % der möglichen Kombinationen
durchzuarbeiten.

Da nicht jedem von uns derart leistungsfähige Computer lokal zur Verfügung stehen, kann man sich
entsprechende Rechenleistung Cloud basierend, also in Rechenzentren, auf Stundenbasis mieten.
Google Cloud Platform, Amazon Web Services (AWS) und IBM Cloud sind hier wahrscheinlich die
größten Anbieter derartiger Dienstleistungen. Da das aber prinzipiell Anbieter für den professionellen
kommerziellen Einsatz sind, ist deren Angebot ziemlich groß und die Verwaltung folglich recht
umfangreich um nicht zusagen kaum überschaubar für den (Halb)Laien. Dafür gibt es bei Google

Seite 6 von 7
BigBear46, v1.0 2020-02-16
300 USD Startguthaben, mit denen man Rechenleistung mieten kann. Darauf geht dieser Thread ein:
https://www.digital-eliteboard.com/threads/hashcat-bei-google-cloud-und-meine-
erfahrung.485923/ Vielen Dank an dieser Stelle an moosbewohner und alle User die sich dort
beteiligen.

Alternativ kann man sich bei https://vast.ai/ Rechenleistung mieten, hier ist der Prozess bzw. dessen
Verwaltung etwas schlanker, siehe hier: https://www.digital-eliteboard.com/threads/bruteforce-mit-
vast-ai-step-by-step-how-to-fuer-deppen-wie-mich.484487/ Auch hier nochmal Danke an den User
shiring für seine Mühe. Vast.ai ist eine Möglichkeit von vielen, ich nenne sie hier exemplarisch, da sie
recht häufig genutzt wird und vielfach erwiesenermaßen zum Ziel führt.

Ich werde hier jetzt nicht nochmal den Vorgang im Detail Schritt für Schritt beschreiben, das ist in den
Threads bereits vielfach geschehen. Daher hier nochmal der grob die Schritte die nötig sind:

1. Server mit entsprechender Rechenleistung mieten


2. Hashcat installieren
3. Hashcat mit folgendem Befehl (unter Linux) starten: „hashcat -m 14000 ECW:DCW -o
cracked.txt -a 3 -1 /usr/share/hashcat/charsets/DES_full.charset --hex-charset
?1?1?1?1?1?1?1?1 -w 4 –force“

In dem Befehl ist der schwarz markierte Bereich durch den zuvor ermittelten ECW und der grün
markierte Bereich durch den zuvor ermittelten DCW zu ersetzen, bevor Hashcat auf dem Server damit
gestartet wird. Hashcat speichert den k1_unique in der Datei cracked.txt nachdem der Key gefunden
wurde.

Hashcat kann man zwischen durch auch unterbrechen ohne, dass der bis dahin erzielte Fortschritt
verloren geht und von vorne begonnen werden muss. Dafür die Taste „C“ drücken. Damit arbeitet
Hashcat bis zum nächsten sogenannten Checkpoint und stoppt dann. Dabei wird eine .restore Datei
erstellt. Mit dieser Datei kann der Vorgang zu einem späteren Zeitpunkt fortgesetzt werden, auch auf
einem anderen Computer. Dazu einfach den Befehl „hashcat –restore“. Hierfür muss die .restore Datei
natürlich im betreffenden Ordner vorhanden sein. So kann man den Vorgang in mehreren Teilstücken
laufen lassen, wenn man bspw. den Server wechselt aus welchen Gründen auch immer. Manche Server
haben eine schlechte Performance oder man startet bei Google Cloud Platform bis das Startguthaben
aufgebraucht ist und geht dann auf einen anderen Server über.

Seite 7 von 7
BigBear46, v1.0 2020-02-16

Das könnte Ihnen auch gefallen