Raspberry Pi einrichten

Die ganze Haussteuerung lässt sich mit dem kleinen und handlichen Raspberry Pi durchführen. Wo es den kleinen Superhelden gibt und wie du den Raspberry Pi einrichten kanst, erfährst du hier.

Einkaufen

In der Raspberry Pi Einkaufsliste sind alle notwendigen Komponenten aufgeführt.

Raspbian installieren

Auf der Download Webseite raspberrypi.org/downloads gibt es das aktuelle Raspbian Image.

Unter Windows hilft die Software Win32DiskImager. Die Software muss mittels Rechtsklick auf „Als Administrator ausführen“ gestartet werden. Danach wählt man das heruntergeladene ISO Image aus, gibt den korrekten(!!!) Laufwerksbuchstaben der SD Karte an und klickt auf „write“.

Nach dem Schreiben des Images auf die Karte ist die Einrichtung von Raspbian erledigt. Die SD Karte muss nur noch in den Raspberry Pi gesteckt werden. Nach dem Anbringen der Stromversorgung sollte das System booten. Mit einem SSH Tool auf die IP Adresse erscheint die Anmeldemaske. Die Zugangsdaten lauten „pi / raspberry“.

Raspberry Pi konfigurieren

Die Konfiguration ist im Raspberrycenter hervorragend beschrieben.

Danach kann die Einrichtung der Hausautomatisierung beginnen.

Bildquelle: raspberrypi.org

Securitysoftware und Portscanner

Netzwerk- und Vulnerability Scanner gehören neben Portscanner, Netzwerkanalysetool und Sniffer zum Standardrepertoire eines Administrators. Einrichtung und Aufbau der Programme erfordert oft viel Zeit. Einfacher ist hier eine Lösung die viele Tools direkt mitbringt.

Eine von vielen Lösungen ist die Linux Live Distribution Kali. Kali Linux ist der Nachfolger des eingestellten BackTrack Linux. Der große Vorteil des Systems besteht darin, dass Konfigurationen für unterschiedlichste Szenarien bereitstehen. Die Standard ISO Datei umfasst die gängigsten Tools aus den Bereichen Password Recovery Tool, Netzwerk-/Portscanner, Sniffer, Wireless Analyse, Vulnerability Scanner und einigen mehr. Mittels Forensic Modus können Dateisysteme ohne Veränderung ausgelesen werden.

Nutzung

Die Nutzung ist dabei sehr intuitiv. Nach dem herunterladen der ISO Datei, kann diese auf eine DVD oder einem USB Stick installiert werden. Im Bootmenü ist eine Auswahl des gewünschten Modus möglich. Danach begrüßt einem der Desktop, der die gängigen Tools bereits nach Kategorien sortiert zur Verfügung stellt.

Neben der i386 und amd64 Architektur steht auch eine ARM-Fassung von Kali für den Raspberry Pi zur Verfügung!

Rechtliches

Ein rechtlicher Hinweis für deutsche Anwender ist der Wikipedia zu entnehmen.

Kali Linux enthält Softwaretools, die zum Teil Sicherheitsvorkehrungen umgehen und die nach § 202c StGB, dem Ende Mai 2007 inkraftgetreten sogenannten Hackerparagrafen, in Deutschland als Computerprogramme zum Ausspähen von Daten aufgefasst werden. Aufgrund dieser Gesetzeslage kann bereits der Besitz oder Vertrieb strafbar sein, sofern die Absicht zu einer rechtswidrigen Nutzung nach § 202a StGB (Ausspähen von Daten) oder § 202b StGB (Abfangen von Daten) besteht.

Top10 Tools

Nessus (tenable.com) Nessus ermöglicht, analog zu Nexpose, das Scannen nach bekannten Schwachstellen. Als Ergebnis listet der Scanner eine Reihe von potentiellen Sicherheitslücken auf und bietet Anleitungen zur Behebung.

Metasploit Framework (metasploit.com) Mit dem Metasploit Framework können Exploits getestet und entwickelt werden. Metasploit ermöglicht die Überprüfung von Sicherheitslücken, die Nexpose erkannt hat.

Aircrack-ng (aircrack-ng.org) Aircrack-ng umfasst die Analyse von Funknetzwerken. Mit der Software können 802.11 WEP and WPA-PSK Keys ermittelt werden.

Burp Suite (portswigger.net) Die Burp Suite stellt Tools für die Sicherheitsanalyse von Webapplikationen. WebSpider und Proxys unterstützen die Analyse.

THC-Hydra (thc.org – hydra) Mittels THC-Hydra können Zugangsdaten ermittelt werden. Die Software unterstützt sehr viele Applikationen und Protokolle.

John the Ripper (openwall.com – john) John the Ripper ist ein Tool zur Wiederehestellung von Passwörtern. Insbesondere UNIX Passwörter sind hiermit analysierbar.

Maltego (paterva.com – maltego) Die Software ermöglicht das Sammeln von Daten über Unternehmen, Personen, Webseiten und Sozialen Netzwerken und bringt diese in eine Verbindung miteinander. Damit ergibt sich ein Netzwerk aus Relationen, die grafisch aufbereitet werden.

Nmap (nmap.org) Network Mapper ist ein einfaches Analyse Tool für die Ermittlung von offenen Ports (Portscanner) und die Analyse von Betriebssystem und Serverversionen.

OWASP Zed Attack Proxy Project (owasp.org) Das Tool des Open Web Application Security Projects ist ein Schwachstellenscanner für Webapplikationen. Die intuitive Oberfläche ermöglicht schnelle Tests der eigenen Applikationen.

Wireshark (wireshark.org) Wireshark schneidet den Datenverkehr im Netzwerk mit und ermöglicht eine umfassende Analyse der Datenpakete und deren Inhalt. Mit Hilfe von umfangreichen Filtern können relevante Informationen einfach und zusammenhängend extrahiert werden.

Weitere Tools

sqlmap (sqlmap.org) sqlmap umfasst die Erkennung aus Nutzung von SQL Injections für alle gängigen Datenbanksysteme.

Social-Engineer Toolkit (SET) (trustedsec.com) SET bietet Tools rund um das Thema Social-Engineer Hacking. Beispielsweise lassen sich bestehende Webseiten klonen, um die modifizierte Version für gefälschte Anmeldemasken zu nutzen.

Ettercap (github.io – ettercap) Ettercap ermöglicht Man-in-the-middle Attacken. Mit dem Tool ist es möglich, Netzwerkpakete zu manipulieren und zu filtern.

Nemesis (sourceforge.net – nemesis) Nemesis ist ein Tool zur Manipulation von Datenpaketen. Intrusion Prevention Systeme (IPS) können hiermit geprüft werden.

Weiterführende Artikel

Schnellstart mit Kali Linux Kurze Einführung von Heise security zu Kali Linux.

Cracking Passwords Guide Ein Artikel zur Wiederherstellung von Passwörtern.

Extracting MetaData from photos using exiftool Hiermit lassen sich beispielsweise GPS Koordinaten aus Bildern extrahieren.

Hacking Tools Repository Hunderte von Sicherheitsprogrammen aufgelistet.

Bildquelle: By Offensive Security (Desktop screen shot) [GPL], via Wikimedia Commons

Tails und Tor

Ich weiß was du gestern geschrieben hast. Seit den Enthüllungen von Edward Snowden rücken Anonymisierungsdienste und Programme immer mehr in den Vordergrund. Neben dem Tor Projekt für einen anonymen Webzugang bietet Tails ein komplettes System zum Schutz der Privatsphäre.

Ein Wort der Warnung: Sowohl der Guardian als auch Heise Security verweisen auf die Dokumente der NSA über die Überwachung von Tor Nutzern. Die NSA ist verärgert über das Tor Netzwerk weil es die Überwachung extrem erschwert und teilweise unmöglich macht. Dadurch ziehen sich Tor Interessierte potentiell die Aufmerksamkeit der Fahnder auf sich.

Funktionsprinzip

Dennoch ist Tor ein hervorragendes Mittel zur anonymen Nutzung des Internets und anderer Dienste. Grundsätzlich basiert die Idee von Tor darauf, die Daten durch wechselnde Internetknoten zu schicken. Der Client wählt zufällig einen Eintrittsknoten aus einer großen Liste von Servern. Die Daten werden danach über zufällige Tor-Server zum Austrittsknoten geleitet. Innerhalb des Netzwerkes sind die Daten immer verschlüsselt. Am Ausgangsknoten kann es zu einer unverschlüsselten Verbindung kommen. Hierbei helfen End-To_End Encryptions. Grundsätzlich hängt die Sicherheit von Tor von der Anzahl der insgesamt zur Verfügung stehenden Nodes im Netzwerk ab und von der Nutzung des Dienstes. Wer Tor nutzt um sich, ohne entsprechende Sicherungsmaßnahmen, mit Anmeldedaten zu Authentifizieren, umgeht das Prinzip der anonymen Nutzung. Bekannte Sicherheitslücken im Browser und dem Betriebssystem können ebenfalls als Mittel gegen die Tor Nutzer missbraucht werden.

Tails

Die Linux Distribution Tails (The Amnesic Incognito Live System) geht noch einen Schritt weiter. Bei Tails werden alle Datenpakete über das Tor Netzwerk verschickt. Sämtliche direkte Verbindungen sind unterbunden. Außerdem startet das System als Live System ohne Daten auf einem Medium zu speichern. Dadurch hinterlässt Tails keinerlei Spuren auf dem System. Neben der Anonymisierung des Standorts und Zugriff auf gesperrte Dienste, beinhaltet die Distribution umfangreiche Kryptographische Werkzeuge.

Das Benutzerhandbuch von Tails ist sehr umfangreich. Unter dem Bereich Warnungen ist eine Liste mit Szenarien zu finden, in denen Tails keinen Schutz bieten kann.

Anonym unterwegs

Wer anonym im Netz unterwegs sein möchte sollte noch einige Punkte beachten. Für den sicheren Zugang muss eine Software wie Tor (besser Tails) zum Einsatz kommen. Idealerweise läuft die Software auf einem ein leeren Linux System auf dem PC. Sicherheitslücken könnten sonst den Zugriffe und das Auslesen von persönlichen Daten ermöglichen. Das System sollte eine eigene dedizierte Hardware haben und vom normalen Arbeitsplatzrechner abgetrennt sein. Die Hardware am Besten direkt vom Händler beziehen und Bar bezahlen. Wer paranoid ist und seinem Händler nicht traut könnte sonst auf eine Verbindung der Identifikationsmerkmale eines PCs (MAC Adresse, …) und der Kreditkarte kommen. Wer sich noch weiter absichern möchte, nutzt den PC nicht in den eigenen vier Wänden und vermeidet den Zugang über das eigene W-LAN Netzwerk. Somit wäre der ideale anonyme Platz vermutlich ein neu gekaufter PC mit Tails auf dem USB Stick in einem öffentlichen W-LAN.

Dokumente dürfen keine Metadaten enthalten.

Bildquelle: https://tails.boum.org/doc/first_steps/startup_options/index.de.html

Hacking Sebastian – Teil 3 – Analyse

Wie entwickelt sich das Körpergewicht, mit einem Döner in der Hand, bei 33°C Außentemperatur?! Der Fokus dieses dritten Teils der Quantified Self Serie, liegt in der Präsentation einer Reihe von unterschiedlichen Analysen. In den vorherigen Teilen der Serie wurden die Datenquellen und der Import beschrieben. Die Analyse bildet somit den Kernbereich des Projektes. Zusätzlich beinhaltet der Artikel, Denkanstöße und Ausblicke für tiefer gehende Analysemöglichkeiten. Diese weiteren Ansätze werden möglicherweise die Basis für weitere Artikel sein.

Gewicht, Körperfett, Wasseranteil, Muskelmasse

Gewicht, Körperfett, Wasseranteil und Muskelmasse Übersicht
Gewicht, Körperfett, Wasseranteil und Muskelmasse Übersicht

Im ersten Teil erwähnte ich bereits kurz meine Lebensumstellung. Dadurch lässt sich ein schöner Verlauf des Körpergewichts erkennen. Zusätzlich ist der fallende Anteil des Körperfetts erkennbar, bei gleichzeitigem Zuwachs von Muskelmasse und dem Wasseranteil. Die Werte sind mit einer handelsüblichen Waage ermittelt worden. Insbesondere der Fettanteil ist damit nicht unbedingt korrekt, für einen Trend aber ausreichend. Die Darstellung erfolgt als einfaches Flächendiagramm, auf Basis der Pivot-Tabellen in Excel.

Ernährung

Die Analyse der Ernährung übernimmt MyFitnesPal bereits sehr gut. Die Standardreports, von der Webseite, sind in Excel leicht nachbaubar. Über den Umfang der normalen Reports hinweg, hatte ich weiteren Informationsbedarf. Die erste Analyse umfasst die Kalorien je Monat. Hierbei lassen sich Monate mit einem erhöhten Bedarf an Kalorien erkennen. Nebenbei ermöglicht der Bericht das Verfolgen und Vorbeugen von vermehrtem Kalorienkonsum. Steigt die Summe jeden Monat an, ist dies möglicherweise ein Warnsignal. Hohe Abweichungen sind auch ein Indiz für viele Geburtstage oder Partys. Die Grafik berücksichtigt bei den Summen nicht die unterschiedliche Anzahl von Tagen im Monat. Der Mittelwert konnte hier nicht genutzt werden, da die Datenbasis einzelne Speisen summiert und nicht die Tage. Somit wäre der Wert abhängig von der Anzahl der Nahrungsmittel je Tag gewesen. Für den Mittelwert müsste eine Datenbank View auf Basis der Summe eines Tages angelegt werden.

Kalorien je Monat
Kalorien je Monat

Eine weitere Analyse ist die Verteilung der Kalorien auf die einzelnen Mahlzeiten des Tages. Hieraus lässt sich erkennen, dass die Snacks, also Mahlzeiten vom Vormittag und Nachmittag, einen großen Teil des Tages ausmachen. Unter die Snacks fallen bei mir auch die ungesunden Ausrutscher im Monat (Eis, …).  Die dritte Analyse umfasst die Makronährstoffe je Mahlzeit. Hiermit kann beispielsweise ermittelt werden, ob die Kohlenhydrate am Anfang oder am Ende des Tages zugeführt wurden.

Verteilung der Kalorien
Verteilung der Kalorien
Makros nach Mahlzeiten
Makros nach Mahlzeiten

Training

Die Analyse des Trainings ist extrem umfangreich. Runtastic bietet hier einen enormen Schatz an Statistiken, insbesondere als Gold Member. Laufanalysen und Kilometer genauer Aufschlüsselung können ebenso wie die aktivsten Tageszeiten ermittelt werden. Meine erste Analyse umfasst die historische Betrachtung der Leistung einzelner Kraftsportübungen. Mit einer einfachen Kurve ist der Zuwachs beim Bankdrücken, Kreuzheben und anderen Übungen schnell erkennbar.

Training Gewicht
Training Gewicht

Die zweite Grafik zeigt die einzelnen Sportarten, nach der Dauer der bisherigen Ausübung, auf. Hieraus kann die überproportionale Häufigkeit von Kampfsport im Gegensatz zu Joggen, Reiten und Tanzen erkannt werden. Vorstellbar ist auch eine historische Sicht, wie sich diese Verteilung verändert.  Die beiden letzten Grafiken stellen die gesamte Ausübung von Sport pro Wochentag und historisch da. Hier ist eine relativ homogene Verteilung der Zeiten in der ersten Analyse sichtbar. Im Gegensatz zu einer, sich verschiebenden Aufteilung, in der zweiten Sicht.

Sport nach Tagen
Sport nach Tagen
Sport nach Wochen
Sport nach Wochen

Weitere

Die im ersten Teil der Serie vorgestellten Bereiche, sind im oberen Bereich des Artikels noch nicht in aller Gänze beschrieben. Hier folgen einige Ideen und Überlegungen für mögliche weitere Analysen auf Basis der Quantified Self Idee.

PC Nutzung

Im Wesentlichen sind die Informationen bereits aus dem Tool ablesbar. Anhand der vorgefertigten Reports lässt sich erkennen, dass ein guter Teil meiner Freizeit, die ich vor dem PC verbringe, auf sozialen Plattformen wie Facebook und Twitter vertrödelt wird. Zusätzlich mischen sich Foren und Newsseiten dazu. Der Rest ist dann spezifisch für die Aufgaben des Tages (Softwareentwicklung, Fotobearbeitung, …). Die Nutzung in der Firma verteilt sich auf Outlook und Ticketsysteme. Mittags und am frühen Morgen gesellen sich Newsseiten und Technologieforen dazu.

Orte – Schlaf

Bisher sind noch nicht genügend Daten zusammengekommen, damit eine relevante Quantified Self Analyse möglich ist. Lediglich eine durchschnittliche Zeit von 7,09 Stunden Schlaf pro Nacht ist ablesbar.

Konten

Das Auswerten der Kontenbewegung ist eine spannende Tätigkeit. Die Kernfragen dazu lauten „Wo kommt mein Geld her?“, was sich naheliegend mit „vom Arbeitgeber“ beantworten lässt und der Frage „Wohin verschwindet das ganz Geld denn wieder?“. Für die Aufschlüsselung clustere ich die einzelnen Zahlungsempfänger. Ob nun 70 Euro zu Tankstelle A und 60 Euro zu Tankstelle B gehen ist nicht relevant, wohl aber die Aussage, 130 Euro für das Tanken gezahlt zu haben. Die genaue Aufstellung meiner Konten ist hier natürlich nicht aufgelistet. Allerdings gehören neben den Barentnahmen am Geldautomaten und Einkäufe im Supermarkt, auch Amazon und Tankstellen zu den Top Ausgaben.

Mails, Wetter, Kopfschmerzen

Mails: Das Auslesen der Mails ist noch nicht umgesetzt. Wetter: Hier fehlen mir noch Ansätze für sinnvolle Korrelationen. Kopfschmerzen: Hier fehlt ebenfalls eine aussagekräftige Datenbasis. Viele der Grafiken sind um die Achsenbeschriftungen und Legenden, aus Platzgründen, beschnitten. Anregungen und Ideen für weitere Quantified Self Analysen bitte gerne an mich.

Hacking Sebastian – Teil 2 – Umsetzung

Quantified Self oder wie Kopfschmerzen in der Datenbank aussehen und welche Webseiten diese verursachen. Hauptziel des Projektes ist die Auswertung meiner persönlichen Daten. Die Tools zur Erfassung, Verarbeitung und Darstellung von Daten müssen daher so einfach wie nötig und so mächtig wie möglich sein. Aufgrund meiner umfangreichen Softwareentwicklungserfahrung habe ich mich für die Programmiersprache C# entschieden. Als Frontend wird eine Webseite mittels ASP.NET MVC erstellt. Das Framework erlaubt die schnelle Generierung von Webseiten auf Basis bestehender Datenmodelle. Komplexe Bearbeitungsdialoge entfallen somit und die automatische Generierung übernimmt den größten Teil der Arbeit. Als Entwicklungsumgebung kommt Microsoft Visual Studio Express 2013 for Web zum Einsatz. Die Daten werden in einer Microsoft SQL Server Datenbank gespeichert. Die Applikation lässt sich in vier Bereiche aufteilen.

Code
Code

Funktionen

  • Daten importieren
  • Daten erfassen
  • Daten auflisten
  • Analyse
Hacking Sebastian Homepage
Hacking Sebastian Homepage

Das Importieren der Daten ermöglicht es CSV, TCX und andere Dateiformate automatisch in die Datenbank zu übernehmen. Daten die nicht in anderen Applikationen und Webseiten erfasst werden benötigen eine eigene Eingabemaske für die Erfassung. Zur Überprüfung der erfassten und importieren Daten hilft die Auflistung. Die Analyse ist das Herzstück der Applikation. Hier werden die Quantified Self Informationen in Korrelation gesetzt und wichtige Erkenntnisse gewonnen (oder bunte Bilder erstellt ;-)).

Tabellen (Database first)

Der Einfachheit halber erstelle ich zuerst alle Tabelle in der Datenbank. Aus den Tabellen generiert Visual Studio die Model Klasse, die im Anschluß für die Importer nutzbar sind. Anhand der generierten Klassen können auch die Controller und Views automatisch erstellt werden. Die Dialoge benötigen danach keinerlei Überarbeitung mehr. Validierung und Security entfallen weil die Applikation nicht im Internet erreichbar sein wird.

Import – CSV (FullFitness, Geofency, …)

CSV Dateien sind extrem einfach zu parsen. Ein gutes Framework ermöglicht das Spezifizieren der Trennzeichen und möglicher Anführungszeichen. Die Klasse Microsoft.VisualBasic.FileIO.TextFieldParser ist hier hervorragend geeignet. Obwohl diese aus dem VisualBasic Namespace stammt, kann sie einfach eingebunden werden. Beispiel:

using (TextFieldParser parser = new TextFieldParser("Geofency.csv")) {
    parser.SetDelimiters(",");
    parser.HasFieldsEnclosedInQuotes = true;
    while (!parser.EndOfData) {
        parser.ReadFields();
        ...
    }
}

Die Felder sind danach direkt in die generierten Model Klassen übertragbar.

Import – TCX (Runtastic)

Training Center XML (TCX) is a data exchange format introduced in 2007 as part of Garmin’s Training Center product. The XML is similar to GPX since it exchanges GPS tracks, but treats a track as an Activity rather than simply a series of GPS points. TCX provides standards for transferring heart rate, running cadence, bicycle cadence, calories in the detailed track. It also provides summary data in the form of laps. (Wikipedia)

Mit der Klasse System.Xml.XmlDocument sind die XML Dateien leicht lesbar. Wichtig ist die Einbindung des XmlNamespaceManager, er ermöglicht Zugriff auf die Garmin Datei für XPath Abfragen. Beispiel:

XmlDocument doc = new XmlDocument();
doc.Load(file.FullName);
XmlNamespaceManager xmlnsManager = new XmlNamespaceManager(doc.NameTable);
xmlnsManager.AddNamespace("x", "http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2");
var node = doc.SelectNodes("//x:Activity", xmlnsManager).Item(0);
...

Import – Web (MyFitnessPal)

Leider ist die Druckversion kein valides XML. Mit Hilfe des HtmlAgilityPack können HTML Dokumente ausgelesen und analog zu XML Dateien verarbeitet werden. Beispiel:

HtmlDocument doc = new HtmlDocument();
doc.Load(file.FullName, System.Text.UnicodeEncoding.UTF8);
var days = doc.DocumentNode.SelectNodes("//h2[@id='date']");
...

Erfassen (Kopfschmerzen)

Hacking Sebastian Input
Hacking Sebastian Input

Bei der Erstellung von Standardformularen und Eingabemasken kommt die größte Stärke des ASP.NET MVC Frameworks zum Tragen. Visual Studio ermöglich die Generierung eines Controllers für bestehende Model Klasse. Zusätzlich werden die Views für Auflisten, Anlegen, Bearbeiten und Löschen (CRUD) erstellt. Somit lässt sich die Bearbeitungsmaske für die Kopfschmerzen mit einem Dialog erstellen.

Auflisten

Das Auflisten funktioniert analog zum Erfassen. Mit einem Klick kann der Controller erstellt werden, inklusive aller CRUD Views. Die überflüssigen Views lassen sich einfach löschen.

Auflistung
Auflistung

Analyse

Excel Export/Import
Excel Export/Import

Zur Auswertung der Daten ermöglichen diverse Tools unzählige Möglichkeiten. Am einfachsten ist Excel einsetzbar. Durch die native Einbindung des SQL Servers ist ein direkter Zugriff auf die Tabellen möglich. JavaScript in HTML5 erlaubt die Erstellung von interaktiven Grafiken. Beispielsweise mit Highcharts. Statische Analysen sind durch Sprachen wie R möglich. Die eingesetzten Tools hängen von den Daten ab und führen zu den Ergebnissen der Analyse.

Ergebnisse der Analyse

Im nächsten Teil der Quantified Self Serie.