<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog Posts on MOGWAI LABS</title><link>https://mogwailabs.de/de/blog/</link><description>Recent content in Blog Posts on MOGWAI LABS</description><generator>Hugo</generator><language>de</language><lastBuildDate>Thu, 22 Jan 2026 17:00:35 +0200</lastBuildDate><atom:link href="https://mogwailabs.de/de/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Melde- und Offenlegungspflichten im Cyber Resilience Act</title><link>https://mogwailabs.de/de/blog/2026/01/melde-und-offenlegungspflichten-im-cyber-resilience-act/</link><pubDate>Thu, 22 Jan 2026 17:00:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2026/01/melde-und-offenlegungspflichten-im-cyber-resilience-act/</guid><description>&lt;p>&lt;strong>TL;DR:&lt;/strong> Ab dem 11. September 2026 verpflichtet der Cyber Resilience Act Hersteller dazu, ausgenutzte Schwachstellen und schwerwiegende Vorfälle über eine zentrale Meldeplattform an die ENISA zu melden. Die Meldefristen sind knapp bemessen, daher müssen Hersteller ihre Prozesse zum Umgang mit Schwachstellen und Vorfällen entsprechend verbessern. Außerdem sollten sie sich mit dem CSAF-Standard vertraut machen, da dieser wahrscheinlich zum primären Format für die Meldung von Schwachstellen an die ENISA werden wird.&lt;/p></description></item><item><title>Ist das up2date?</title><link>https://mogwailabs.de/de/blog/2025/09/ist-das-up2date/</link><pubDate>Tue, 16 Sep 2025 17:00:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2025/09/ist-das-up2date/</guid><description>&lt;p>In den letzten Wochen musste ich mehrfach erklären, warum man sich nicht auf Versionsnummern in HTTP-Headern verlassen kann, um den Patch-Level eines Systems zu bestimmen. Ich ging davon aus, dass dies allgemein bekannt ist – aber &lt;a href="https://www.knut.fyi/blog/2021-06-23/every-day-somebody-s-born-who-s-never-seen-the-flintstones">jeden Tag wird jemand geboren, der noch nie „die Feuersteins“ gesehen hat&lt;/a>.&lt;/p>
&lt;p>Dieser Beitrag verwendet Ubuntu als Beispiel, aber das Prinzip gilt für alle Linux-Distributionen, die Long Term Support (LTS)-Versionen anbieten. Der Fokus liegt hier auf dem Patchen; auf weitere Faktoren, die darüber entscheiden können, ob ein System verwundbar ist (zum Beispel eine bestimmte Konfiguration), wird nicht eingegangen.&lt;/p></description></item><item><title>c3p0, du kleiner Schlingel</title><link>https://mogwailabs.de/de/blog/2025/02/c3p0-du-kleiner-schlingel/</link><pubDate>Fri, 28 Feb 2025 09:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2025/02/c3p0-du-kleiner-schlingel/</guid><description>&lt;p>Seit der Einführung des Java Module System in Java 16 sind Deserialisierungs-Gadget-Chains, die das direkte Ausführen von Remote-Code ermöglichen, immer seltener geworden. Eine nennenswerte Ausnahme ist das Gadget aus der JDBC-Verbindungspool-Bibliothek c3p0.&lt;/p>
&lt;p>c3p0 (zusammen mit der Dependency mchange-commons-java) bietet mehrere Funktionen, die bei der Ausnutzung von Schwachstellen von Java-Anwendungen nützlich sein können. Die beste Primitive ist Möglichkeit, eigenen Code per Remote Class Loading zu laden und auszuführen. c3p0 ist jedoch in vielen Deserialisierungsscannern nicht enthalten, vermutlich weil die Verwendung nicht so einfach wie bei anderen Gadgets ist.&lt;/p></description></item><item><title>JNDI Mind Tricks</title><link>https://mogwailabs.de/de/blog/2024/12/jndi-mind-tricks/</link><pubDate>Wed, 18 Dec 2024 13:56:00 +0100</pubDate><guid>https://mogwailabs.de/de/blog/2024/12/jndi-mind-tricks/</guid><description>&lt;p>Injection-Angriffe, die über das Java Naming and Directory Interface (JNDI) ausgeführt werden können, sind seit Jahren bekannt. Die meisten Sicherheitsexperten kamen mit JNDI in Kontakt, als sie sich mit der berüchtigten Log4Shell-Schwachstelle befassen mussten. Diese basiert drauf, die log4j-Bibliothek dazu zu bringen, einen JNDI-Aufruf an ein vom Angreifer kontrolliertes System zu senden.&lt;/p>
&lt;p>Im Laufe der Jahre war der Missbrauch von JNDI ein wichtiger Bestandteil des Java-Exploit-Toolkits. Dies gilt umso mehr, nachdem die üblichen Deserialisierungs-Angriffspunkte in Java 16/17 entfernt wurden (siehe &lt;a href="https://openjdk.org/jeps/396">JEP 396&lt;/a>).&lt;/p></description></item><item><title>Schwachstellenanalyse: CVE-2023-0264</title><link>https://mogwailabs.de/de/blog/2023/04/schwachstellenanalyse-cve-2023-0264/</link><pubDate>Wed, 19 Apr 2023 12:45:00 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2023/04/schwachstellenanalyse-cve-2023-0264/</guid><description>&lt;blockquote>
&lt;p>Keycloak is an open source identity and access management solution [&amp;hellip;] [to] secure services with minimum effort&lt;/p>
&lt;/blockquote>
&lt;p>Bei Keycloak handelt es sich um einen verbreiteten Authentifizierungsserver, der von vielen unserer Kunden verwendet wird. Als Teil unserer Arbeit analysieren wir regelmäßig aktuelle Meldungen zu Schwachstellen, um unseren Kunden notfalls auf wichtige Sicherheitsupdates hinweisen zu können. Im Zuge dessen schauten wir uns auch die Keycloak-Schwachstelle CVE-2023-0265 (CVSS Bewertung8.3) im Detail an.&lt;/p>
&lt;p>In diesem Blogpost analysieren wir diese Schwachstelle, die (unter bestimmten Voraussetzungen) die Impersonierung eines anderen Keycloak-Benutzers erlaubt. Im Internet finden sich hierzu nur sehr wenige Informationen, wir wollen daher die Schwachstellen-ursache analysieren und die Ausnutzung an einer ungepatchte Keycloak Instanz demonstrieren.&lt;/p></description></item><item><title>Schau mal Mama, kein TemplatesImpl</title><link>https://mogwailabs.de/de/blog/2023/04/schau-mal-mama-kein-templatesimpl/</link><pubDate>Tue, 11 Apr 2023 17:00:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2023/04/schau-mal-mama-kein-templatesimpl/</guid><description>&lt;p>Eine Reihe von Änderungen in Java 16 macht das erfolgreiche Exploiten von Deserialisierungsschwachstellen deutlich schwerer. Dieses Post bietet eine Übersicht über die Hintergründe und liefert ein paar Ideen wie Angreifer dennoch in der Lage sein können ein System erfolgreich zu kompromittieren.&lt;/p>
&lt;h2 id="projekt-jigsaw-und-das-java-modul-system">Projekt Jigsaw und das Java Modul-System&lt;/h2>
&lt;p>Um das Grundproblem zu verstehen, müssen wir uns zunächst ein wenig mit dem Java Modul-System sowie Java-Reflection befassen. Wir erklären hier nur die für das Verständnis notwendigen Grundlagen, eine detaillierte Erklärung findet sich im &lt;a href="https://blogs.oracle.com/javamagazine/post/a-peek-into-java-17-continuing-the-drive-to-encapsulate-the-java-runtime-internals">Java Magazine&lt;/a>.&lt;/p></description></item><item><title>Kompromittierung Laravel-basierender Applikationen durch geleakte APP_KEYS</title><link>https://mogwailabs.de/de/blog/2022/08/kompromittierung-laravel-basierender-applikationen-durch-geleakte-app_keys/</link><pubDate>Fri, 26 Aug 2022 06:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2022/08/kompromittierung-laravel-basierender-applikationen-durch-geleakte-app_keys/</guid><description>&lt;p>&lt;a href="https://laravel.com/">Laravel&lt;/a> ist ein gängiges Framework zum Erstellen von PHP basierten Webanwendungen. Es erlaubt eine recht einfache Erstellung von komplexen Webapplikationen und dient daher als Grundlage vieler populärer Projekte.&lt;/p>
&lt;p>Bei einem kürzlich durchgeführten Penetrationstest einer solchen Applikation waren wir in der Lage die &amp;ldquo;Environment-Datei&amp;rdquo; der Anwendung auszulesen. Diese Datei beinhaltet mehrere, zum Teil sensible Konfigurationseinstellungen, insbesondere des &lt;code>APP_KEY&lt;/code> .&lt;/p>
&lt;p>Dieser APP_KEY wird von mehreren, sicherheitsrelevanten Funktionen verwendet, beispielsweise zur Signatur von Objekten um diese vor einer möglichen Manipulation zu schützen. In der Vergangenheit war die Kompromittierung des APP_KEYS ein zuverlässiger Weg um eigenen Code auf dem System ausführen zu können, da hiermit auch XSRF Tokens wurden der Applikation signiert verwendet wurde. Angreifer mit Zugriff auf den APP_KEY waren in diesem Fall in Lage einen beliebige PHP Objekte zu signieren, was wiederum das Ausführen von eigenem Code per Deserialisierung über eine bekannte Gagetchain erlaubt &lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15133">(CVE-2018-15133)&lt;/a>.&lt;/p></description></item><item><title>Schwachstellenanalyse: RCE in Ajax.NET Professional</title><link>https://mogwailabs.de/de/blog/2022/01/schwachstellenanalyse-rce-in-ajax.net-professional/</link><pubDate>Tue, 18 Jan 2022 12:30:35 +0000</pubDate><guid>https://mogwailabs.de/de/blog/2022/01/schwachstellenanalyse-rce-in-ajax.net-professional/</guid><description>&lt;p>Im Herbst 2021 führte MOGWAI LABS einen Penetrationstest für einen Kunden durch. Dabei stieß unser Team auf eine Anwendung, die das Framework &amp;ldquo;&lt;a href="https://github.com/michaelschwarz/Ajax.NET-Professional/">Ajax.NET Professional&lt;/a>&amp;rdquo; verwendete. Bei einer kurzen Analyse des Framworks-Quellcodes fanden wir eine Deserialisierungsschwachstelle, welche wir an den Entwickler meldeten (&lt;a href="https://github.com/michaelschwarz/Ajax.NET-Professional/security/advisories/GHSA-6r7c-6w96-8pvw">CVE-2021-23758&lt;/a>).&lt;/p>
&lt;p>Dieser Blog-Beitrag enthält auch Findings von &lt;a href="https://twitter.com/mwulftange">Markus Wulftange&lt;/a> (Code White GmbH), der die Bibliothek im Rahmen eines anderen Projekt analysierte und uns in einer Diskussion auf einige weitere Schwachstellen aufmerksam machte.&lt;/p></description></item><item><title>Schwachstellenanalyse: Log4Shell</title><link>https://mogwailabs.de/de/blog/2021/12/schwachstellenanalyse-log4shell/</link><pubDate>Fri, 10 Dec 2021 06:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2021/12/schwachstellenanalyse-log4shell/</guid><description>&lt;p>&amp;ldquo;Log4Shell&amp;rdquo; (CVE-2021-44228) ist eine kritische Sicherheitslücke in der Java-Loggingbibliothek &amp;ldquo;Log4j&amp;rdquo;. Dieser Blog-Beitrag enthält (hoffentlich) alles, was man über diese Schwachstelle wissen muss und wie sie behen kann. Aufgrund des Zeitaufwands wurde er in Eile geschrieben, wir werden vorraussichtlich in den nächsten Tagen weitere Details und Anmerkungen hinzufügen.&lt;/p>
&lt;h3 id="einführung">Einführung&lt;/h3>
&lt;p>Log4j ist ein in der Java-Welt gängiges Framework zum Erstellen von Logdateien. Log4j tut, was man von einer solchenBibliothek erwartet, ist schnell und lässt sich gut in bestehende Java Applikationsserver integrieren. Hier ein einfaches Beispiel, das aus den übergebenen Benutzereingaben einen Logeintrag erstellt.&lt;/p></description></item><item><title>Schwachstellensuche mit CodeQL</title><link>https://mogwailabs.de/de/blog/2021/09/schwachstellensuche-mit-codeql/</link><pubDate>Mon, 13 Sep 2021 14:15:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2021/09/schwachstellensuche-mit-codeql/</guid><description>&lt;h2 id="einleitung">Einleitung&lt;/h2>
&lt;p>CodeQL ist ein semantisches Code-Analyse-Tool von GitHub, welches zur Schwachstellensuche in verschiedenen Sprachen verwendet werden kann. CodeQL erlaubt es Code abzufragen &lt;em>als wären es Daten&lt;/em>. Es hilft dabei, unsichere Codepatterns zu beschreiben und in weiteren Programmen zu finden. Besonders beeindruckend ist die Fähigkeit, Programmflüsse von einer Quelle (Source) zu einer Senke (Sink) nachzuverfolgen, selbst wenn beispielsweise Variablen mehrfach neu zugewiesen oder geändert werden. In den letzten zwei Jahren wurden diverse Blogbeiträge und Schwachstellenanalysen veröffentlicht, die eindrucksvoll die Leistungsfähigkeit dieses Ansatzes demonstrieren.&lt;/p></description></item><item><title>Ausnutzung von ungesicherten RCCMD-Installationen</title><link>https://mogwailabs.de/de/blog/2021/06/ausnutzung-von-ungesicherten-rccmd-installationen/</link><pubDate>Fri, 18 Jun 2021 07:00:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2021/06/ausnutzung-von-ungesicherten-rccmd-installationen/</guid><description>&lt;p>&lt;a href="https://www.generex.de/products/software/rccmd">Generex RCCMD (Remote Control Command)&lt;/a> ist eine Software, die es der USV (unterbrechungsfreie Stromversorgung) erlaubt kritische Systeme rechtzeitig herunterzufahren, bevor der Strom ausgeht. RCCMD erfreut sich in Deutschland vor allem in kleinen und mittelständischen Unternehmen recht großer Beliebtheit. In den letzten Jahren hat MOGWAI LABS bei Penetrationstests mehrere unsicher konfigurierte RCCMDMInstallationen ausgenutzt um Systeme (inklusive Domain Controller) unserer Kunden zu kompromittieren.&lt;/p>
&lt;h2 id="rccmd-übersicht">RCCMD Übersicht&lt;/h2>
&lt;p>Eine typische Installation besteht normalerweise aus einem USV-Überwachungssystem (UPSMON) und mehreren &amp;ldquo;Client&amp;rdquo;-Systemen, auf denen der RCCMD-Dienst installiert ist. Wir werden uns hier auf den RCCMD-Dienst konzentrieren.&lt;/p></description></item><item><title>An Trinhs RMI Registry Filter Bypass</title><link>https://mogwailabs.de/de/blog/2020/02/an-trinhs-rmi-registry-filter-bypass/</link><pubDate>Sat, 08 Feb 2020 05:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2020/02/an-trinhs-rmi-registry-filter-bypass/</guid><description>&lt;p>&lt;strong>TL:DR:&lt;/strong>
Dieser Blogeintrag analysiert das Gadget zum Umgehen des RMI Registry Filters, welches von An Trinh (&lt;a href="https://twitter.com/_tint0">@_tint0&lt;/a>) gefunden wurde. Er behandelt einige grundlegende Konzepte, die bei der Erstellung von Deserialisierungs-Gadgets häufig verwendet werden. Mit Hilfe dieses Gadgets ist es möglich, Deserialisierungsschwachstellen in der RMI-Registry auszunutzen, selbst wenn auf dem Ziel eine aktuelle Java/OpenJDK-Version läuft.&lt;/p>
&lt;p>&lt;strong>Update&lt;/strong>: Die Schwachstelle wurde von Oracle in &lt;a href="https://www.oracle.com/technetwork/java/javase/8u241-relnotes-5813177.html#JDK-8230967">JDK8u241&lt;/a>, welches am 14. Januar 2020 veröffentlicht wurde, behoben. Danke an &lt;a href="https://twitter.com/steventseeley">MR_ME&lt;/a> für den Hinweis.&lt;/p></description></item><item><title>Per Linux SNMP zu Remote Code Execution (RCE)</title><link>https://mogwailabs.de/de/blog/2019/10/per-linux-snmp-zu-remote-code-execution-rce/</link><pubDate>Wed, 30 Oct 2019 17:00:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2019/10/per-linux-snmp-zu-remote-code-execution-rce/</guid><description>&lt;p>&lt;strong>TL:DR:&lt;/strong> Wenn Angreifer über einen SNMP-Community mit Write-Berechtigungen für ein Linux-Ziel zugreifen können ist über die NET-SNMP-EXTEND-MIB-Erweiterung das Ausführen von eigenem Code möglich. Der SNMP-Diest läuft mit root Rechten, weshalb dies auch zur Erhöhung von lokalen Rechten genutzt werden kann.&lt;/p>
&lt;p>Wir haben diese Funktion kürzlich bei einem Assessment verwendet, um uns Root-Rechte auf einem Zielsystem zu verschaffen. Das verwendete Linux-System wurde zuvor bereits mehrfach analysiert, weshalb wir annehmen, dass dieser Angriffsvektor bei anderen Penetrationstestern nicht so bekannt ist.&lt;/p></description></item><item><title>Angriffe auf RMI basierende JMX Dienste</title><link>https://mogwailabs.de/de/blog/2019/04/angriffe-auf-rmi-basierende-jmx-dienste/</link><pubDate>Sun, 28 Apr 2019 06:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2019/04/angriffe-auf-rmi-basierende-jmx-dienste/</guid><description>&lt;p>&lt;strong>TL:DR:&lt;/strong> In einem vorherigen Post haben wir verschiedene Möglichkeiten (primär Java-Deserialisierung) zur Kompromittierung von Java RMI Diensten erklärt. Während RMI wird nicht länger bei der Entwicklung neuer Anwendungen zum Einsatz kommt ist es nach wie vor zum Monitoring von Applikationen per JMX verwendet. Angriffe gegen JMX Dienste sind seit vielen Jahren bekannt, dennoch finden wir regelmäßig unsichere/kompromittierbare JMX Dineste in Penetrationstests.&lt;/p>
&lt;p>Dieses Post gibt zunächst eine allgemeine Einführung zu JMX und beschreibt dann die bekannten Angriffstechniken. Zudem schauen wir uns an wie JMX Dienste per Java-Deserialisierung kompromittiert werden können.&lt;/p></description></item><item><title>Angriffe auf RMI Dienste nach JEP 290</title><link>https://mogwailabs.de/de/blog/2019/03/angriffe-auf-rmi-dienste-nach-jep-290/</link><pubDate>Mon, 25 Mar 2019 06:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2019/03/angriffe-auf-rmi-dienste-nach-jep-290/</guid><description>&lt;p>&lt;strong>TL:DR:&lt;/strong> Die Einführung von JEP 290 blockiert die Verwendung der bekannten RMI Exploits in ysoserial. Solange kein globaler Deserialisierungsfilter konfiguriert wurde ist es jedoch nach wie vor möglich entsprechende Schwachstellen auf Applikationsebene auszunutzen. Dieser Post zeigt wie Argumente für diese Methodenaufrufe zur Laufzeit (unter Verwendung des automatisierbaren Debuggers &amp;ldquo;youdebug&amp;rdquo;) ausgetauscht werden können.&lt;/p>
&lt;p>Da Java RMI (Remote Method Invocation) auf Java Serialisierung basiert wurden entsprechende RMI Dienste zu einem der primären Ziele der &amp;ldquo;Java Deserialisierungs Appocalypse&amp;rdquo;. Dies hat sich durch die Einführung von JEP 290 in aktuellen JDK Releases geändert. Dieser Post beschreibt die entsprechenden Änderungen und wie es nach wie vor möglich ist, entsprechende Deserialisierungsschwachstellen auf Applikationsebene auszunutzen.&lt;/p></description></item><item><title>Modifikation von iOS Apps</title><link>https://mogwailabs.de/de/blog/2019/03/modifikation-von-ios-apps/</link><pubDate>Sat, 02 Mar 2019 09:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2019/03/modifikation-von-ios-apps/</guid><description>&lt;p>&lt;strong>TL:DR:&lt;/strong> Es ist per &lt;a href="http://www.cydiaimpactor.com/">Cydia Impactor&lt;/a> möglich, eine manipulierte iOS-Apps neu zu signieren. Das ist wesentlich einfacher als per XCode oder dem Codesign-Tool.&lt;/p>
&lt;p>Vor kurzem mussten wir im Rahmen eines Penetrationstests eine iOS-App für einen Kunden analysieren. Wie viele Geschäftsanwendungen haben die Entwickler eine Reihe zusätzlicher Schutzmechanismen implementiert, darunter eine Jailbreak-Erkennung sowie Zertifikatspinning. In diesen Fällen verwenden wir in der Regel ein Framework wie  &lt;a href="https://frida.re/">Frida&lt;/a>, um diese Schutzmechanismen zu umgehen und besser mit der Anwendung interagieren sowie die Kommunikation mit dem serverseitigen Backend abfangen können.&lt;/p></description></item><item><title>jarjarbigs</title><link>https://mogwailabs.de/de/blog/2018/10/jarjarbigs/</link><pubDate>Wed, 31 Oct 2018 20:40:35 +0000</pubDate><guid>https://mogwailabs.de/de/blog/2018/10/jarjarbigs/</guid><description>&lt;p>Wenn es um die Analyse von Closed-Source-Java-Anwendungen geht, starten die meisten Forscher schnell einen Decompiler wie &lt;a href="http://jd.benow.ca/">JD-GUI&lt;/a> und beginnen mit der Analyse. Diese Tools sind gut, erlauben aber nur eine statische Analyse. Bei komplexem Code ist es oft sinnvoller, einen Debugger zu verwenden und die Anwendung während der Laufzeit zu analysieren.&lt;/p>
&lt;p>Anders als dnspy (ein Decompiler für .NET-Anwendungen) bietet JD-GUI selbst keine Debugging-Funktionen. Es ist jedoch möglich, IDEs wie Intellij oder Eclipse mit einem Decompiler-Plugin zu erweitern.&lt;/p></description></item><item><title>Schwachstellenanalyse: CVE-2016-5072</title><link>https://mogwailabs.de/de/blog/2018/07/schwachstellenanalyse-cve-2016-5072/</link><pubDate>Fri, 13 Jul 2018 09:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2018/07/schwachstellenanalyse-cve-2016-5072/</guid><description>&lt;p>Vor kurzem suchte ich nach bekannten Schwachstellen in der OpenSource Shopsoftware &amp;ldquo;OXID esShop&amp;rdquo; die sich in Deutschland großer Beliebtheit erfreut. Dabei weckte eine der dort gelisteten Schwachstellen &lt;a href="https://oxidforge.org/en/security-bulletin-2016-001.html">OXID Security Bulletin 2016-001 (CVE-2016-5072)&lt;/a>, mein Interesse, primär wegen dem als &amp;ldquo;hoch&amp;rdquo; eingestuften Schadenspotenzials. Von der Schwachstellenbeschreibung des Herstellers:&lt;/p>
&lt;p>&lt;em>An attacker can gain full administrative access to OXID eShop. This includes all shopping cart options, customer data and the database. They also can execute PHP code or inject malicious code into the system and the shop’s storefront. No interaction between the attacker and the victim is necessary.&lt;/em>&lt;/p></description></item><item><title>Statischer JWT Key in dotCMS</title><link>https://mogwailabs.de/de/blog/2018/07/statischer-jwt-key-in-dotcms/</link><pubDate>Mon, 02 Jul 2018 09:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2018/07/statischer-jwt-key-in-dotcms/</guid><description>&lt;p>Wir haben uns kürzlich dotCMS angesehen, ein in Java geschriebenes Open-Source Content Management System (CMS). Bei der Analyse des CMS-Quellcodes auf potenzielle Deserialisierungs-Schwachstellen stolperten wir über den folgenden &lt;a href="https://github.com/dotCMS/core/blob/044f2463efc7112283901b0da748b054a2ff7224/dotCMS/src/main/java/com/dotcms/auth/providers/jwt/factories/impl/HashSigningKeyFactoryImpl.java#L20">Code&lt;/a>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="nd">@Override&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="kd">public&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Key&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nf">getKey&lt;/span>&lt;span class="p">()&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="kd">final&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">String&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">hashKey&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Config&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">getStringProperty&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;json.web.token.hash.signing.key&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;rO0ABXNyABRqYXZhLnNlY3VyaXR5LktleVJlcL35T7OImqVDAgAETAAJYWxnb3JpdGhtdAASTGphdmEvbGFuZy9TdHJpbmc7WwAHZW5jb2RlZHQAAltCTAAGZm9ybWF0cQB+AAFMAAR0eXBldAAbTGphdmEvc2VjdXJpdHkvS2V5UmVwJFR5cGU7eHB0AANERVN1cgACW0Ks8xf4BghU4AIAAHhwAAAACBksSlj3ReywdAADUkFXfnIAGWphdmEuc2VjdXJpdHkuS2V5UmVwJFR5cGUAAAAAAAAAABIAAHhyAA5qYXZhLmxhbmcuRW51bQAAAAAAAAAAEgAAeHB0AAZTRUNSRVQ=&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">return&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Key&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Base64&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">stringToObject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">hashKey&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Da der Schlüssel während der dotCMS-Installation nicht geändert/regeneriert wird, verwendet jede Standardinstallation von dotCMS denselben Schlüssel, um Json Web Tokens (JWT) zu signieren. Dies machte uns stutzig, da JWTs in der Regel für die Benutzerauthentifizierung verwendet werden. Beim lsen der in der Dokumentation vorhanden &amp;ldquo;Security Best-Practices&amp;rdquo; stellten wir fest, dass das dotCMS-Team ebenfalls &lt;a href="https://dotcms.com/docs/latest/security-best-practices#LoginSecurity">empfiehlt, diesen Schlüssel in Produktionsumgebungen zu ändern&lt;/a>.&lt;/p></description></item><item><title>CANAPE Workshop Folien</title><link>https://mogwailabs.de/de/blog/2018/06/canape-workshop-folien/</link><pubDate>Fri, 22 Jun 2018 09:40:35 +0200</pubDate><guid>https://mogwailabs.de/de/blog/2018/06/canape-workshop-folien/</guid><description>&lt;p>Im April 2018 haben wir auf der BSides München zum ersten Mal unseren kostenlosen CANAPE-Workshop angeboten. CANAPE ist ein Tool, mit dem sich binäre Netzwerkprotokolle analysieren lassen,welche auch heute noch sehr verbreitet sind. CANAPE ist hier einmalig, da es das bekannte Paradigma des Testens von Webanwendungen auf beliebige Netzwerkprotokolle anwendet.&lt;/p>
&lt;p>Dieser praxisorientierte Workshop basiert auf dem Workshop-Material von James Foreshaw (dem Autor von CANAPE) und beinhaltet einen kompletten Überblick über die wichtigsten CANAPE-Funktionen. Die Folien sind sehr detailliert, da wir versuchten, eine Art &amp;ldquo;fehlendes Handbuch&amp;rdquo; für dieses großartige Tool zu erstellen.&lt;/p></description></item></channel></rss>