2010
03.02

Doofer Nussbaum. :P
Ist man ewig dran, den auszubuddeln, wegen ‘nen Batzen Wurzeln.

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2010
02.28

Hallo.

Ich wollte heute mal einen kleinen Einblick über die Top 5 Attacker geben.

Auf Platz 1 ist ein Angreifer aus den Vereinigten Staaten von Amerika (USA), der mit 2752 Angriffen weit vorne liegt.
Auf Platz 2 folgt ein Angreifer aus der Koreanischen Republik, der mit 1764 Angriffen doch schon um einiges von der USA entfernt liegt.
Auf Platz 3 belegt Russland die Statistik mit 1632 Angriffen.
Knapp daben, auf Platz 4 ist Indonesien mit 1631 Angriffen.
Den 5. Platz belegt Deutschland, mit 1469 Angriffen.

Der Glastopf rennt seit 5 Monaten, 3 Wochen und 5 Tagen und hat 49032 einzigartige Treffer gesammelt.

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2010
02.14

Nabend.

Ewig nicht mehr gemeldet. Tut mir leid. Falls überhaupt groß wer diesen Blog lesen sollte.
Hab das Theme jetzt mal zu was dunklem und einfachen geändert.

Bei Bedarf poste ich dann mal einzelne Blogeinträge, oft auch in Twitter manier. (Also kurze Beiträge…)

Zurzeit überlege ich ja noch, irgendwas für den glastopf zu programmieren, weiß nur nicht so genau was. Hatte schon an eine SQLite Anbindung gedacht. Habt ihr vielleicht Ideen, was man bauen könnte? Immer her damit.

Desweiteren wollte ich noch auf ein tolles, kleines Spiel hinweisen, dass man mit mehreren Leuten im Netz spielen kann. Im eigentlichen ist es ein Remake von einem alten Amiga Spiel: Knights

Zu finden ist das ganze unter: http://www.knightsgame.org.uk/
Auch das Forum ist da, wenn es um Bugs und andere Diskussionen geht: http://www.knightsgame.org.uk/forum

Auch steht derzeit ein fester Spieltermin fest, an dem wir uns Online treffen. Dies ist der Sunday 21st February um 16:00 GMT.
Also praktisch nächste Woche. Beachtet aber die Zeitzone. Bei uns wäre das Treffen also um 17 Uhr.
Vielleicht sieht man sich ja dort. Bis später!

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
10.23

Logo by Lukas Rist
Tutorial: Plugins für den Glastopf


Inhaltsverzeichnis
1. Einleitung
2. Was wird gebraucht?
3. Ein Überblick: Die Struktur des Plugins
4. Los geht's: Das Plugin
5. Sprachenwechsel: Annehmen der Glastopf Daten in PHP
6. Ausgeben der Daten in PHP
7. Schlusswort

» Einleitung

Seit einiger Zeit kann man für den Glastopf Honeypot eigene Module/Plugins basteln. Genauso wie beim Amun Honeypot, werden diese in der Skriptsprache “Python” geschrieben.
Ich habe mich jetzt die letzten Tage ein klein wenig damit beschäftigt, vorallem, weil ich für meinem Blog gerne eine Statistk wollte.

Es hat mich überrascht, das es kaum Zeit brauchte, bis alles funktionierte. Die mitgelieferten Plugins, wie das Twitter oder IRC Plugin reichen vollkommen aus, um sich abzuleiten wie man was eigenes schreibt.

In diesem Tutorial will ich euch an einem Beispiel zeigen, wie man solch ein Plugin schreibt. Hierbei werden wir Python und PHP verwenden, um dies zu realisieren.

» Was wird gebraucht?

Um das Ganze hier schnell zu machen, zähle ich die Dinge, die benötigt werden mal eben in einer Liste auf:

  • Grundlegende Kenntnisse in Python und PHP
  • Python >= 2.5 auf dem Glastopf Server, PHP >= 5 auf dem Webserver, MySQLdb Modul für Python 2.5, MySQL Datenbank auf dem Glastopf Server System
  • mysql.py in der glastopf.cfg aktiviert
  • funktionierende Glastopf Revision >= 189 Installation

Wichtig ist vorallem das ihr MySQL auf eurem Glastopf Server installiert habt, sowie das Plugin in der Config aktiviert ist, da sonst ohne dies keine Statistiken erfasst werden und zum Webupdater gesendet werden können.

» Was programmieren wir jetzt?

Wir werden uns jetzt ein kleines Plugin für den Glastopf schreiben, was jede Stunde Statistiken übermittelt, ähnlich wie das Twitter Plugin.
Dieses Plugin übermittelt in diesem vorgegebenen Zeitraum folgendes: Anzahl der Unique IPs, Anzahl der Unique Paths und die Anzahl der Angriffe in den letzten 60 Minuten.
Um diese Sachen zu erfassen, werden wir zwei PHP Skripte benötigen, das Erste nimmt die Daten vom Glastopf entgegen, das Zweite gibt diese wieder aus.

» Ein Überblick: Die Struktur des Plugins

Sehen wir uns die Ordnerstruktur des Glastopfes einmal an:

glastopf@honeypot:/home/glastopf/topf$ ls
AUTHORS    CREDITS  README  files  modules  res
CHANGELOG  LICENSE  conf    log    plugins  webserver.py

Im Hauptordner finden wir einen “files”-Ordner, wo die Malware gespeichert wird, im “modules”-Ordner sind Topfeigene Module enthalten, der “conf”-Ordner beinhaltet die Konfigurationsdateien, im “log”-Ordner finden wie Logdateien und im letzten Ordner “plugins” sind unsere hausgemachten Plugins enthalten.

Uns interessiert jetzt eigentlich nur der “conf” und der “plugins”-Ordner. Die restlichen können wir ausser acht lassen. Theoretisch ist das Plugin, was wir schreiben ein Logging Module, wie das hauseigene Twitter Modul. Allerdings werden wir ein wenig tricksen, damit unser Plugin als Dataplugin durchgeht. (Wir könnten uns auch die Mühe machen und die “logger.py” im “modules”-Ordner editieren, damit wir unser Plugin im “logmodules”-Unterordner ablegen können.)

Das soll uns aber nicht weiter groß stören. Mal sehen ob da in Zukunft noch eine Unterteilung in Log – und Datahandling Module eingebettet wird. An sich ist es aber gar nicht mal schlecht, unser Plugin als Datahandling Modul zu bauen, da wir später noch die Möglichkeit haben, komplette Datensätze zu verschicken. (Aber dazu werde ich vielleicht irgendwann nochmal einen Artikel schreiben.)

Da wir flexibel sind, bekommt unser Plugin natürlich auch eine eigene Konfiguration. (Ob das jetzt UNBEDINGT von Nöten ist, ist ja erstmal egal.)
Dazu können wir jetzt schonmal in unserer IDE einen Unterordner “conf” sowie eine leere Datei “gsweb.cfg” anlegen. Danach folgt dann auch gleich noch der Unterordner “plugins”, in dem wir eine Datei “gsweb.py” anlegen.

Die PHP Dateien können wir erstmal in einem Unterordner “php” ablegen. Wie diese genannt werden, ist relativ egal, Vollständigkeitshalber nennen wir diese “gssubmit.php” und “gsshow.php”.

» Los geht’s: Das Plugin

Als erstes machen wir uns an die Python-Programmierarbeit. Um es einfacher zu gestalten, werde ich immer ein Stückchen Code posten und diesen dann erklären.

Schreiben wir uns zu allererst mal die benötigte Konfigurationsdatei, die wir gerade angelegt haben:

[gsweb]

UpdateURL: http://glastopfblog.tld/gssubmit.php # URL to the submit script

Wir ihr unschwer erkennen könnt, hat diese Konfiguration nur 2 Zeilen. Das “[gsweb]“ dient dazu, dass der ConfigReader erkennen kann, in welchem Abschnitt er gerade ist und “UpdateURL” ist die URL zu eurer PHP Datei, die Daten vom Glastopf entgegen nimmt.

Nur noch kurz abspeichern, und die Konfiguration wäre soweit geschafft.

Jetzt geht es an den Käse! Die “gsweb.py”!

Schauen wir uns zunächst die Imports an:

""" Importing modules """
import datetime
import urllib
import urllib2
import ConfigParser
import threading
import time
import MySQLdb
import string
from time import localtime, strftime

from settings import options

Diesen Abschnitt müsste ich eigentlich nicht weiter erklären, da er wichtige Module lädt, die für die Ausführung des Plugins benötigt werden. Unteranderem “urllib” und “urllib2″, die zur Übermittlung von HTTP Daten genutzt werden.

class toWeb():

Wir bauen uns als erstes eine kleine Klasse.

    def __init__(self):
        config = ConfigParser.ConfigParser()

        """ Reading MySQL Options """
        config.read("conf/glastopf.cfg")
        self.mysql_opts = {
            "host" : config.get("mysql", "host"),
            "port" : config.get("mysql", "port"),
            "user" : config.get("mysql", "user"),
            "pass" : config.get("mysql", "pass"),
            "db" : config.get("mysql", "db")
            }

        """ Reading Glastopf Webupdate Options """
        config.read("conf/gsweb.cfg")
        self.UpdateURL = config.get("gsweb", "UpdateURL")

Hier lesen wir zuerst unsere beiden Konfigurationsdateien aus, einmal die für den MySQL Server und unsere Webupdater Konfiguration. Danach starten wir einen Timer, der in einem vorgegeben Zeitraum etwas ausführt. (Dazu später noch mehr.)

    def update(self, data):
        try:
            """ POST new data to the Webupdate.php """
            parameter = {'update' : data}
            parameter = urllib.urlencode(parameter)
            request = urllib2.Request(self.UpdateURL, parameter)
            response = urllib2.urlopen(request)

            if response.read(1024) != "SUCCESS":
                print "GsWEB - Error: Couldn't update. (%s)" % (response.read(1024))
            else: print "GsWEB: Successfully updated..."
        except:
            print "GsWEB - Error: Couldn't update."
            pass

Nachdem wir nun alles initialisiert und ausgelesen haben,  schauen wir uns die Funktion an, die unsere Daten vom Glastopf übermittelt.

Um den Glastopf vor unschönen Abstürzen zu bewahren, packen wir unseren Code in einen Try/Except-Block. Hier geben wir mit der “parameter”-Variable an, was an unsere “gssubmit.php”-Datei per POST gesendet wird. Hier gibt es eigentlich nicht mehr viel zu erklären, wir encoden die Daten, so dass wir sie danach senden können. Ist alles in Ordnung, sendet unsere PHP Datei “SUCCESS” zurück.

    def dbconnect(self):
        try:
            mysql = MySQLdb.connect(
                self.mysql_opts["host"],
                self.mysql_opts["user"],
                self.mysql_opts["pass"],
                self.mysql_opts["db"],
                int(self.mysql_opts["port"])
                )
        except MySQLdb.Error, e:
            print "MySQL Error %d: %s" % (e.args[0], e.args[1])
            pass
        mysql.threadsafety = 2
        return mysql

Auch hier ist nicht viel zu sagen. Die Funktion verbindet sich mit dem MySQL Server.

    def squawk_all(self):

Hier kommen wir noch einmal zu einer interessanten Funktion, die ein wenig näher erläutert werden sollte. Mit dieser Funktion ziehen wir unsere Daten aus der MySQL Datenbank und setzen sie zu einem einheitlichen Datensatz zusammen, der später von unserem PHP Skript bearbeitet werden kann.

        mysql = gsweb.dbconnect()
        cursor = mysql.cursor()

        """ sql1 = unique IPs, sql2 = unique paths, sql3 = attacks in 60 minutes """
        sql = {
            "1" : """
                SELECT ip FROM log
                GROUP BY ip
                """
,
            "2" : """
                SELECT vicpath FROM path
                """
,
            "3" : """
                SELECT id FROM log
                WHERE attime > %s
                """

            }

Hier verbinden wir uns zur MySQL Datenbank und legen dann fest, welche Queries gesendet werden sollen. Hier habe ich ein Dict als Variablentyp genommen, da es am sinnvollsten erscheint. (Klar, man könnte auch alle 3 SQL Queries in 3 verschiedene Variablen packen…)

Was die einzelnen Queries nun machen, steht im Kommentar.

        """ first sql query for the IPs """
        cursor.execute(sql['1'])
        message = str(cursor.rowcount) + "|"
        """ second sql query for the paths """
        cursor.execute(sql['2'])
        message = message + str(cursor.rowcount) + "|"
        """ third sql query for the attacks """
        lasttime = (datetime.datetime.now() - datetime.timedelta(minutes=60)).strftime("%Y-%m-%d %X")
        try:
            cursor.execute(sql['3'], (lasttime,))
        except MySQLdb.Error, e:
            print "MySQL Error %d: %s" % (e.args[0], e.args[1])

        message = message + str(cursor.rowcount) + "|" + strftime("%a, %d %b %Y %H:%M:%S", localtime())

Jetzt führen wir diese Queries aus, packen das Result davon in eine Variable und fügen zusätzlich noch einen “I” als Delimiter hinzu.
Bei der “lasttime”-Variable wird festgestellt, welche Angriffe in den letzten 60 Minuten stattfanden.
Wenn wir alle 3 Results zusammengesetzt haben, senden wir noch Zeit und Datum mit.

        """ close the MySQL connection and update """
        mysql.close()
        gsweb.update(message)

Ist alles getan, schließen wir die Verbindung zum MySQL Server und senden den Datensatz an unser PHP Skript.

Jetzt haben wir unsere Klasse soweit fertiggestellt. Aber bisher haben wir NUR die Klasse, die bisher noch nichts macht, ausser im Quellcode stehen. Wir brauchen also noch ein Stückchen Code, der mit der Klasse umgeht. Zu diesem Abschnitt kommen wir jetzt.

def dbwrite(data):
    pass

Oh, eine Funktion die gar nichts macht? Erinnert euch einmal zurück, ein Stück weiter oben hatte ich erwähnt, dass wir ein wenig tricksen müssen um unser Modul als Datahandlingplugin auszugeben. Die “dbwrite”-Funktion wird normalerweise vom Datahandler mit Daten gefüttert, die wir jetzt theoretisch noch weiterverarbeiten könnten. Da wir aber nur eine grobe Statistik führen wollen, fällt das ganze hier flach. Die Funktion habe ich nur mit in den Code genommen, damit uns der Glastopf keine Exception ausgibt.

class Timed():

    def action(self):
        if not self.canceled:
            gsweb = toWeb()
            gsweb.squawk_all()
            time.sleep(1)
            self.timed.start_timer()

    def start_timer(self):
        self.canceled = False
        self.timed = Timed()
        self.t = threading.Timer(3600, timed.action)
        self.t.start()

    def stop_timer(self):
        self.t.cancel()
        self.canceled = True

Diese Klasse dient als Timer. Sie sorgt quasi dafür, dass jede Stunde der Updateprozess gestartet wird und Daten an unser PHP Skript geschickt werden. Bedarf eigentlich auch keiner größeren Beschreibung.

gsweb = toWeb()
timed = Timed()
timed.start_timer()

def cancelit():
    timed.stop_timer()

print "GsWeb - Webupdater plugin loaded..."
time.sleep(1)

Puh. Gleich habens wir geschafft. Die letzten Zeilen Code sind dafür da, die Klassen zu initialisieren und eine kurze Meldung auszugeben, dass das Plugin gestartet wurde.

» Sprachenwechsel: Annehmen der Glastopf Daten in PHP

Das Plugin für den Glastopf wäre soweit fertig. Aber ohne unser PHP Skript kann es noch nicht viel machen. Als erstes werden wir also ein Skript schreiben, dass die Daten entgegennimmt und diese in eine Datei schreibt. Klingt einfach. Ist es auch.

Bevor ihr anfangt, achtet bitte darauf, dass ihr der Datei, in die euer Skript schreiben soll, die richtigen Chmod Rechte gebt. Sonst wundert ihr euch am Ende, warum es nicht geht und sucht wahrscheinlich Stunden nach den Fehler.

<?php
/* Options */
$data = "gsweb.dat";
$trusted = array("127.0.0.1", "721.0.0.1");

In unserem PHP Skript werden wir die Optionen direkt festlegen, da eine Konfigurationsdatei hier überflüssig wäre. (Und ich ehrlich gesagt keine Ahnung hab, wie ich in PHP Konfigurationsdateien schreibe & auslese.)

Also, die “$data”-Variable gibt an, in welcher Datei die Daten abgelegt werden. Dieser solltet ihr die entsprechenden Chmod Rechte geben.
Bei der “$trusted”-Variable solltet ihr die IP Adresse von dem Server angeben, auf dem euer Glastopf läuft. Hier könnt ihr mehrere IP Adressen eintragen, die berechtigt sind, Daten zu speichern.

// Checking if the accessing IP address is a trusted source.
foreach ($trusted as $trust) {
    if ($_SERVER['REMOTE_ADDR'] == $trust) {
        $safe = TRUE;
        break;
    }
    $safe = FALSE;
}

Hier fragen wir in einer Schleife ab, ob die IP Adresse die auf das Skript zugreift überhaupt berechtigt ist. Wenn das zutrifft, wird die “$safe”-Variable auf TRUE gesetzt und die Schleife unterbrochen.

// If the source is safe, proceed.
if ($safe) {

// Getting the data
$submit = $_POST['update'];

// Checking if the file is writable
if (is_writable($data)) {
    if (!$submit) {
        print "ERROR|NO_DATA";
        exit;
    }
    if (!$handle = fopen($data, 'w')) {
        print "ERROR|404";
        exit;
    }

    // Can't write to file
    if (fwrite($handle, $submit) == FALSE) {
        print "ERROR|403";
        exit;
    }

    // If wrote, SUCCESS and close the file
    print "SUCCESS";
    fclose($handle);
}
} else { print "<a href="/">back to home"; }
?>

Wenn die Abfrage geklärt ist und alles in Ordnung ist, erhalten wir die gePOSTeteten Daten, checken ob die Datei schreibbar ist und falls dies so ist, geben wir “SUCCESS” zurück.
Falls unsere IP nicht berechtigt ist, wird einfach ein Link eingeblendet, der zurück auf die Hauptseite verweist. Damit wäre unser Skript, was die Daten entgegennimmt fertig.

» Ausgeben der Daten in PHP

Wir sind jetzt fast fertig mit unserem Plugin. Bevor wir uns dem Test widmen, müssen wir aber noch das Skript schreiben, dass den ganzen Kram ausgibt.
Das ist aber eine Sache von 5 Minuten.

<?php
/* Options */
$data = "gsweb.dat";

Auch hier haben wir wieder eine kurze Optionen-Sektion. Diese Gibt an, welche Datei den gelesen werden soll.

if (!$handle = fopen($data, 'r')) {
    print "Error reading glastopf informations.";
    exit;
}
else {
    $line = fgets($handle, 1024);
    $line = explode('|', $line);
    fclose($handle);

    print "$line[0] IPs in database
$line[1] Paths in database
$line[2] Attacks in the last hour
<span style="
font-size:9px;">(last updated: $line[3])";
}
?&gt;

Wir öffnen die Datei, splitten die Daten nach “|” und geben diese dann aus.

Fertig!

Jetzt müssen wir nur noch die “glastopf.cfg” bearbeiten und unter “dataplugins” unser Plugin “gsweb.py” einfügen.
Die “gsweb.cfg” wird ebenfalls im Config Ordner des Glastopfes abgelegt und unser “gsweb.py” in den Pluginordner.

Unsere beiden PHP Skripte legen wir jetzt auf unserem Webserver, auf dem auch ein Blog oder eine sonstige Webseite liegt ab. Unser Skript, dass die Daten ausliest, kann über einen PHP include leicht eingebunden werden. Sollte alles erledigt sein, kann der Glastopf wie gewohnt gestartet werden und die Meldung, dass unser Plugin geladen wurde, sollte zu sehen sein.

» Schlusswort

Ich hoffe das dass Tutorial verständlich rübergekommen ist und ihr euch einen Überblick darüber verschaffen konntet, wie ihr eigene Plugins für den Glastopf schreiben könnt.
Falls ihr noch Fragen habt oder irgendeinen Fehler im Artikel findet, schreibt einfach einen Kommentar und ich schaue, dass ich euch helfen kann.

Wie gesagt, das Tutorial deckt nur einen kleinen Teil ab und zeigt, wie man anfangen kann, den Glastopf selber zu erweitern. Wenn man es richtig nimmt, ist dieses Plugin eigentlich nur eine Modifikation des Twitter Plugins. Man kann mit den Daten natürlich noch viel mehr anstellen, unteranderem könnte man ein Plugin schreiben, dass die Angriffe Live protokolliert und automatisiert Abuse Meldungen an die Hoster sendet usw.

Falls der Code im Tutorial nicht funktionieren solltet, wieso auch immer, für denjenigen habe ich das Plugin nochmal gezippt hochgeladen.

Download hier => gsweb.zip

So, viel Spaß mit diesem Plugin, wenn ihr mal oben links schaut, seht ihr, dass ich dieses Plugin schon benutze und es soweit 1a funktioniert. Wenn ich Lust habe, werde ich den Artikel eventuell auch noch ins Englische übersetzen.

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
10.11

Sodele. Auf meinem Server läuft derzeit eigentlich überhaupt gar nix, und da dacht ich mir, installiert ich mal die neusten Versionen der beiden Honeypots.

Amun Version 0.1.8 & Glastopf rev. 189

Die neuste Amun Version kann über die Sourceforge Projektseite geladen werden, die neuste Glastopf über einen simplen Subversion Command “svn co svn://88.198.38.89:9090/branches/unstable”.

Einrichten der neuen Amun Version:

Wie schon in der Anleitung, die ich mal geschrieben hatte, müssen hier eigentlich nur die Konfigurationsdateien verändert werden, welche sich im Unterordner “conf/” befinden.
Ich geh mal nicht genauer auf die amun.conf ein, da dies alles in der Anleitung steht.

Wenn das erledigt ist, kann wie gewohnt per amun_server.py gestartet werden.

Einrichten des neuen Glastopfes:

Hier finden wir die Config auch im Unterordner “conf/”. Die glastopf.cfg ist hierbei die Hauptkonfiguration.

Dort können wir jetzt unter “ip” und “port” angeben, unter welcher IP und auf welchem Port der Glastopf lauscht, falls dem Server mehrere IPs zugeteilt sind.
Bei dem Plugins-Abschnitt kann man jetzt dynamisch Plugins dazufügen, wie man es bei Amun gewohnt ist. Im MySQL Abschnitt kommen die Zugangsdaten für die MySQL DB rein.
Unter Misc kann man eine eigene Fakeseite angeben, den Whois Server und ob der neue oder der alte Parser verwendet werden soll.

Die weiteren Abschnitte sollten sich dann auch von alleine erklären.

Schön finde ich die IRC und die Twitter Funktion. :)

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
09.24

Gestern von nem Kollegen drauf aufmerksam gemacht geworden… und ich muss sagen, ich hab schon lang nicht mehr so gelacht. Eigentlich sollte man ja über sowas nicht lachen, aber entweder tut der Ersteller des Videos einfach nur so doof und will seinen Virus wirklich mit dem gescheiterten Versuch verbreiten oder er ist es wirklich. Aufjedenfall sollte er mal überlegen, sich bei einem Logopäden vorzustellen. Wirklich. Aber hey, das Video made my day. Danke dafür, an den Ersteller. :)


Schon am wundern, warum ich mal wieder wenig blogge? Liegt wohl daran das ich in letzter Zeit eigentlich den ganzen Tag nur am Diablo 2 zocken bin. Hachja, das Spiel ist so alt, aber trotzdem verfällt man es. Mal sehen, vielleicht blogg ich mal irgendwas über das Spiel.

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
08.23

Heute bin ich über einen schönen Beitrag auf fefe’s Blog gestoßen. => http://blog.fefe.de/?ts=b4713e43

Fefe hatte eine Petition an den Petitionsausschuß gereicht, die interessante Dinge beinhaltet:

Wir erinnern uns: Vor einiger Zeit wurde in Frankreich eine Three Strikes Regelung durchgeboxt. Diese bestimmt, dass Filesharer nach dem ersten Verstoß angeschrieben werden, nach dem zweiten eine Mahnung bekommen und nach dem dritten wird der Internetanschluß gekappt. Allerdings darf dieser noch schön weiter bezahlt werden, bis zum Vertragsende.

Daher kam also die Idee zu dieser Petition. Warum nicht sowas für Politiker einführen? Wenn ein Politiker versucht 3 mal für ein verfassungswiedriges Gesetz zu stimmen, fliegt er einfach ganz simpel raus. Finde ich sehr gut. Wer weiß wieviele Politiker dann wohl vom Bild verschwinden würden? Zensursula… Schäuble… und wie die noch so alle heißen.

Die Petition selber wurde leider abgelehnt. War ja auch irgendwie nicht anders zu erwarten. Naja, Fefe möchte damit eine Diskussion anfechten, wie man den Fraktionszwang bei Politiker loswerden kann.

Den gesamten Petitionsvorschlag gibt es hier: http://ptrace.fefe.de/petition.txt

Wer aber zu faul zum lesen ist, dem gebe ich hier mal einen kleinen Überblick, was dort so drin steht:

Der Deutsche Bundestag möge beschließen: Abgeordnete, die dreimal für
ein später vom Bundesverfassungsgericht als (ganz oder in Teilen)
verfassungswidrig eingestuftes Gesetz stimmen, werden wie folgt
sanktioniert:
  a) Verlust des Mandates, des Sitzes im Parlament und der
     Leistungsansprüche für diese,
  b) Verlust des passiven Wahlrechts für diese und die nächste
     Legislaturperiode.
Ein so verfallener Sitz bleibt leer. Eine Neubesetzung findet in der
laufenden Legislaturperiode nicht statt.

Als Begründung wird hierbei folgendes angegeben:

Abgeordnete im Bundestag sind laut Art 38 GG bei Abstimmungen nur ihrem
Gewissen verpflichtet.  In der Praxis richten sich Abgeordnete aber
hauptsächlich nach der Vorgabe der Fraktion, die in Ausschüssen oder auf
Fraktionssitzungen ausgehandelt wurde.

Weiterhin erfährt man:

Das eigentliche Ziel ist die Abschaffung des "Fraktionszwangs".  Da
dieser aber offiziell nicht existiert, droht diese Petition Abgeordneten
mit persönlichen Konsequenzen, wenn sie für ein verfassungswidriges
Gesetz stimmen.  Gesetze müssen so geschrieben werden, dass sie klar
verfassungsgemäß sind, nicht dass sie haarscharf an die Grenze oder gar
darüber hinaus gehen.

Nun denn. Schade das aus der Petition nichts wurde. Aber hoffentlich bringt es etwas, manchen mal zum denken zu überreden oder ins Gewissen zu reden.


Achja. Man sieht mal wieder, wie toll doch die CDU ist. In Rinteln wurden 6 Plakate der Piratenpartei mit Plakate der Senioren Union überklebt. Unfassbar und dreist sowas. Damit kann man sich natürlich noch unbeliebter machen, als man schon ist. Bilder gibt’s hier => http://www.spitblog.de/2009/08/21/cdu-ueberklebt-plakate-der-piraten/

Falls du nicht weißt, was die Piratenpartei überhaupt ist, bist du hier gut aufgehoben. => http://www.piratenpartei.de/

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
08.20

Nach langer Inaktivitätszeit melde ich mich hier mal wieder zurück. Immerhin schon wieder über nen Monat kein neuer Eintrag gewesen.

Liegt wohl damit zusammen, dass ich mich in letzter Zeit weniger mit Sicherheitsthemen beschäftige, sondern eher ein wenig mehr mit Politik und anderen Sachen im Leben.
Wie ihr bemerkt, hab ich das Design des Blogs mal wieder geändert, so das es ein wenig mehr nach Web 2.0 ausschaut. Ich werde mich auch in nächster Zeit weniger mit Sicherheitsthemen beschäftigen und den Blog sozusagen in einen allgemeinen Blog umbauen. Ab und an mal was über Politik, ab und an mal was über Programmierung, ab und zu mal was aus meinem Leben und ein wenig Sicherheitskram. :]

Meine Projekte werde ich auch neu organisieren, so sieht es aus, dass das Amun log_irc Modul komplett abgebrochen wird. Die Cyberhackers Geschichte wird demnach mit einer ganz neuen Geschichte ersetzt, die ich auch schon angefangen habe und eventuell auch plane später als Buch zu veröffentlichen. Weitere Projekte werd ich dann vorstellen, wenn die Zeit reif ist.

Und was geht sonst so in der Welt? Als ich heute gegen 17 Uhr aufgestanden bin und erstmal runter in die Küche bin, funkelte mich ein Brief an.

“Juche!”, dacht ich mir. Jetzt schickt mir schon die CDU Post. Nach kurzem überlegen, ob ich den Brief nicht gleich zerreiße und verbrenne, hab ich ihn dann einfach mal geöffnet und geschaut ob man nicht ein wenig lachen kann.

Der Inhalt vom Brief war schlicht, ein Prospekt zur Jungen Union und ein Brief, der sogar persönlich an mich gerichtet war mit der Aufforderung wählen zu gehen.

Gut, ich muss zugeben, was im Prospekt steht hört sich ja ganz vernünftig an. Dennoch, verabscheue ich alles was mit CDU und SPD zu tun hat, aus bestimmten Gründen, die soweit jeder kennen sollte. Nun denn, ich finde, hier sollte sich mal ein Pirat als Bürgermeisterkandidat aufstellen lassen. Der Brief von der Jungen Union wird dann aufjedenfall demnächst einfach im Abfall landen. Die Bürgermeisterwahl geht mir sowieso am A**** vorbei, also was solls? Laut Wikipedia sind bei der Komunalwahl jedenfalls folgende Parteien wählbar:

CDU, SPD, Grüne, FDP,
Die Linke, ödp, DKP, DVU,
REP, NPD, ZENTRUM, GRAUE,
STATT, HP, LD, AMP,
Bürgerbewegung pro NRW, DSP,
FAMILIE, FAKT, Die Tierschutzpartei,
ÖkoLi, Offensive D, PBP

Und da man anscheinend die Piraten nicht wählen kann, werd ich entweder überhaupt nicht wählen oder einfach zufällig mein Kreuz setzen. Solang ich dabei nicht die CDU oder SPD oder rechtsradikale Parteien stärke, ists mir recht. Vielleicht sind die Grünen ja wählbar…

Aufjedenfall prangt vor meiner Haustür am Laternenmast ein abartiges SPD Plakat und auf der anderen Straßenseite genau das Gleiche.

Kann man wohl nichts machen. Muss man mit leben, auch wenn ich das Teil liebend gern brennen sehen würde. Wenn ich mich dabei nur nicht strafbar machen würde. :/

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
07.11

Endlich haben wir’s vollbracht. Deutschland entwickelt sich langsam aber sicher zu einem totalen Überwachungsstaat, man könnte auch meinen das geheime Anhänger der Stasi rumschwirren und diese Politik erneut wieder aufbauen wollen. Aber naja, verschaffen wir uns doch mal einen kurzen Überblick darüber, was Deutschland jetzt schon alles für seine gläserne Bürger tut.

Auf der einen Seite haben wir die Vorratsdatenspeicherung, welche besagt das deutsche ISPs sämtliche Daten der Kunden, also Wer, wann mit wem telefoniert hat und wie lange das  Gespräch dauerte oder wann Kunde X sich wo ins Internet eingeloggt hat. Und hey, schlaue CDU Politiker sprachen sogar zwischenzeitlich schonmal davon das man das gesamte Surfverhalten der Nutzer aufzeichnet. Wuhuuu. Weitere Informationen zur Vorratsdatenspeicherung gibt’s hier => http://www.vorratsdatenspeicherung.de/content/view/46/42/lang,de/

Das zweite, was vor kurzem erst in den News stand ist, dass die deutsche Polizei nun der USA Zugriff auf ihre Akten gibt. Sehr schön, jetzt flattern unsere Daten also noch in der USA rum. Auch wenn man meint, Deutschland hätte volle Kontrolle darüber und könnte den Amerikanern sagen, sie sollen die Akten löschen, wer ist sich sicher, dass sie es auch tun?

Und zu guter letzt, das tollste der 3 neuen Gesetze. INTERNETZENSUR. Sind wir denn hier in China?
Ursula “Zensursula” von der Leyen hatte eines Tages eine brilliante Idee! Warum nicht einfach geile Sperren einführen um Milliarden, wenn nicht sogar alle Kinder dieser Welt vor Vergewaltigung zu schützen. Oh super. Nur der Haken ist, es wird KEIN Kind geschützt. Im Grunde ist das Gesetz sinnlos. Es sperrt vielleicht Kinderpornographische Inhalte auf DNS Basis, allerdings kann jeder User, der sich ein wenig auskennt diese mit Leichtigkeit umgehen. Was man hier sieht, sind einfach nur Argumente um eine Basis für Internetzensur zu schaffen. Und warum nicht einfach Kinderpornographie als Hauptargument nehmen? Passt ja perfekt dazu und wird dazu noch von jedem verächtet. Doch wird es so sein, dass in absehbarer Zeit definitiv auch andere Seiten, die KEINEN Kinderpornographischen Inhalt vorweisen auf den Sperrlisten stehen. Aber hey, laut Zensursula schadet das ganze Internet ja den Kindern dieser Welt. Nun, okay. Mal sehen wann die deutsche Zensurliste auf Wikileaks zu finden ist. Aufjedenfall bin ich oben an der Decke, wenn ich merke, dass unschuldige Webseiten, die nichts mit Kinderpornographie zu tun haben gesperrt sind. => http://www.heise.de/newsticker/Gesetz-zu-Web-Sperren-passiert-den-Bundesrat–/meldung/141849

Aber wartet mal, ihr Politiker.

Wieso sperrt ihr den ganzen Kram überhaupt nur? Wäre es nicht sinnvoller diesen zu löschen? Typisch.


LÖSCHEN STATT SPERREN. STOPPT DIE INTERNETZENSUR.

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
2009
05.18

Hallo,

ich wollte heute nochmal einen kleinen Statistiküberblick über den Glastopf geben.

Hier gezeigt, sind die Top 20 Attacker. Man sieht schön, wie versucht wird über einfache Sicherheitslücken das System zu kompromittieren.
Auch erstaunlich ist, dass ein Attacker es über 60 mal versucht hat.

IP Req Count
121.173.130.xxx /index.php?mosConfig_absolute_path=XXX?? 60
74.81.88.xxx /index.php?pagina=XXX?? 35
217.18.76.xxx /index.php?mosConfig_absolute_path=XXX?? 31
75.127.70.xxx /index.php?_SESSION%5bdocroot_path%5d=XXX?? 30
72.52.230.xxx /index.php?DOCUMENT_ROOT=XXX???? 29
24.39.162.xxx /index.php?DOCUMENT_ROOT=XXX???? 27
194.181.2.xxx /index.php?noSet=0&%3bincludedir=XXX????? 26
116.50.163.xxx /index.php?appserv_root=XXX? 23
87.107.86.xxx /index.php?DOCUMENT_ROOT=XXX???? 22
70.86.169.xxx /index.php?appserv_root=XXX???? 22
85.214.24.xxx /index.php?error=XXX??? 22
202.75.4.xxx /index.php?error=XXX?? 22
121.165.73.xxx /index.php?nuseo_dir=XXX??? 21
190.144.44.xxx /index.php?noSet=0&includedir=XXX??? 20
80.231.93.xxx /index.php?path_to_bt_dir=XXX???? 19
145.253.245.xxx /index.php?error=XXX?? 19
67.220.201.xxx /index.php?config%5bppa_root_path%5d=XXX??? 19
207.58.185.xxx /index.php?alpath=XXX??? 17
212.59.11.xxx /index.php?rootdir=XXX?? 16
77.221.130.xxx /index.php?autoLoadConfig%5b999%5d%5b0%5d%5bautoType%5d=include&autoLoadConfig%5b999%5d%5b0%5d%5bloadFile%5d=XXX??? 16

Wirft man einen Blick auf die Victims, sieht man, dass dort diverse Freehoster genutzt werden, aber auch einige kompromittierte Server wie eine Pornoseite “sexclusiv.eu” oder eine polnische BMW Fanseite “bmw-center.com.pl“. Aber auch deutsche Server sind unter den Victims. So findet man hier eine private Webseite die nicht mehr gepflegt wird “dirk-gerber.de” oder ein Ärzte Netzwerk “aene.de“. Ich find es erschreckend, dass sich niemand um seine Server kümmert und auch mal einen Blick durch den Webspace fliegen lässt. Theoretisch sollten einen doch unbekannte Dateien auffallen?

Add This! del.icio.us de.lirio.us Digg Facebook Fleck Furl Google Google Reader icio.de Mister Wong Technorati yigg.de Webnews.de
.