Dies ist das Archiv für 31 Oktober 2009.

Arbeit am neuen Vulnerability Emulator

Abgelegt unter Glastopf, Honeypot am 31 Oktober 2009
Other Languages: None

Ich bin ein gutes Stück weiter gekommen mit meiner Arbeit am neuen Vulnerability Emulator. Einen Ausschnitt daraus findet man im neuen Wiki: Glastopf Vulnerability Emulator. Ich bin nun in der Lage die gängigsten aufgerufenen Befehle bei der Variablendefinition zu emulieren. Beim Ausgeben der echo Zeilen, also eben jenen die der Angreifer wieder zu sehen bekommt, füge ich sobald eine Variablen aufgerufen wird, die zuvor von mir emulierten Werte auf. Hierdurch wird der Glastopf weitaus unabhängiger von aufwendig erstellten reguläre Ausdrücke Muster.
Aktuell arbeite ich daran dem Glastopf ein wenig Verständnis für vom Angreifer definierte Funktionen ein zu hauchen. Ein Beispiel dafür ist das umwandeln von Bytes in z.B. Gigabyte.

ConvertBytes(diskfreespace(@getcwd()));

ConvertBytes ist keine “Built-in” Funktion und muss also vom Emulator erkannt werden, da das Resultat unbekannt ist. Es geht dabei weniger um exaktes Verstehen der PHP Befehle, der Emulator muss vielmehr wissen was für ein Ergebnis von der Funktion erwartet wird.

darkREADING über Glastopf

Abgelegt unter Glastopf, Honeypot am 29 Oktober 2009
Other Languages: None

Gestern Abend wurde ich überraschend von Kelly Jackson Higgins von darkREADING angeschrieben. Sie wollte mehr über den Glastopf erfahren, also habe ich sie mit Informationen gefüttert und heute hat sie einen, in meinen Augen gut gelungenen, Artikel veröffentlicht: New Honeypot Mimics The Web Vulnerabilities Attackers Want

Glastopf Plug-in Tutorial

Abgelegt unter Glastopf, Honeypot am 24 Oktober 2009
Other Languages: None

Danny hat in seinem Blog einen ausführlichen Bericht geschrieben, wie man ein Plug-in für den Glastopf schreibt.

PostgreSQL event logging

Abgelegt unter Allgemein am 22 Oktober 2009
Other Languages: None

Ich habe heute in groben Zügen das SURFids und das MySQL plug-in zusammen gefasst und entstanden ist das PostgreSQL plug-in. Hiermit ist es möglich die Angriffe in eine PostgreSQL Datenbank zu schreiben. Ein paar knappe Infos habe ich im Wiki zusammen gefasst.

Zentraler Datenbank Server: öffentlicher Zugang

Abgelegt unter Glastopf, Honeypot am 14 Oktober 2009
Other Languages: None

Ich habe mich heute endlich an den zentralen Datenbank Server gemacht und ein Vertrauens Level System implementiert. Hierüber lässt sich festlegen in wie weit man einem übermitteltem Event vertraut. Ein nicht vertrauenswürdiger Eintrag in der Datenbank wir zu einem vertrauenswürdigen, sobald er von einem Sensor mit höherem Vertrauensgrad bestätigt wird. Ein fraglicher Angriff ist verifiziert sofern er zuvor von einer vertrauenswürdigen Quelle übermittelt wurde.
Wer Interesse daran hat etwas beizutragen, kann sich bei mir melden. Für die Zukunft plane ich ein Web Interface das es jedem ermöglicht auf Teile der gesammelten Daten zuzugreifen.

Glastopf Projekt Seite überarbeitet

Abgelegt unter Glastopf, Honeypot am 12 Oktober 2009
Other Languages: None

Die letzten Tage habe ich die Web Seite des Glastopf Projekts überarbeitet. Am Wochenende habe ich inhaltlich noch einiges hinzufügen. Vorschläge und Anmerkungen sind über die gängigen Kommunikationswege willkommen. Ziel ist es eine Informationsplattform für all die zu schaffen, die mit den eher technischen Details aus dem Wiki nicht schlau werden.

Geo Daten in der zentralen Datenbank

Abgelegt unter Glastopf, Honeypot am 2 Oktober 2009
Other Languages: None

Ich habe unseren zentralen Datenbank Daemon um ein Modul erweitert das uns die zu einer IP gehörenden Geo Informationen sammelt. Hierfür verwenden wir eine Datenbank von MaxMind. Es handelt sich dabei um eine SQL Datenbank mit IP Bereichen und deren entsprechendem Länderkürzel.
Damit wir die IP eines Angreifers verwenden können, müssen wir die “dotted”-IP in eine “undotted”-IP umrechnen:

import socket
import struct
 
undotted = struct.unpack('!I', socket.inet_aton(dotted))[0]

Der Rest ist ein Kinderspiel, wie fragen die Datenbank in welchem Bereich sich die IP befindet und bekommen den Ländercode. Mit der gewonnenen Information können wir erfahren von welchem Teil der Erde die Angriffe kommen und wie könnten die unwissenden Hoster von RFI Dateinen in ihrer eigenen Sprache anschreiben.


Design von Robin Hastings - Farbanpassung von Ulysses Ronquillo