FFL-App

Die offizielle App zur Freizeitfußball Liga Bergheim

ffl-app-teaser

Bleibe jetzt auch unterwegs immer auf dem Laufenden und installiere dir die FFL-App kostenlos auf dein Android Smartphone.

Folgende Features unterstützt die App:

  • Alle News
  • Alle Spielpläne
  • Alle Tabellen (inkl. Ewige Tabelle, Top Torjäger und Gelbe/Rote Karten)
  • Das vollständige Regelwerk der FFL-Bergheim
  • Erstelle einen neuen Account
  • Hast du dein Passwort vergessen, kannst du mithilfe der App ein neues anfordern
  • Melde dich mit deinem FFL-Profil an
  • Bearbeite dein FFL-Profil
  • Erstelle ein Profilbild mit deinem Smartphone und lade es hoch

Die App liegt ausnahmsweise mal nicht auf Github, kann aber über den PlayStore von Google heruntergeladen werden.

Programmiersprache: Java / Android

GitCloner

Automatically clones all your repositories to your workspace

gitcloner Folgendes Problem: Ihr sitzt an einem fremden oder neuen Rechner und wollt alle Eure Repositories auschecken ohne großen Aufwand zu betreiben. Dieses Bash-Skript erledigt diese Arbeit. Man übergibt lediglich den Pfad zu den Repositories und einen Ordner in dem der Workspace angelegt, bzw. die Repositories ausgecheckt werden sollen.

Anbei noch ein kurzer Auszug aus der Readme:

Automatically clones all your repositories to your workspace. Pass your repository and workspace folder as parameter:

run ./gitcloner path_to_repository path_to_workspace

Das Projekt lieft ist Open Source und kann auf Github ausgecheckt werden.

Programmiersprache: Bash

GitRefresher

Shows the GIT status of all projects inside your workspace

gitrefresher Ich habe öfter das Bedürfnis einen Überblick über meinen aktuell lokal ausgecheckten Projektstand zu bekommen. Da dies bei einer hohen Anzahl von lokalen Repositories jedoch recht aufwändig und vor allem umständlich ist, habe ich dieses kleine Bash-Script geschrieben. Als Parameter muss lediglich das Workspace-Verzeichnis übergeben werden. Das Script schaut sich dann alle Sub-Verzeichnisse an und gibt, wenn es sich um ein Git-Repository handelt, den aktuellen Status auf der Konsole aus.

Das Projekt ist Open-Source und kann jederzeit auf Github ausgecheckt werden. Hier geht’s zurm Artikel.

Programmiersprache: Bash

Gitalizer

A non-VCS-Workspace to GIT-VCS-Workspace Transformer.

Ever wanted to put all your projects under GIT-Version control? But having to many projects kept you off from doing it manually? You don’t have to do it manually… just let this script do the work for you.

gitalizer.sh path_to_workspace path_to_repository
  • path_to_workspace the folder which includes your projects
  • path_to_repository the path where your repository will be created

This Script transforms your non-vcs workspace to a git-vcs workspace by executing the following tasks:

  1. Creating a sub-folder in path_to_repository for each sub-folder in path_to_workspace
  2. Backing up each sub-folder in path_to_workspace to ~/Desktop/Backup_timestamp/
  3. Deleting all sub-folders in path_to_workspace
  4. Initializing a git bare repository for each folder in path_to_repository
  5. Cloning each repository in path_to_repository to path_to_workspace
  6. Copying backed project contents to corresponding cloned project in path_to_workspace
  7. Adding files of each project to staging area, commit and push them
  8. Deleting Backup folder. (You can enable/disable this by toggling the corresponding comment at the end)

Non-VCS-Workspace (before)

alt text

If your project structure looks like the image above you have to run gitalizer.sh path_to_workspace/CSharp path_to_repository/CSharp and gitalizer.sh path_to_workspace/Java path_to_repository/Java

GIT-VCS-Workspace (after)

alt text

Your repository will be created like that:

alt text

Note: I successfully tested this script with various project folders. If you find a bug please contact me via daniel.bongartz@gmail.com. Run this script at your own risk. I do not accept responsibility for any loss or damage that you suffer as a result of using this script.

DGrep

A Cross-Platform GREP tool with GUI

Als Entwickler steht man nicht selten vor der Aufgabe Log-Files auszuwerten um Fehler zu finden. Unter Unix ist dies relativ einfach und schnell erledigt, aber Windows legt einem dort erst einmal Steine in den Weg, so dass man auf Zusatzsoftware setzen muss. Aus diesem Grund habe ich mir ein kleines Tool geschrieben, das alle Files in einem bestimmten Ordner nach einer bestimmten Zeichenkette durchsucht und die einzelnen vorkommen in einer generierten Datei auflistet.

Das Projekt ist Open-Source und liegt auf Github. Wer also Verbesserungen einbringen oder Bugs melden möchte, kann dies gerne tun.

Anbei noch ein Auszug aus der Github Readme.

alt text

  1. Select the folder which contains the log files
  2. Enter a search string
  3. Select the file formats which should be included in your search.
  4. Choose between the input file codec (default: UTF-8)
  5. Decide if you want to open the search folder afterwards
  6. Press the GREP button to start the search

Notice: After you’ve pressed GREP two files will be generated in the chosen path. The first file (GREP-timestamp-all.txt) is a summary of all the files in which the search string was found. The second file (GREP-timestamp-filtered.txt) is the important one. It includes only the rows that contain the search string.

Netzlaufwerke via Batch Script verbinden / trennen

In diesem Artikel zeige ich euch eines meiner meist benutzen Skripte. Ich brauche bei meiner täglichen Arbeit in der Firma diverse Netzlaufwerke. Wenn ich jedoch mit meinem Firmennotebook zuhause bin, stören die verbundenen Netzlaufwerke nur und zögern den Systemstart deutlich in die Länge.

Daher hier zwei kleine Batch Scripte, die sich diesem Problem annehmen. Ihr müsst einfach folgenden Code in eine Textdatei schreiben und unter .bat abspeichern.

Netzlaufwerke verbinden:

Connect.bat

@echo off
if not exist M: net use M: Server\\Ordner1$
if not exist Z: net use Z: Server\\Ordner2$
if not exist X: net use X: Server\\Ordner3$
if not exist Y: net use Y: Server\\Ordner4$

Netzlaufwerke trennen:

Disconnect.bat

@echo off 
if exist M: net use M: /delete /yes
if exist Z: net use Z: /delete /yes
if exist X: net use X: /delete /yes
if exist Y: net use Y: /delete /yes

Alternativ kann man mit folgendem Befehl auch alle Netzlaufwerke in einem Schritt trennen lassen.

net use * /delete /yes

Wie Ihr seht, kann man sich mit Batch Skripten die tägliche Arbeit um einiges erleichtern.

Proxy Server mit Registry Script ändern

Dieser Artikel richtet sich an alle, die darauf angewiesen sind zwischen verschiedenen Proxy-Servern schnell wechseln zu können. Die Betonung liegt dabei auf schnell! Der Normale weg wäre, seinen Internet Explorer zu starten (schlimm genug) und anschließend in die Internetoptionen unter Verbindungen den Haken für Proxy-Server setzen/entfernen anzuklicken.

Dies kann auf Dauer sehr nervig werden, vor allem wenn man öfter zwischen verschiedenen Proxy-Servern hin und herschalten möchte. Ein Anwendungsfall dafür ist z.B. wenn ihr ein Firmennotebook besitzt, dass ihr auch zuhause im heimischen WLAN nutzen möchtet. Es macht dann wenig Sinn über den Firmenproxy zu gehen, da dieser ohnehin nicht erreichbar sein wird. (Es sei denn ihr baut vorher einen VPN Tunnel zur Firma auf) Ihr müsst also jedes Mal wenn ihr euren Laptop zuhause nutzen möchtet den Proxy-Server deaktivieren und am nächsten Tag in der Firma wieder aktivieren.

Um diesen Vorgang zu vereinfachen zeige ich euch in diesem Artikel wie ihr ein kleines Registry Script schreibt, das diese Arbeit für euch übernimmt.

Die Einträge in denen die Proxy-Server Einstellungen gespeichert sind befinden sich in der Registry unter:

[HKEY_CURRENT_USER"Software\Microsoft\Windows\CurrentVersion\Internet Settings]

Um diese schnell und einfach ändern zu können müsst ihr zunächst zwei Dateien mit der Endung .reg erstellen. In unserem Beispiel nenne ich diese: FirmenProxy.reg und HomeProxy.reg Zunächst packt ihr folgenden Code in die HomeProxy.reg Datei.

REGEDIT4
[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings]
"MigrateProxy"=dword:00000000
"ProxyEnable"=dword:00000000
"ProxyHttp1.1"=dword:00000000
"Proxy"=""
"ProxyOverride"=""

Sofern ihr zuhause keinen Proxy Server verwendet, könnt ihr das Script so abspeichern und benutzen. Per Doppelklick führt ihr das Script aus und ersetzt damit die Einträge in eurer Registry. Jetzt müsst ihr noch euren Browser neu starten, damit die Einträge wirksam werden. Mit diesem Grundgerüst können wir uns jetzt beliebig viele Registry Skripte erstellen um verschiedene Proxy server zu konfigurieren.

Unser zweites Script namens FirmenProxy.reg könnte z.B. folgendermaßen aussehen:

REGEDIT4
[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp1.1"=dword:00000001
"ProxyServer"="www.meine-firma.de:80"
"ProxyOverride"="10.254.12.*;*.meine-firma.de;192.168.65.0;192.168.0.0;165.226.16.*;;"

Bedeutung der einzelnen Zeilen:

REGEDIT4  

Dient dazu, dass die Registry das Script einlesen kann.

[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings]

Der Pfad in der sich die zu verändernden Einträge in der Registry befinden.

MigrateProxy

Das Einzige was ich zu diesem Eintrag im Netz gefunden habe war folgendes: “I believe it allows/disallows changes to the proxy settings remotely ““ from the user-defined settings.”

ProxyEnable

Proxy-Server ein-/ oder ausschalten. (entsprichst dem Häkchen in den Internet Explorer Verbindungen)

ProxyHttp1.1

konfigurieren, ob HTTP 1.1 über Proxyverbindungen verwendet werden soll.

ProxyServer

Der eigentliche Proxy Server

ProxyOverride

Ausnahmen, die nicht über den Proxy laufen sollen

So und jetzt happy scripting!

Subnetting

Durch Subnetting wird ein reales Unternehmens auf der virtuellen Ebene abgebildet. Man versucht also die interne Unternehmensstruktur (z.B. verschiedene Abteilungen) möglichst original getreu innerhalb des Netzwerkes nachzubilden.

Zu den Vorteilen von Subnetting zählen die Übersichtlichkeit, die bessere Strukturierung, die Vergabe von unterschiedlichen Rechten für einzelne Abteilungen, das Zusammenspiel mit der strukturierten Gebäude Verkabelung und die Minimierung der Arbeit für den System Administrator.

Man sollte stets zukunftsorientiert planen und das Subnetting in die Planung der Verkabelung sowie der Hardware mit einbeziehen.

Subnetting baut auf das Prinzip von IP Adressen und Netzwerkmasken auf.

Es gibt verschiedene Klassen von IP Adressen (A, B, C, D, E). Hier die wichtigsten:

Klasse IP Range von IP Range bis Netzwerkmaske
Klasse A 0.0.0.0 127.255.255.255 255.0.0.0
Klasse B 128.0.0.0 191.255.255.255 255.255.0.0
Klasse C 192.0.0.0 223.255.255.255 255.255.255.0

Die Netzwerkmaske besteht aus 4 Oktetten, also aus 4×8 Bits.

Netzwerkmaske 255 255 255 0
Binärwert 11111111 11111111 11111111 00000000
Bezeichnung Netzanteil Hostanteil

Soweit zu den Grundlagen, hier nun ein kleines Beispiel.

Beispiel:
Ziel: Marketing, Personalabteilung, Sekretariat sollen eigenes Netz haben. Es werden also 3 Subnetze benötigt!

Nun rechnet man aus, wie oft man 2 (steht für die Anzahl der verschiedenen Zeichen im Zahlensystem hier: 0 und 1) potenzieren muss, um als Ergebnis mindestens 3 zu erhalten. Da mindestens 3 Subnetze benötigt werden (siehe Aufgabenstellung).

Formel: [Anzahl d. Zeichen des Zahlensystems] ^ [Anzahl der Bits die zum Netzanteil dazugerechnet werden] = [Anzahl aller Subnetze]

[Anzahl aller Subnetze] – 2 = [Anzahl der tatsächlich zur Verfügung stehenden Subnetze]

Von der Anzahl aller Subnetze muss zwei subtrahiert werden, da das Subnetz Zero und der Broadcast nicht vergeben werden können.

  • 2 ^ 0 = 1 – 2 = -1 (zu wenige Subnetze)
  • 2 ^ 1 = 2 – 2 = 0 (zu wenige Subnetze)
  • 2 ^ 2 = 4 – 2 = 2 (zu wenige Subnetze)
  • 2 ^ 3 = 8 – 2 = 6 (genug Subnetze)

Wie man sieht muss man 2 mit 3 potenzieren, d.h. für die Subnetzmaske, dass 3 Bits vom Hostanteil (0) zum Netzanteil (1) “rüberwandern”. Die Tabelle würde sich also folgendermaßen ändern:

Vorher

Netzwerkmaske 255 255 255 0
Binärwert 11111111 11111111 11111111 00000000
Bezeichnung Netzanteil Hostanteil

Nachher

Netzwerkmaske 255 255 255 224
Binärwert 11111111 11111111 11111111 111 00000
Bezeichnung Netzanteil Netzanteil Hostanteil

Wie man sieht hat sich die Netzwerkmaske in 255.255.255.244 geändert. Dies kommt durch die drei Einsen zustande die dem Netzanteil hinzugefügt wurden.

Die neue Subnetzmaske lässt sich mithilfe folgender Tabelle leicht ausrechnen:

Formel 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Bit Kombination 1 1 1 1 1 1 1 1
Ergebnis 128 64 32 16 8 4 2 1
Summe 255

Hieraus ergibt sich also bei unserer Bit Kombination (1110000) folgende Formel:

2^7 + 2^6 + 2^5 = 128 + 64 + 32 = 224
Die neue Subnetzmaske lautet somit: 255.255.255.224

Nun möchten wir ausrechnen, wie viele Computer einem Subnetz zugeteilt werden können.

256 – 224 = 32 – 2 = 30 d.h. 30 Rechner Pro Subnetz
Hier wird wieder vom Ergebnis zwei subtrahiert, ähnlich wie bei der Errechnung der Anzahl möglicher Subnetze. Die zwei stehen hierbei nun für die Subnetz ID und den Broadcast.

Die IP Adressbereiche für die 6 Subnetze sehen dann wie folgt aus:

Netz ID IP Adressbereich
1.Netz 191.168.32.0 191.168.63.255
2.Netz 191.168.64.0 191.168.95.255
3.Netz 191.168.96.0 191.168.127.255
4.Netz 191.168.128.0 191.168.159.255
5.Netz 191.168.160.0 191.168.191.255
6.Netz 191.168.192.0 191.168.223.255

Jetzt müssen die einzelnen Computer nur noch mit den entsprechenden Lan IP-Adressen konfiguriert werden. Fertig!

UPDATE: Mittlerweile sind Router in der Lage alle Subnetze zu vergeben. In unserem Beispiel hätte es also gereicht 2 Bits zum Netzanteil hinzuzufügen. 2^2 = 4

2 ^ 0 = 1 (zu wenige Subnetze)
2 ^ 1 = 2 (zu wenige Subnetze)
2 ^ 2 = 4 (genug Subnetze)

Google Hacking

Google ist ohne jeden Zweifel ein Phänomen. Bei dem Thema Google gehen die Meinungen meist jedoch stark auseinander. Da es allerdings eindeutig den Rahmen dieses Artikels sprengen würde, möchte ich die Diskussion, ob Google ihrem Motto “Don’t be evil” gerecht wird oder nicht, einmal außen vor lassen. Was man allerdings ohne jeden Zweifel sagen kann ist die Tatsache, dass es nie zuvor so leicht, war in kurzer Zeit an beliebige Informationen zu kommen. Dies ist sicherlich auch einer der Gründe  dafür, warum Google so erfolgreich ist. Mal ehrlich, welche Firma schafft es schon ihren Firmennamen derart zu etablieren, dass er als Synonym für das Wort “suchen” nicht nur benutzt, sondern sogar in den Duden eingetragen wird. Doch obwohl so viele Menschen Google täglich benutzen, wissen nur die Wenigsten, wie mächtig die Suchfunktion tatsächlich ist. In diesem Artikel zeige ich Ihnen, wie Sie das Maximum aus der Suchmaschine ihres Vertrauens herausholen können. Was würden Sie sagen, wenn ich Ihnen erzähle, dass sie mit der Hilfe von Google, Japanern beim Mahjong spielen zuschauen können. Gleichzeitig beobachten sie einen Amerikaner in seinem Eisenwahrenhandel, wie er gerade einen Kunden bedient. Alles Live, versteht sich. Um das Big-Brother-Szenario perfekt zumachen, schauen Sie dann noch kurz wie voll der Parkplatz des Supermarktes um die Ecke ist. Sie müssen ja schließlich noch Fleisch für das Abendessen kaufen. Wenn Sie das jetzt für einen schlechten Scherz halten, sollten Sie die Googlesuche mal mit einem der folgenden Begriffe füttern.

inurl:"ViewerFrame?Mode="
intitle:"WJ-NT104 Main Page"
inurl:netw_tcp.shtml
intitle:"supervisioncam protocol"
"live view-axis"
"2axis-cgi/mjpg" 

Dies ist allerdings nur einer der vielen sogenannten Google-Hacks, die durchs Internet kursieren. Es gibt weitaus mehr und um zu verstehen, wie sie funktionieren bzw. wie man mit ein wenig Kreativität eigene brisante Suchanfragen formulieren kann, habe ich ein kleines Beispiel erstellt. Angenommen sie suchen ein Musikvideo zu ihrem Lieblingsinterpreten, das sie nirgends finden können (Nicht einmal auf YouTube). Was also tun? Nun man muss zunächst wissen, das Google nicht nur Webseiten anzeigt, sondern so ziemlich alles, auf das verlinkt wird. Eben auch auf Verzeichnisse, die sich auf Webservern befinden und die weder mit einem Passwort, noch gegen Directory Listing geschützt sind.

Directory Listing

Normalerweise werden Dateien auf einem Webserver dadurch zugänglich gemacht, dass man mit einer Webseite auf sie verlinkt bzw. sie direkt in die Webseite einbaut. Ist eine solche Webseite allerdings nicht vorhanden, wird einfach der Inhalt des jeweiligen Ordners angezeigt. Dagegen kann man sich schützen, indem man bei seinem Provider die bereits angesprochene Option Directory Listing deaktiviert. Da viele Webseitenbetreiber allerdings nicht wissen, wie wichtig das ist, lassen sich einige dieser Ordner unter den Suchmaschinen Ergebnissen finden. Diese Ordner werden im Volksmund als Google Directorys bezeichnet. Um sich diese Suchergbnisse anzeigen zu lassen, muss man eine Suchanfrage formulieren, in der man nur Ergebnisse wünscht, die keine Webseitenendung wie .php, .htm oder .html beinhalten. Also keine Ergebnisse, die Webseiten beinhalten. Um eine solche Anfrage zu formulieren, muss man die verschiedenen Parameter kennen, die Google von Haus aus mitliefert und die öffentlich unter dieser URL eingesehen werden können. Hier drei einfache Beispiele:

-intitle: "Developer" 

(Liefert Seiten, deren Titel “Developer” beinhaltet)

-inurl: "Developer"

(Zeigt nur Suchergebnisse an, deren URL “Developer” beinhaltet)

-info: www.devcount.de

(Liefert Informationen zur angegebenen Webseite) Um jetzt die von uns gewollten Musikvideos zu finden formulieren wir eine Suchanfrage die folgendermaßen aussieht:

-inurl:html -inurl:htm -inurl:php intitle:index.of.music filetype:(.mov|.mp4|.mpg|.mpeg|.avi|.wmv)

(Das sieht zunächst kompliziert aus, lässt sich allerdings leicht nachvollziehen:)

-inurl:html -inurl:htm -inurl:php

(Zeige mir Ergebnisse, die in der URL keine Webseitenendung beinhalten)

intitle:index.of

(Zeige mir nur Ergebnisse an, deren Webseitentitel “Index.of” ist.) Wobei der Punkt für ein beliebiges Zeichen steht, also auch für eine Leerstelle. intitle:”index of” würde das selbe Ergebnis liefern. Dieser Parameter ist besonders wichtig, da jedes Google Directory den Titel “Index of Ordnername” besitzt. Wir könnten die Suchanfrage durch intitle:index.of.musikvideos oder ähnliche Zusätze noch verfeinern um das gewünschte Musikvideo zu finden. Google zeigt so alle Ordner aus seinem Index an, deren Name “Musikvideos” ist.

filetype:(.mov|.mp4|.mpg|.mpeg|.avi|.wmv)

(Zeige mir nur Ergebnisse, die den Dateityp mov, mp4, mpg, mpeg avi oder wmv haben.) Da wir diese Parameter miteinander verknüpfen lautet unsere Suchanfrage wie folgt: Zeige mir alle Ergebnisse, die keine Webseiten Endung haben, deren Dateityp ein Videoformat ist und die in einem Ordner namens “music” liegen. Dies kommt dem was wir suchen schon relativ nahe. Natürlich kann man diese Suchanfrage noch verbessern, um beispielsweise nur Musikvideos zu einem bestimmten Interpreten zu erhalten. Wenn Sie ein wenig mit den Suchparametern herumspielen, werden Sie schnell festestellen, wie einfach es ist mächtige Suchanfragen zu formulieren. Der Kreativität sind dabei keine Grenzen gesetzt.

WEP Passwort knacken

WEP – Wireless Encryption Protocol

Die Anwendung dieses Tutorials auf fremde WLAN Netzwerke ist strafbar! Wir übernehmen keine Verantwortung für Schäden die mit Hilfe dieses Tutorials entstehen! Das hier dargestellte Vorgehen dient nur zu Demonstrationszwecken und möchten zeigen wie unsicher eine WEP Verschlüsselung heutzutage ist. Die hier dargestellte Vorgehensweise darf also ausschließlich auf das eigene Netzwerk angewendet werden!

In diesem Tutorial zeige ich, warum eine WEP Verschlüsselung keine Alternative zu aktuellen Wireless Lan Verschlüsselungsmethoden ist. Voraussetzung ist eine Linux Distribution (z.B. Ubuntu) und folgende open source Tools (kismet, macchanger, aircrack-ng). Um die folgenden Schritte auszuprobieren, muss das eigene WLAN mit WEP verschlüsselt werden. Um das Ganze ein bisschen spannender zu gestalten, kann ein Macfilter im Router eingerichtet werden. Das hierbei die Macadresse des Angriffscomputers nicht eingetragen werden sollte, ist wohl selbstverständlich.

Um dieses Tutorial ausführen zu können, sollte man den Umgang mit Linux und vor allem der Konsole relativ gut beherrschen. Die hier von mir verwendeten Tools werden alle über die Kommandozeile gestartet und bedient. Ich habe absichtlich auf die Nutzung grafischer Tools verzichtet, da diese meist nur mäßig bis gar nicht funktionieren. Wer hier eine “Klick jetzt auf den Button “CRACK WEP PASSWORD™”-Anleitung gehofft hatte ist hier falsch. Dieses Tutorial soll sowieso nicht als Anleitung, sondern eher als Wegweiser verstanden werden. Wie ein weiser Mann bereits sagte: “Ich kann dir die Tür nur zeigen, durchgehen musst du allein.”

ManagedMode vs. MonitorMode

Netzwerkkarten laufen out of the Box im ManagedMode, d.h. stark vereinfacht gesagt, dass sie nur Pakete des Netzwerks sammeln, mit dem sie verbunden sind. Eine Netzwerkkarte, die im MonitorMode läuft, kann alle Netzwerkframes aufnehmen, ohne eine Anfrage an den AccessPoint (AP) senden zu müssen. Durch dieses passive Vorgehen, kann das Aufzeichnen der Frames vom jeweiligen AP nicht geloggt werden. Entscheidender ist jedoch, dass man auf diesem Weg Informationen über ein WLAN Netzwerk sammeln kann, ohne mit diesem verbunden zu sein.

Es sind jedoch nicht alle Netzwerkkarten bzw. deren Treiber in der Lage, im MonitorModus zu laufen. Man sollte sich also vorher informieren, ob die eigene Karte in der Lage ist, den MonitorMode zu unterstützen.

Netzwerkinterface herausfinden

Zunächst einmal, müssen wir herausfinden wie das Netzwerkinterface unserer Netzwerkkarte heißt. Über den Befehl

ifconfig

bekommt man unter Linux eine Übersicht, der Netzwerkinterface (z.B. eth0, ath0, wlan0). Um das richtige Interface herauszufinden, kann man sich z.B. ganz normal mit seinem WLAN verbinden und in der Übersicht nachsehen, welches der Interface eine IP vom Router zugewiesen bekommen hat.

Netzwerkkarte in den Monitormode versetzen

Jetzt da wir wissen, wie unser Netzwerkinterface heißt (z.B. wlan0), können wir die Netzwerkkarte in den MonitorMode versetzen.
Dazu kann man unter Linux z.B. das commandline tool airmon-ng benutzen:

sudo airmon-ng start wlan0

Erklärung: – sudo (erteilt root rechte);
- airmon-ng (Name des Tools);
- start (Parameter um MonitorMode zu starten);
- wlan0=Netzwerkinterface

Konsolenausgabe: MonitorMode enabled on mon0

Die Konsolenausgabe zeigt nun welches Netzwerkinterface im MonoitorMode läuft. Bei einigen Netzwerkkarten wird hier ein neues Netzwerkinterface wie zum Beispiel mon0 angelegt. Sofern das der Fall ist muss im weiteren Verlauf mon0 statt wlan0 angegeben werden.

Informationen sammeln

Nun müssen wir ein paar Informationen über unser Netzwerk sammeln. Ich werde dazu airodump-ng benutzen. Eine gute Alternativ dazu ist Kismet. Kismet bietet eine aufgeräumtere und übersichtlichere Konsolenausgabe als airodump-ng. Allerdings ist der Konfigurationsaufwand etwas höher. Ein paar Infos zu der Konfiguration werde ich ans Ende dieses Tutorials setzen.

Start your Engine

Der Wlan Sniffer lässt sich mit folgendem Befehl starten.

sudo airodump-ng mon0

Die Konsolenausgabe beinhaltet nun allerdings Informationen über alle in unserer Nähe befindlichen Netzwerke. Anhand dieser Informationen können wir airodump-ng nun dazu bewegen, ausschließlich Informationen über unser eigenes Netzwerk zu sammeln.

sudo airodump-ng -c 6 --bssid 11:22:33:44:55:66 -w outputfile -i mon0

c=Channel; bssid=TargetMAC; -w=write in file; -i=saving IVs only; mon0=Netzworkinterface

Den Channel und die TargetMac-Adresse, können wir aus dem Airodump Output ablesen. Ein besonderes Augenmerk sollte hier auf den IVs liegen. IVs sind die Pakete, die wir später dazu benutzen, das WEP Passwort zu entschlüsseln. Ebenfalls wichtig ist das Speichern des Scans in einer externen Datei.

Spätestens an dieser Stelle sollten wir ein zweites Konsolenfenster öffnen. Das bisher verwendete arbeitet nämlich jetzt mit Hochdruck daran Informationen zu sammeln und abzuspeichern. Im neu geöffneten Terminal testen wir nun ein paar Angriffe auf unser Netzwerk.

Attack 0: Deauthentication

Mit diesem Angriff können wir die ESSID unseres Netzwerks sichtbar machen, sofern diese versteckt (hidden) ist.

sudo aireplay-ng -0 1 -a 11:22:33:44:55:66 mon0

-0=Deauthentication; 1=Number of deauths; -a=TargetMAC; mon0=Networkinterface

Attack 1: Fake authentication

Um weitere Angriffe auszuführen, sollten wir uns beim Router authentifizieren.

sudo aireplay-ng -1 0 -e ConnectionPoint -a 11:22:33:44:55:66 -h our:mac:adress mon0

-1=Fake authentication; 0=reassociation timing (secs); -e=TargetSSID; -a=TargetMAC; -h=our mac;

Eine Variation für bestimmte AccessPoints:

sudo aireplay-ng -1 6000 -o 1 -q 10 -e ConnectionPoint -a 11:22:33:44:55:66 -h our:mac:adress man0

6000=Reauthenticate very 6000 seconds; -o 1=Send only one set of packets at a time, default is multpiple and this confuses some APs; -q 10=Send keep alive packets ever 10 seconds;

Wenn alle diese Attacken fehlschlagen, ist ein Mac Filter aktiv. Das bedeutet, wir konnten uns nicht am Router authentifizieren. Der Router vertraut uns also nicht. Das bedeutet, wir müssen uns eine Macadresse besorgen, die vom Router als vertrauenswürdig eingestuft wird. In diesem Turorial verwende ich dafür das Programm MacChanger. Unter Umständen muss das Programm zunächst installiert werden.

MacChanger

Netzwerkinterface herunterfahren

sudo ifconfig mon0 down

Vertrauenswürdige Mac Adresse eintragen

sudo macchanger -m mac:address mon0

Netzwerkinterface starten

sudo ifconfig mon0 up

An dieser Stelle muss man natürlich eine Mac-Adresse vergeben, die einem Rechner gehört, der Teil des Netzwerks ist. Schließlich hat dieser Rechner ja offensichtlich eine Mac-Adresse, mit der er sich beim Router authentifizieren kann. Natürlich sollte man darauf achten, dass der Rechner, dessen Mac-Adresse man gerade gefälscht hat, zurzeit nicht am Router angemeldet ist. Sollte dies der Fall sein könnte man ihn mit einem DoS Angriff abschießen. Darauf an dieser Stelle jedoch einzugehen würde den Rahmen, dieses Tutorials sprengen.

Wir gehen nun davon aus, dass wir eine Mac-Adresse angenommen haben, mit der wir uns am Router authentifizieren können. Dieser Schritt kann schonmal etwas aufwändiger sein. Es kommt durchaus vor, dass man mehrere Mac-Adressen ausprobieren muss. Sobald man aber eine “Authentication Suseccfull” Meldung in seiner Konsole lesen kann, sollte der Rest ein Kinderspiel sein.

Wir wechseln nun in unser anfänglich geöffnetes Terminalfenster, um zu überprüfen, was bereits gescannt wurde. Das wichtige hierbei sind die IV Packets (Initialisation Vector). Das Sammeln dieser IV Packs dauert in den meisten Fällen sehr lange. Um diesen Vorgang jedoch zu beschleunigen, können wir eine ARP Request Replay Attacke ausführen.

Attack 3: ARP Request Replay Attack

Diese erzeugt künstlichen Traffic im WLAN, wodurch das sammeln der IVs stark beschleunigt wird. Um ein WEP Passwort zu knacken benötigt man ca. 300.000 IV Packete.

sudo aireplay-ng -3 -b 11:22:33:44:55:66 -h our:mac:adress mon0

-c=Channel; -b=TargetMAC; -h=SourceMAC mon0=Netzworkinterface

Sobald wir die magische 300.000 Marke an IVs erreicht haben, können wir das Passwort entschlüsseln. Dabei hilft uns das Programm Aircrack-ng und folgender Befehl.

sudo aircrack-ng -a 1 -0 -n 128 outputfile.ivs

-a=Force attack mode; 1=static WEP; -0=Apply colors in Aircrack; -n=Specifies the length of the key(128 for 1024-bit WEP)

Sobald die Message “WEP KEY FOUND !” in unserer Konsole erscheint können wir das PW aus der generierten Datei auslesen.

Zu guter Letzt noch ein paar Infos zu Kismet und dessen Konfiguration.

Kismet

Zunächst muss Kismet installiert und über die Konfigurationsdatei eingerichtet werden.

Location:

/etc/kismet/kismet.conf

Configuration:

rt8180,mon0,ALFA

Diese Konfiguration gilt für eine Netzwerkkarte mit einem rt8180 Chipsatz wie der ALFA AWUS036H. mon0 ist das Netzwerkinterface, das über das Terminal und den Befehl ifconfig herausgefunden werden kann. Weitere Informationen zur Konfiguration von Kismet lassen sich in der Dokumentation finden.

Sofern alles richtig konfiguriert ist, kann man Kismet mit folgendem Befehl starten:

sudo kismet

Viel Spaß beim ausprobieren.