35C3 Junior CTF – McDonald

2019-02-06 von admin

Challenge

Our web admin name’s “Mc Donald” and he likes apples and always forgets to throw away his apple cores..

http://35.207.132.47:85

 

Analyse

Nach dem Aufruf der Webseite wurde eine leere Seite angezeigt. Im Quelltext der Seite war auch nichts zu finden.

Ein Blick in die „robots.txt“ verschaffte neue Erkenntnisse.

http://35.207.91.38/robots.txt

Inhalt der Datei:

User-agent: *
Disallow: /backup/.DS_Store

Als nächstes wurde die Datei „DS_Store“ heruntergeladen.

 

Information gathering

1. Recherche was das für eine Datei ist. Wikipedia sagt dazu:

„In the Apple macOS operating system, .DS_Store is a file that stores custom attributes of its containing folder, such as the position of icons or the choice of a background image. The name is an abbreviation of Desktop Services Store, reflecting its purpose. It is created and maintained by the Finder application in every folder, and has functions similar to the file desktop.ini in Microsoft Windows. Starting with a full stop (period) character, it is hidden in Finder and many Unix utilities. Its internal structure is proprietary.“

2. Nach einer weiteren Suche im Web bin ich auf das Tool „ds store exp“ gestoßen.

 

Durchführung

1. Das Tool anwenden und alle Ordner und Dateien werden extrahiert.

./ds_store_exp.py http://35.207.91.38/backup/.DS_Store

2. Flag suchen

Die Ordner- und Dateistruktur mit dem Befehl „tree“ anzeigen.

In der Textdatei „flag,txt“ befindet sich das gesuchte Flag.

Solution: 35c3_Appl3s_H1dden_F1l3s

Kategorie: IT-Security Schlagwörter: ,

35C3 Junior CTF – rare_mount

2019-02-02 von admin

Challenge

Little or big, we do not care!

File: ffbde7acedff79aa36f0f5518aad92d3-rare-fs.bin

 

Analyse

Nach dem Download der Datei wurde mit dem Befehl „file“ geschaut, um welchen Dateityp es sich handelt.

$file ffbde7acedff79aa36f0f5518aad92d3-rare-fs.bin
ffbde7acedff79aa36f0f5518aad92d3-rare-fs.bin: data

Leider hilft das noch nicht wirklich weiter. Ein weiterer Versuch mit dem Programm „binwalk“:

$binwalk ffbde7acedff79aa36f0f5518aad92d3-rare-fs.bin

DECIMAL   	HEX       	DESCRIPTION
------------------------------------------------------------
0         	0x0       	JFFS2 filesystem, big endian

Es handelt sich bei der Datei um ein JFFS2 Filesystem.

 

Information gathering

Nach der Recherche können Dateien mit dem „JFFS2 filesystem extraction tool“ extrahiert werden.

1. Download des Tools

$git clone https://github.com/sviehb/jefferson

2. Installation

$cd jefferson
$chmox +x setup.py
$./setup.py

Danach steht das Tool systemweit (/usr/local/bin/jefferson) zur Verfügung.

 

Durchführung

1. Das Tool anwenden und Dateien extrahieren.

$jefferson ffbde7acedff79aa36f0f5518aad92d3-rare-fs.bin -d rare_output

2. Flag suchen

Das Tool legt einen Ordner mit dem Namen „rare_output“ an. Dort ist ein weiterer Unterordner mit dem Namen „fs_1“ enthalten. Dieser wiederum enthält zwei Dateien.

In der Textdatei befindet sich das gesuchte Flag.

 

Solution: 35C3_big_or_little_1_dont_give_a_shizzle

Kategorie: IT-Security Schlagwörter: ,

Linux: fork() bomb verstehen

2019-01-30 von admin

Eine Forkbomb ist eine Form eines Denial of Service (DoS) Angriffs gegen ein Linux System. Dabei sollen alle verfügbaren Systemressourcen aufgebraucht werden, um so das System zu blockieren.

 

Warnung

Die Ausführung des hier abgebildeten Codes kann Ihr System abstürzen lassen!

Beispielcode

:(){ :|:& };:

In dem hier aufgeführten Beispiel handelt es sich um eine Bash Funktion, welche die „fork“ Operation verwendet und rekursiv aufgerufen wird. Wenn die Forkbomb aktiviert wurde, kann es passieren, dass der normale Betrieb des Systems erst nach einem Neustart wieder möglich ist.

Analyse

Code Beschreibung
:() Definiert eine Funktion mit dem Namen „:“

 

Lesbar formatiert stellt sich die Funktion so dar:

:(){
 :|:&;
};:
Code Beschreibung
{ Klammer, die den Funktionsbereich öffnet
:|: Ruft die Funktion selbst auf (Rekursion) und gibt die Ausgabe an eine Kopie von „:“ weiter.
& Führt die Funktion im Hintergrund aus und ist somit unabhängig vom aufrufenden Prozess
} Klammer, die den Funktionsbereich schließt
; Beendet die Funktionsdefinition
: Startet die Funktion „:“

 

Verallgemeinerte Darstellung

function boom() {
    boom | boom&;
}
boom

 

System schützen

Unter Linux können unter „/etc/security/limits.conf“ Datei- und Prozesslimitierungen vorgenommen werden. Das Programm „ulimit“ ermöglicht die Beschränkungen der systemweiten Ressourcennutzung zu konfigurieren.

ulimit -u

Mit der Ausführung wird eine Nummer angezeigt, diese gibt an, wie viele Prozesse auf dem System laufen können. Um das System zu schützen muss die Nummer verringert werden. Mit dem folgenden Befehl wird die aktuelle Session auf max. 4000 Prozesse beschränkt.

ulimit -S -u 4000

Wenn jetzt versucht wird, eine Forkbomb zu starten, sollte folgende Fehlermeldung erscheinen: „fork: resource temporarily unavailable“. Dies bedeutet, dass Ihr System der Forkbomb nicht erlaubt hat, weitere Prozesse zu starten.

 

Bildquelle: pixabay.com/de/bombe-computer-virus-z%C3%BCnden-gefahr-152795/

Kategorie: IT

1000 Beiträge auf Wantedlink

2019-01-28 von admin

Jetzt ist es soweit, seit dem 08.07.2009 gibt es auf dem Blog von Wantedlink zu den unterschiedlichsten Themen unterhaltsame, hilfreiche und provokante Beiträge. Mit diesem Post sind es genau tausend. Mein Dank geht an alle Leser, Korrekturschreiber/innen und an die Gastautoren.

Zum Livefeuerwerk: Hier Klicken

 

Eine Bilanz darf natürlich nicht fehlen.

Anzahl Kategorien
417 Zitate
161 IT
144 Weihnachtskalender
106 Bücher (Rezensionen)
69 Unterhaltung
19 IT-Security
19 Management
20 Allgemeine Themen
16 Wantedlink
13 Modellbahn
5 Kunst
5 Sprache
6 Ideen

 

Die Top-10-Artikel/Seiten

  1. Hacker Filme
  2. Empfehlenswerte Serien
  3. Rezension: Sie belieben wohl zu scherzen, Mr. Feynman!
  4. Vorstellung Modellbahn
  5. a little truth?
  6. Excel (VBA): Zellen in Excel runterziehen funktioniert nicht
  7. Ubuntu 14.04: DELL Latitude e7440 + BIOS/UEFI (A15) Update
  8. XChat – funny Perl Plugin
  9. Sitemap
  10. Impressum

 

 

Bildquelle: pixabay.com/de/silvester-feuerwerk-leuchtfeuer-1953253

Kategorie: Wantedlink

35C3 Junior CTF – flags

2019-01-06 von admin

Der CCC veranstaltet seit 35 Jahren einen Kongress. Der diesjährige fand unter dem Motto Refreshing Memories statt. Auch in diesem Jahr gab es ein CTF (Capture the flag) Spiel. Ziel eines CTF-Spiels ist es, eine Schwachstelle zu finden, diese auszunutzen und ein „Flag“ in Erfahrung zu bringen.

Challenge

Fun with flags: http://35.207.169.47
Flag is at /flag
Difficulty estimate: Easy

 

Beim Aufruf der Adresse wurde folgende Seite angezeigt.

Analyse

Der PHP Code holt sich die aktuellen gesetzten Browsersprachen.

$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? 'ot';

Danach werden die Sprachen (falls mehrere gesetzt sind) aufgeteilt und die erste wird in die Variable geschrieben.

$lang = explode(',', $lang)[0];

Daraufhin wird der Inhalt der Variable gesäubert bzw. geschützt.

$lang = str_replace('../', '', $lang);

Als nächstes wird aus dem Ordner „flags“ das Bild passend zur Sprache geladen.

$c = file_get_contents("flags/$lang");

Jetzt erfolgt eine Prüfung, ob eine Datei vorhanden ist und wenn nicht, wird ein default Bild geladen.

if (!$c) $c = file_get_contents("flags/ot");

In der letzten Zeile erfolgt die Ausgabe.

 

Information gathering

Was wissen wir:

  • Das Ziel liegt unter „/flag“.
  • Eingabeparameter, der beeinflusst werden kann, ist die erste Browsersprache.
  • Es gibt einen Schutzmechanismus „str_replace“.

 

Unser Ziel ist es, dass Laden des Inhaltes zu beeinflussen.

$c = file_get_contents("flags/../../../../../flag");

Das ist prinzipiell möglich, da die Browsersprache selbst festgelegt werden kann. Dafür im Firefox in der Adresszeile den Befehl „about:config“ eingeben und nach „intl.accept_languages“ suchen.

Jetzt noch den Schutzmechanismus „str_replace“ umgehen. Die Funktion ersetzt den Text „../“ durch einen leeren String. Der Mechanismus ist leicht zu umgehen, denn es wird nur „../“ ersetzt. Wenn aber als Input für die Funktion „….//“ beinhaltet, ist das Output „../“ und genau das möchten wir erreichen. Es werden lediglich zwei Punkte und ein Slash entfernt, der Rest bleibt erhalten.

 

Exploiting

1. Wir ändern unsere Browsersprache in „….//….//….//….//flag“

2. Wir rufen die Seite auf.

Es wird kein Bild angezeigt. Also den Quelltext der Seite anzeigen lassen (STRG +U).

3. Den Text kopieren und dekodieren.

echo "MzVjM190aGlzX2ZsYWdfaXNfdGhlX2JlNXRfZmw0Zwo=" | base64 -d

Solution: 35c3_this_flag_is_the_be5t_fl4g

 

Diese Art von Angriff nennt man directory traversal attack. :)

Kategorie: IT-Security Schlagwörter: ,

Happy New Year

2019-01-01 von admin

Ich wünsche allen Leserinnen und Lesern meine Blogs ein gesundes und glückliches 2019.

Viele Grüße Mario

Kategorie: Wantedlink

YouTube-Kanal als RSS Feed abonnieren

2018-12-15 von admin

Auf YouTube ist es möglich, Kanäle (Channels) zu abonnieren. Dafür muss man allerdings einen YouTube Account anlegen und sich einloggen. Eine Alternative ist das Abonnement per RSS Feed. Hierfür wird kein YouTube Account und kein Login benötigt.

Folgende Adresse bildet die Basis für den RSS Feed:

https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL-ID

Der Parameter „CHANNEL-ID“ muss lediglich ersetzt werden. Um die Channel-ID herauszufinden, einfach auf den gewünschten Kanal gehen und auf „Videos“ klicken.

 

Darauf den Quellcode der Seite anzeigen (Rechte Maustaste, Quellcode anzeigen) und nach dem Wort „rssUrl“ suchen.

 

Jetzt kann die Adresse für das RSS Abonnement zusammengebaut werden.

https://www.youtube.com/feeds/videos.xml?channel_id=UCCI6C8hD-hTZi2JEmS7zvQw

Weiterführende Links:

Kategorie: IT