Це відео не доступне.
Перепрошуємо.

Log4Shell: How does the Log4J attack work?

Поділитися
Вставка
  • Опубліковано 31 лип 2024
  • Log4J has a vulnerability, the BSI has already declared a red alert for it and we take a look at how the attack works exactly.
    To follow along:
    github.com/mbechler/marshalse...
    github.com/tangxiaofeng7/CVE-...
    **All My Social Media Portals**:
    bio.link/themorpheus
    Discord:
    the-morpheus.de/discord.html
    Support me - Thank you!:
    www.patreon.com/user?u=5322110
    www.paypal.me/TheMorpheus

КОМЕНТАРІ • 164

  • @edel9796
    @edel9796 2 роки тому +115

    01:50 Hmm Moment. Auch Version 2.15 ist unter bestimmten Umständen angreifbar. Erst mit 2.16 ist der Bug wirklich gefixt.

    • @patrickFREE.
      @patrickFREE. 2 роки тому +2

      2.16 ist save

    • @Vivendy1
      @Vivendy1 2 роки тому +1

      Stand heute 2.16 nötig. Aber was genau mit 2.15 war weiß Ich nicht

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  2 роки тому +45

      Und ich hab gestern aufgenommen 🤦 das ist schlecht. Danke fürs ergänzen

    • @let_gaming361
      @let_gaming361 2 роки тому +2

      In der 2.16 wurde die komplette Klasse entfernt, um alle Umgehungsmöglichkeiten zu verhindern

    • @edel9796
      @edel9796 2 роки тому +17

      @@TheMorpheusTutorials Du bist halt Tutor und kein Hellseher. :-)
      Das Beispiel selbst bleibt ja trotzdem aktuell und wegen dem Beispiel sind wir ja hier. Danke für das Video!

  • @creampielover69
    @creampielover69 2 роки тому +10

    Darauf habe ich gewartet, vielen Dank für das Video.
    Endlich kann mir jemand in aller Ruhe erklären worum es bei der Sache geht.
    Weiter so!

  • @leonr.154
    @leonr.154 2 роки тому +57

    Ich erinnere mich noch gut wie ich neben meinem Studium beim einem IKT-Unternhmen gearbeitet habe und gemeinsam mit einem Consultant ein eigenes Trace/Log-Programm für deren Software (alles Java) gebastelt habe. Damals hieß es ich solle einfach eine Standardbibliothek nutzen, aber für mich war es eher eine kleine persönliche Challenge zum Thema Stacktiefe der Prozesse um daraus zu lernen. Würde mal sagen die schulden mir jetzt ein kleines Dankeschön.

    • @chrimu
      @chrimu 2 роки тому +8

      Ich möchte nicht wissen, welche anderen Sicherheitslücken dafür enthalten sind. :-) Der Unterschied für das Unternehmen ist, die aktuelle Lücke wird nun von anderen gefixed und das Unternehmen installiert irgendwann ein Patch und fertig. Bei den aller meisten noch bevor ein Angriff passieren konnte. Wenn im selbst gebastelten Zeug irgendwo Lücken enthalten sind, wird sie i.d.R. von einem Angreifer das erste Mal entdeckt.
      Also ja, das Problem bei Standardlösungen, wenn ein Problem auftritt, kann es theoretisch jeden treffen. So erfährt man jedoch, wenn es andere trifft. Und dann kann man zeitnah den daraus resultierenden Fix verwenden.

    • @chrimu
      @chrimu 2 роки тому +2

      Anders als die anderen hunderte Security Patches, die Unternehmen theoretisch jedes Jahr einspielen müssten, wird halt die Lücke mal ausnahmsweise fast überall geschlossen, weil gerade viel Aufmerksamkeit herrscht. Also eigentlich: Je mehr es trifft, desto besser.

  • @jhawnque9362
    @jhawnque9362 2 роки тому +10

    boar krass vor paar tagen erst auf dich aufmerksam geworden, jetzt überzieh ich meine Zeitpläne um mir deine videos rein zu ziehen. guter mann voller Elan mach weiter mit der guten und authentischen art vor zu tragen.

  • @teemo_fpv
    @teemo_fpv 2 роки тому +10

    Gleich noch ein Video von dir :o Vielen Vielen Dank für die ganze Arbeit die du da rein steckst

  • @der_ethical_hacker
    @der_ethical_hacker 2 роки тому +6

    Echt gut und detailliert erklärt! Danke 🙏🏻

  • @shark808
    @shark808 2 роки тому +9

    einfach nur toll erklärt - und dabei nicht einmal zu lange geworden

  • @sharky9493
    @sharky9493 2 роки тому +3

    Hey, super video!! Wirklich verständlich und ausführlich erklärt. Jetzt hab ich als Hacking Anfänger das Prinzip dahinter auch verstanden! Gut dass es dich gibt!!! Du kannst wirklich komplizierte Vorgänge auf ein gutes Mass runterbrechen!

  • @renerere2232
    @renerere2232 2 роки тому +1

    Sehr schöne Demonstration und wirklich einfach den Exploit auszunutzen.

  • @t-ranosaurierruhl9920
    @t-ranosaurierruhl9920 2 роки тому

    Wie immer großartig erklärt, danke!

  • @mTheoriexboxl
    @mTheoriexboxl 2 роки тому +2

    13 Minuten und 16 Sekunden Welturgang und dann wünscht der uns einen entspannten Tag. Geil

  • @Waynmc
    @Waynmc 2 роки тому

    Sehr gut erklärt. Danke dir

  • @muamermeskovic9992
    @muamermeskovic9992 2 роки тому

    Gutes Video, sehr Hilfreich fürs besseres Verständnis

  • @edi973
    @edi973 2 роки тому

    Super erklärt danke dir

  • @Silas-om1om
    @Silas-om1om 2 роки тому +28

    Kleiner fun-fact, die NASA hat ihren Mars Helikopter mitsamt log4j & RCE-exploit auf den Mars gesendet :D

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  2 роки тому +1

      Das ist wirklich ein Fun fact 🤯

    • @n-i-n-o
      @n-i-n-o 2 роки тому +5

      Und schon versucht zu connecten?

    • @nclsDesign
      @nclsDesign 2 роки тому

      @@n-i-n-o Wenn die Satelliten auch so leicht angreifbar wären, gib ihm (wobei man dazu sagen muss, dass viele Satelliten tatsächlich schlecht geschützt sind, aber die NASA-Satelliten wahrscheinlich eher nicht)

    • @insu_na
      @insu_na 2 роки тому +3

      Java auf nem Computer der mit enormen Platz und Leistungseinschränkungen kommt? Glaub NASA ist auch das Talent abgehauen

    • @sharky9493
      @sharky9493 2 роки тому

      Stimmt das echt?? Mein Gott und da arbeitet die ELITE....

  • @chrizy2642
    @chrizy2642 2 роки тому +1

    Ich danke Dir für diese super Erläuterung! Ich hatte nie Informatik in der Schule, kann nicht programmieren aber der PC ist mein Zuhause seit fast 20 Jahren. Auch wenn ich nicht jedes Detail verstanden habe, hat Dein Video mir wirklich geholfen die Problematik zu verstehen. THX a lot!

    • @1aboPLZ
      @1aboPLZ 2 роки тому

      Wieso willst du denn dann nicht Programmieren lernen?

    • @chrizy2642
      @chrizy2642 2 роки тому

      @@1aboPLZ Ich bin 37, gelernte Kffr. f. BK und fühle mich bei meinem Arbeitgeber sehr wohl :) . Meine Kollegen freuen sich, wenn ich ihnen unkompliziert mit Computerproblemchen helfen kann, ohne dass unser Admin gerufen werden muss (nicht das ich explizit dafür bezahlt werde, arbeite in einer öffentl. Verwaltung). Solange ich meine PC's selber zusammen basteln kann und ich Diejenige bin, die auch in meinem Umfeld zu Rate gezogen wird, bin ich zufrieden ;)

    • @1aboPLZ
      @1aboPLZ 2 роки тому

      @@chrizy2642 dachte nur als Hobby oder sowas

    • @chrizy2642
      @chrizy2642 2 роки тому +2

      @@1aboPLZ Da zocke ich doch lieber... Aber wer weiß? Man soll ja niemals nie sagen :)

    • @CPTKATTI
      @CPTKATTI 2 роки тому

      @@chrizy2642 geht mir ähnlich. 😄

  • @floflo5343
    @floflo5343 2 роки тому

    Danke für die Info

  • @JontheRippa
    @JontheRippa 2 роки тому

    Ist das geil 👍
    Das muss ich nach Fummeln
    Eine super Übung

  • @owlie1744
    @owlie1744 2 роки тому +1

    Keine Ahnung von was du da redest hört sich aber interessant an. Gutes Video ( glaub ich ? )
    hat mich auf jeden Fall unterhalten
    PS : zum Glück kam die neue 1.18.1 vor paar Tagen raus ... wer spielt denn noch 1.15 smh

  • @codecrafter_4046
    @codecrafter_4046 2 роки тому

    Ganz schön dunkel bei dir :D trotzdem sehr Gut.

  • @casilol4444
    @casilol4444 2 роки тому +2

    sehr interessant und gut beschrieben 👍
    zum glück benutze ich zum programmieren nur VMs 😅
    so auch für Java, somit save zumal meine systeme hinter 2 FW sitzen + desktop FW manche nennen mich auch para 😂

    • @chrimu
      @chrimu 2 роки тому +4

      Solange Du von Deiner VM Zugriff auf Deine Daten hast, hat das jedes Programm, das Du dort verwendest i.d.R. auch. Was soll daran save sein? Wenn schon Firewalls genannt werden, gehe ich also mal davon aus, dass die VM am Netzwerk hängt. Also ist das keine isolierte Sandbox mehr.
      Selbst wenn all Deine Daten wirklich komplett sicher wären... lässt sich Dein System wunderbar als Zombie verwenden. Das ist sowieso das Ziel der meisten gehackten Systeme.
      Der einzige Vorteil von VMs wäre dann nur noch, dass recht einfach ein Snapshop wieder hergestellt werden kann, soweit vorhanden. Es mag das Widerherstellen vereinfachen. Schützen tut es vor einem Angriff nicht wirklich.
      Was genau sollen 2 Firewalls besser leisten, als eine? Außer, dass man einen schlechteren Überblick über die Regeln hat und die schon alleine deshalb aufweicht.

  • @sidartha67
    @sidartha67 2 роки тому

    Gutes Video, thx.
    Arbeite bei ner großen Versicherung, und der exploit hat mir die Woche versaut, unser Team hat in 3 Tagen 500(!) Programme gepatcht, war spaßig. Drum nehm ich dein .. 'entspannte Woche' Wunsch jetzt mal persönlich 😉.
    Frage weißt du ob die Interpretation erst beim Schreiben oder schon bei Auslösen des loggers initiiert wird?

  • @dodi3778
    @dodi3778 2 роки тому

    Sehr Verständlich für einen Laien erklärt :) Wie können sich den Privatverbraucher schützen? Oder sind die Verbraucher davon abhängig, dass die Server Owner selbst die Lücke (durch Updates o.ä.) schließen?

  • @funkypocorn
    @funkypocorn 2 роки тому

    Danke für die richtig gute Erklärung und das Aufzeigen der Schwachstelle.
    Nur weil's mir aufgefallen ist noch als kleine Ergänzung/Richtigstellung. Der Standardport für LDAP ist 389 bzw. 636 für LDAPS. Port 1389 wurde vermutlich nur bei dem PoC-Code verwendet, um keinen Konflikt mit einem eventuell auf dem System aktiven LDAP-Server zu verursachen. (Aber wer kennt schon alle Ports

    • @n-i-n-o
      @n-i-n-o 2 роки тому

      Stichwort Banner Grabbing. Dann muss der Port nicht mal bekannt sein^^

    • @funkypocorn
      @funkypocorn 2 роки тому

      @@n-i-n-o Achtung auf die Gefahr hin dass es jetzt ziemlich offtopic wird:
      Zum Thema Banner-Grapping:
      In der Theorie geb ich dir da vollkommen Recht. Die -sV Option von nmap verwendet ja vermutlich die
      NSE scripts für den Banner-Check. Ich vermute mal, dass wenn der Service nicht auf seinem well-known port läuft auch das Banner-Grapping fehlschlägt. Denke nicht dass sämtliche NSE-Scripts für alle Ports durchgetestet werden. Lass mich hier aber gerne eines besseren belehren. :-)
      Das heißt in der Praxis wird vermutlich das automatisierte Banner-Grapping dadurch erschwert. Natürlich hält dich niemand davon ab es manuell auf entsprechenden vermuteten Ports zu versuchen.
      Vermute aber wenn die LDAP-Server richtig konfiguriert sind, lassen sie einen anonymous bind überhaupt nicht erst zu. Da mir gerade kein openldap Server vorliegt kann ich leider das Banner-Grapping bei openldap mit anonymous bind off auch nicht testen.
      Wäre aber durchaus interessant...
      Sorry jetzt aber genug offtopic...

  • @VirtualReality-zv5oh
    @VirtualReality-zv5oh 2 роки тому +1

    Hat uns voll erwischt. :( Schnellster Hotfix aller Zeiten (bei uns im Projekt). XD

  • @jamesmor5305
    @jamesmor5305 2 роки тому

    Like und Komment wegen dem Versprechen das du das auch bei neuen Hacks des Jahres machst

  • @longroad-zm5ug
    @longroad-zm5ug 2 роки тому +1

    Wie bekommt der Angreifer denn Zugriff auf die log4j Datei? Also wie kann der Angreifer irgendetwas loggen und dann jndi aufrufen? Außerdem wäre interessant: Was hat sich mit dem Patch geändert? jndi Zugriffe deaktiviert oder wie wurde das gelöst?

  • @dimensiontime_5919
    @dimensiontime_5919 2 роки тому +11

    Wenn man nicht patchen kann (aus welchem Grund auch immer), muss weder Logging noch der Server abgeschaltet werden.
    Man kann beim Start log4j2.formatMsgNoLookups auf True setzen, bzw. die Umgebungsvariable LOG4J_FORMAT_MSG_NO_LOOKUPS auf true setzen

    • @FlyingBullets
      @FlyingBullets 2 роки тому +1

      aber nur für log4j versionen >= 2.10, außerdem ist der parameter auch nicht sicher for den ddos angriffen wenn man thread context map pattern benutzt .. also lieber auf 2.16.0 updaten

  • @GunniBusch1
    @GunniBusch1 2 роки тому +6

    Welche Gesichtsmaske aka skimaske Soll ich mir kaufen wenn ich anfangen will mit hacken? Damit mich der Angegriffene halt nicht sehen kann.

    • @noahf6467
      @noahf6467 2 роки тому +4

      Sonnenbrille ist etwa auf dem Level von Windows Defender - also reicht absolut kappa

    • @chrimu
      @chrimu 2 роки тому

      Wichtig ist, dass sie schwarz ist. Sonst passt sie nicht zum Kapuzenpulli. Zur Not geht auch schwarze Maske mit grünem Matrix-Trace. Die verwenden jedoch eigentlich nur Script-Kiddies. FFP2 sollte aktuell eh klar sein.

  • @Timm2003
    @Timm2003 2 роки тому +3

    Wenn man den Tag vor dem Abend lobt... (oder die Schwachstelle des Jahres vor dem Ende ausruft) haha😂😂😂

  • @iPain3G
    @iPain3G 2 роки тому +4

    Habe ich was nicht mitbekommen oder fehlt das einfach in deinem Video?
    Das Hauptproblem an dieser Funktion ist ja nicht nur das sie funktioniert wie du es beschrieben hast sondern das man nicht mal Zugriff auf den Server braucht um diese Lücke nutzen zu können. Du musst nur irgendwie das Logging triggern und dazu bringen die ldap Verbindung zu öffnen. Da reicht schon ein simples Anmeldefenster und genau das ist eigentlich das Hauptproblem. Es reicht also quasi aus im Nutzerfeld eine Codezeile reinzuhauen und log4j führt das dann einfach aus.
    Mittlerweile ist 2.17 draußen und soll, ersten Erkenntnissen nach, nachhaltig den Bug gelöst haben.

  • @orlintaonas10
    @orlintaonas10 2 роки тому

    Mal n blöde Frage. Wenn ich ne FW vor meine Server hänge wo sich der user erstmal authentifizieren muss sollte ich, auser die üblichen angriffe per mail, doch eigentlich sicher sein. vorrausgesetzt die FW hat diese Lücke nicht.

  • @florianfeilmeier1017
    @florianfeilmeier1017 2 роки тому +2

    Ganz hab ich es nicht verstanden. Du machst das ja direkt im Code über String Interpolation (ich vermute das ist in Java ähnlich wie in DotNet). Aber so lässt sich der Code ja nicht z. B. über ein Eingabefeld auf einer UI oder über eine URL im Browser injecten. So eine Command Injection wäre ja dann wieder Anwendungsspezifisch und nicht direkt Log4J anzukreiden. Wo liegt mein Denkfehler?

    • @DarkBlue3000
      @DarkBlue3000 2 роки тому +3

      Das Problem ist, dass er nicht alles erklärt hat ;-) Das fatale bei Log4j ist, dass alles was in das Log geschrieben wird, getriggert wird. Das wäre so wie wenn du einen Apache Server betreibst und als User-Agent eine Url übermittelst. Diese Url wird dann in das Apache Log geschrieben und Apache versucht diese Url dann aufzurufen. Praxis wegen Log4j: Viele Webseitenbetreiber verwenden Typo3 in Verbindung mit Solr für die Suche. Sucht nun jemand was auf der Webseite, wird der Solr verwendet, der Log4j benutzt bzw. benutzen kann. Gibst du dann bei der Suche den LDAP Befehl zu deinem Rechner ein, dann wird die Verbindung zu deinem Rechner aufgebaut. Hast du den Exploit auf deinem Rechner mit einer Reverse Shell, schon baut sich eine Verbindung vom Server, der Typo3 verwendet, zu deinem Rechner auf. Und du kannst jeden beliebigen Befehl ausführen.

  • @jasoneulitz9420
    @jasoneulitz9420 2 роки тому

    Hey, ich weiß, das Thema ist unpassend. Du sagtest in einem Video vor etwa einem Jahr man soll im programmieren mit den Grundlagen anfangen soll. Sind es die Grundlagen zwei Zahlen zusammen zu rechnen und vielleicht auch Mal ein kleines Text adventure zu entwickeln? Oder ist es eher unnütz? Ich programmiere in der Schule und habe zwei Fächer darüber (Python - struckturiertes Programmieren und c - objektorientiertes programmieren)

    • @chrimu
      @chrimu 2 роки тому

      Das wichtigste am Programmieren - neben umfangreichen Einführungen in Algorithmen, Datenstrukturen und wie man UA-cam Videos über Programmieren dreht - ist das Programmieren. Solange Du programmierst, machst Du Fehler. Solange Du Fehler machst und programmierst, lernst Du dazu.
      Soll heißen: Die von Dir genannten Beispiele sind sehr sinnvolle Beispiele an denen man viel über das Programmieren lernt. Solange man damit nicht aufhört. Und solange man damit Dinge ausprobiert. Und Problemen auf den Grund geht. Wenn der Compiler sich über etwas beschwert. Dann solltest Du Dich nicht darüber ärgern. Sondern Dich damit befassen, warum er das tut. In kaum einem anderen Bereich gibt es so ein nützliches Tool, das einen ganz automatisch auf Fehler hinweisen kann, wie den Compiler.
      Wenn Du dagegen eine Homepage haben möchtest, such Dir ein CMS wie Wordpress und bastel Dir eine irgendwo hin. Niemand bei Verstand programmiert sich eine Homepage selbst. Warum das so ist, siehe Video oben.

  • @florianfanderl6674
    @florianfanderl6674 2 роки тому

    Wie bekomme ich denn den Server im Zielsystem von dem LDAP dann die Datei lädt? Das hab ich nicht ganz verstanden.

  • @alter_elko
    @alter_elko 2 роки тому

    Oh das hab selbst ich verstanden

  • @klausmuller4780
    @klausmuller4780 2 роки тому

    Versehe ich das richtig, dass dies für den Privat-User der keine Game-Apps wie Minecraft oder einen Webshop hat das ganze keine Gefahr darstellt?

  • @tomatentheo6316
    @tomatentheo6316 2 роки тому

    ...was mich ebenfalls interessieren würde, wie die Sache in log4net ausschaut?
    Hier kann man doch die Verbindung zum LDAP Server über System Directory Services aufbauen.

  • @TheCatAliasTNT2k
    @TheCatAliasTNT2k 2 роки тому +3

    Das heißt aber, damit das läuft, müssen auf dem anzugreifenden System ein ldap und ein Server laufen, wo man die Datei runterladen kann? Oder geht das auch ohne?
    EDIT: nö, laut Wikipedia kann der ldap auch vom Angreifer gehostet werden, der ldap führt die Datei nicht aus, sondern log4j führt diese Datei aus..... Ja gut, das is nicht so gut

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  2 роки тому

      Das ist lediglich die einfachste Art, da ran zu kommen. Muss aber nicht so sein

    • @1aboPLZ
      @1aboPLZ 2 роки тому

      Es gibt auch Methoden dass man gar keine Java Klasse lädt sondern einfach nur Shell Befehle einschleust

    • @TheCatAliasTNT2k
      @TheCatAliasTNT2k 2 роки тому

      @@1aboPLZ ah, ok, macht aber nix, mit ner Java Klasse kann man eh alles machen.... das is nicht gut....

  • @prohax3475
    @prohax3475 2 роки тому +1

    Hä was ist das für ein Exploit wenn du zugriff zur Java Class also dem Error haben musst um den Java Code manuell zu ändern?

  • @user-kk5qe9fj2l
    @user-kk5qe9fj2l 2 роки тому +2

    das hat aber lange gedauert xD

  • @markusborg200
    @markusborg200 2 роки тому

    Danke für die Erklärung.
    Du sagst, man sollte das System neu aufsetzen, wenn es infiziert wurde. Aber kann es nicht sein, dass Schadcode hinterlegt wurde der noch nicht aktiviert wurde. Daher, müsste nicht jeder sein System neu aufsetzen, wenn er das ausschließen möchte?

  • @yavuzsimsek3550
    @yavuzsimsek3550 2 роки тому +1

    Hey bro,
    ich weiss das kommt jetzt random, aber könntest du mal ein Video zu „IT Start up Ideen“
    machen die wir nach einem Informatik und/oder einem Wirtschaftsinformatik Studium machen könnten.
    Würde mich sehr freuen.
    Lg

  • @chrimu
    @chrimu 2 роки тому +1

    Und wenn ihr das System einfach mal eben so offline nehmen könnt, solltet ihr das auch offline lassen. Ich würde mal sagen, dass bei den meisten betroffenen Systemen mal die Network Rules überarbeitet werden sollten. Es gibt da so einen Grundsatz, nach dem ein System nur auf das zugreifen können soll, auf das es auch zugreifen können muss.
    Aber ok, ein anderer Grundsatz besagt, dass Software vorallem das tun soll, was der User erwartet. Als Entwickler erwarte ich auf jeden Fall nicht von einer Logging-Library, dass sie aufgrund der Log-Message Code ausführen kann. Wie war das noch gleich mit "Never Trust User Input!"?
    "String substitution ist so kompliziert! Wir sollten echo() und eval() kombinieren!" klingt schon nach einer super Idee! Aber bevor sich wieder alle über Java aufregen, ähnlichen Mist gibt es ja auch für fast alle anderen Sprachen auch. Sogar als natives Sprach-Feature.

  • @Colduz
    @Colduz 2 роки тому

    Da haben die Technologieverweigerer, welche sysout zum loggen benutzen mal wieder alles richtig gemacht.
    Mich wundert ein wenig, dass diese art von Injektion vorher niemanden aufgefallen ist. Gibt es die Lücke schon lange?

  • @based_german
    @based_german 2 роки тому

    Was ist das für ein theme? Sieht sehr nice aus

  • @MarcusHify
    @MarcusHify 2 роки тому

    Proxy davor schalten hilft :)

  • @tolonath8013
    @tolonath8013 2 роки тому

    Jedesmal wenn ein neuer Hack auftatucht ist es "Der Hack des Jahres" xDDD

  • @DeaNozzon
    @DeaNozzon 2 роки тому +1

    Puh, meine Kollegen mussten am Wochenende arbeiten😅 Die armen

  • @marcoh.5477
    @marcoh.5477 2 роки тому

    Generell habe ich die Vorgehensweise verstanden, aber muss ich als Angreifer nicht eh schon Zugriff auf den Server haben, um eben den Link meines Servers angeben zu können?

    • @chrimu
      @chrimu 2 роки тому +1

      Du musst Daten übermitteln, die das System loggen möchte. Also z.B. die Eingabe von falschen Daten. Statischen Text zu loggen macht in einer realen Anwendung wenig Sinn. Was man wissen möchte, wenn z.B. ein Fehler passierte, in welchem Zustand das System war. Welche Daten irgendwo eingegeben wurden und dadurch zu dem Fehler geführt haben.

    • @marcoh.5477
      @marcoh.5477 2 роки тому

      @@chrimu ah, danke dir 😊

  • @chrimu
    @chrimu 2 роки тому

    Was mich mal interessieren würde: Warum gelangen solche Probleme immer so um Neujahr herum an die Öffentlichkeit, wenn man eigentlich in Ruhe Urlaub machen möchte?

    • @MarcusHify
      @MarcusHify 2 роки тому +1

      Damit hast du dir Frage schon selbst beantwortet ;)

  • @nosferatu5500
    @nosferatu5500 2 роки тому +2

    Habe ich dir ihm Video vom 28.11 gesagt, dass dort noch etwas kommt. Das Jahr 2021 ist noch nicht vorbei

    • @chrimu
      @chrimu 2 роки тому

      Na hätte die Welt nur auf Dich gehört!

  • @sux2313
    @sux2313 2 роки тому

    Das ähnelt doch vom Prinzip sehr den SQL Injections oder?

    • @DonDerBalken
      @DonDerBalken 2 роки тому +4

      Naja es ist viel einfacher, da du ja echt nur schaffen musst, dass dieser ldap String geloggt wird. Das kann halt im Prinzip echt jedes Kind...
      Außerdem ist es schlimmer als SQL Injections, weil du halt nicht nur Datenbank-Aufrufe machen kannst, sondern Zugriff auf das gesamte System hast.

    • @sux2313
      @sux2313 2 роки тому

      @@DonDerBalken danke

  • @gamename9097
    @gamename9097 2 роки тому +2

    Bin ich dumm oder brauch man da nicht eh schon Zugriff auf die logger class die kann man dann doch auch einfach umschreiben

    • @Sp1tFire92
      @Sp1tFire92 2 роки тому

      Hab ich mich auch gerade gefragt. Und sofern man Zugriff auf ein fremdes Netzwerk hat und dort Dateien umschreiben kann hat man doch eh schon als "Hacker" gewonnen?

    • @embeddedcoder
      @embeddedcoder 2 роки тому +1

      Nein, der Angreifer muss es nur schaffen, dass dieser Text im Logger der angegriffenen Java-Anwendung geloggt und somit ausgewertet wird. Wie das passiert hängt von der jeweiligen Anwendung ab. Er könnte z.b. einen Fehler provozieren und der wird meistens geloggt

    • @Sp1tFire92
      @Sp1tFire92 2 роки тому

      @@embeddedcoder Bestimmt nicht der Entwickler wie und wann Fehler entstehen und mit welchen Informationen diese geloggt werden? Wie kann hier eine dritte Partei einen "neuen" Fehler ei schleusen ohne auf den Code zuzugreifen?
      Versteh mich nicht falsch, ich bin mir sicher das du recht hast, ich versteh den Ablauf nur nicht ganz.

    • @embeddedcoder
      @embeddedcoder 2 роки тому +1

      @@Sp1tFire92 Ja, die Software bestimmt natürlich was geloggt wird. Zum Beispiel könnte ein Webserver eine fehlerhafte Anfrage eines Nutzers loggen. Das wäre garnicht so unrealistisch. Wenn jetzt der Server einen Eintrag dazu loggt, muss der Angreifer es schaffen, dass seine Payload in dem Log auftaucht, z.b. könnte der Webserver den aufgerufenen Pfad des Nutzers mitloggen, wo ein Fehler aufgetreten sein könnte. Dann muss der Angreifer nur den Pfad mit den Text erweitern und hätte Erfolg. Der Erfolg des Angriffs hängt aber stark von der Anwendung ab und ist nicht immer so einfach. Bei Minecraft hätte es gereicht den Text im Chat zu posten, weil der Chat standardmäßig mitgeloggt wird.

    • @Sp1tFire92
      @Sp1tFire92 2 роки тому

      @@embeddedcoder Sollte das Programm jegliche externe Information dieser Art als string speichern um zu verhindern dass eine Ausführung möglich ist?

  • @dieSpinnt
    @dieSpinnt 2 роки тому

    Übrigens, wie Du sagst: PATCHEN!
    ... wenn so etwas zum neu Aufsetzen des kompletten Systems(1), oder zur Kompromittierung desselben führt, dann würde ich mir einmal Gedanken machen.
    Nach der ersten Ohrfeige ... nicht mehr so eine Technologie einzusetzen. Oder zumindest versuchen das zweite Totalversagen zu vermeiden.
    (1) Bitte bitte bitte lasst den Scheissdreck in einer Sandbox laufen. Im Container? Oder gar nicht? ... das sind alles gute Vorsätze für 2022:)
    Ich wynsch euch einen guten Rutsch!:)

  • @iwiggamob1808
    @iwiggamob1808 2 роки тому

    Cedrik hat aber vertrauen das nichts schlimmeres mehr kommt :D wenn er alle machen will haha

  • @toxyl3915
    @toxyl3915 2 роки тому

    wie Morpheus schon gesagt hat, wenn es keinen patch gibt bzw logging nicht zu deaktivieren ist (falsche lib version, keine rechte, ...) muesst ihr die systeme umbedingt offline nehmen. und wenn das nicht moeglich ist, dann vorallendingen dafuer sorgen, dass die nicht nach draussen kommunizieren koennen. ich habe jetzt schon oft gehoert und gelesen, dass es ja reichen wuerde die requests mit entsprechenden exploits zu blocken. realitaet ist aber, dass logs ueber mehrere server laufen koennen bevor sie bei nem server ankommen, der fuer log4shell anfaellig ist. und wenn der erstmal ankommt und nachhause funken kann, gibt's was ekeliges. ich habe in logs viele requests gesehen, die von nem russischen server kommen und in der URL ist ein stueckchen shell script (base64-encoded) was eine reverse shell aufbaut.

  • @socketconnection4926
    @socketconnection4926 2 роки тому +5

    Die Schwachstelle konnte man nicht nur bei Minecraft Server ausnutzen sondern auch bei Minecraft Clients, da diese ebenfalls mit Log4j arbeiten. Dürfte aber auch bei jeden mittlerweile automatisch gefixed sein durch einem Auto Update

    • @bwabbel
      @bwabbel 2 роки тому

      Jap wurde schon vor einigen tagen gemacht laut mojang

    • @chrimu
      @chrimu 2 роки тому

      Was genau tut eigentlich noch gleich so ein Auto Update? :-D

    • @bwabbel
      @bwabbel 2 роки тому

      @@chrimu einfach ein update, das automatisch gemacht wird. Bei diesem minecraft update muss man z.b. nur den launcher starten oder das spiel beenden, falls es noch läuft, damit das update automatisch heruntergeladen und installiert wird

  • @morihofi
    @morihofi 2 роки тому

    Wie gut, dass ich kein Logging betreibe

  • @dieSpinnt
    @dieSpinnt 2 роки тому

    Danke für das Video
    Vorschlag: Benutz Farben ... das ist sogar besser als physikalisch (VIRTUELL beim Praesentieren, verdammt! :) ) getrennte Adressen. Das wenigstens jemand kapiert, wer hier welcher ist ... und nicht nur irgendwelches Terminalgeblubber. Ne, ist echt schwer ersichtlich. Besonders (Scherz ->) die Drohung, Maven installieren zu müssen, damit man angreifbar ist.
    P.S.: Persönlich fand ich am besten den Witz mit Active Directory. ROTFL ... war der gut;))))))

    • @dieSpinnt
      @dieSpinnt 2 роки тому

      (also wer hier Angreifer und Target ist ... was die Payload ist, usw. mein icke:) )
      Das Javaspezifische Gefasel hilft uns C++ Leuten, die die selben Probleme haben auch nicht weiter.
      Nur so ne ... ach scheiss aufs alte Jahr. Nen guten Rutsch, TMT:)

  • @weissmannrob
    @weissmannrob 2 роки тому

    Gut erklärt, aber damit die Exploitklasse letztlich geladen wird, muss im Logging selbst der entsprechende Code IM Programm bereits drin stehen. D.h. das kann ja von außen - insofern das eigentliche Programm nicht gehackt wurde - keiner einfach mal so machen und müsste vom entsprechenden Entwickler selbst stammen. Generell ist diese Funktion von Log4J fragwürdig, aber so dramatisch ist es letztlich doch nicht, wenn, das was du gezeigt hast, alles ist.

  • @marcee79
    @marcee79 2 роки тому

    Na ja, mal so eben schnell patchen geht eben leider nicht immer. Log4j wird ja gerne mal in andere Libs gepackt, teilweise x-fach verschachtelt. Man muss also oft auf einen Patch für die gesamte Software bzw. Appliance warten. Und dafür brauchen vor allem die großen Hersteller von der Analyse, über die Entwicklung und das Testen, bis zum Release leider einige Tage.

  • @mjk3803
    @mjk3803 2 роки тому

    warum ist das erst jetzt entdeckt worden? ^^

  • @avadex
    @avadex 2 роки тому

    Am besten sind die Leute, die jetzt schnell ein Update installieren das noch gar nicht richtig erforscht wurde. Nur 0,02% der Server werden mit oder wegen Log4j angegriffen. Aber installiert mal schön eure Updates und kämpft dann mit den Langzeitfolgen.

  • @BlackbirdDH
    @BlackbirdDH 2 роки тому

    also ... irgendwie hast Du das mega kompliziert erklärt, finde ich ... bisschen langsamer reden und vielleicht mal ein Bild malen ... ;-) ...

  • @sitsorfozcotyohclgyiuyugch8306
    @sitsorfozcotyohclgyiuyugch8306 2 роки тому

    Wenn Log4J gefixt = Safer Minecraft

  • @lindag.2315
    @lindag.2315 2 роки тому +1

    das MegaLoch (bekannt seit 2016 / siehe blackhat) und nix passiert .... merkwüdig. Mindkraft ist mir egal.

  • @cydiafrosch8213
    @cydiafrosch8213 2 роки тому

    Wie um gottes Willen kommt denn ein Entwickler dazu, sowas in so einer logging-bibliothek zu ermöglichen?

  • @1aboPLZ
    @1aboPLZ 2 роки тому

    Was musste sich wohl die NSA gedacht haben als man diese eigentlich mehr oder weniger offensichtliche Schwachstelle endlich gefunden hat :^)
    Was hat sich der Entwickler dabei gedacht? 😂
    Sollte doch klar sein dass da in logs auch und vorallem User Input landet

    • @TheBroadwood
      @TheBroadwood 2 роки тому

      Die Entwickler trifft erstmal keine Schuld. Das sind Menschen, die an diesen Projekten neben ihren Hauptjobs arbeiten. Security by Design ist in der Programmierwelt noch immer ein jungfräuliches Konzept. Als wenn ich als Geheimdienst oder Unternehmen Software für kritische Infrastrukturen einsetze, dann sollte auch zugesehen werden, dass nicht kostenloses Standardbibs verwendet werden, zu deren Quellcode jeder Mensch einsicht hat.

    • @chrimu
      @chrimu 2 роки тому

      @@ruakij6452 naja, ... Bug... eigentlich funktioniert es ja schon so, wie es soll. Das "wie es soll" ist halt problematisch und für den regulären Nutzer (die Entwickler von Anwendungen) nicht zu erwarten. Dabei ist es egal ob kostenlos oder nicht... Klar, kann ich jeden Schrott auf GitHub veröffentlichen. Aber hat man als Entwickler keine eigene Moral? Ansonsten heißt es doch immer... im Interessen des Users entwickeln, ihn nicht überraschen, möglichst selbst erklärend...
      PS.: Bei der Schuldfrage geht es nicht um A oder B, es können auch alle Schuld haben. :-)

    • @chrimu
      @chrimu 2 роки тому +1

      @@TheBroadwood Sicherheit entspringt nicht daraus, dass Code oder Algorithmen geheim sind. Sicherheit entspringt aus erwartbar funktionierendem Code und einem komplett bedeutungslosem Geheimnis, dessen einziger Zweck darin liegt geheim zu sein. Denn wenn Deine Sicherheit darauf basiert, dass Dein Code geheim ist, hast Du ein Problem, wenn er trotzdem Sicherheitslücken enthält. Von denen erfährst Du erst dann, wenn ein Angreifer Dir davon erzählt.
      Ein sicheres System erhälst Du dann, wenn Du jedem auf der Welt den Code gibst und behauptest, das System ist absolut sicher.
      Denn anders als die 5002342 anderen Sicherheitslücken, die vermutlich aktuell ausgenutzt werden können, um diverse Systeme anzugreifen, wird diese Lücke fast überall gefixed. Sie existiert ja schon länger. Das ist das Problem. Nicht das Wissen über sie. Auch nicht die Möglichkeit sie einzubauen. Sie wurde ja nicht gezielt für einen Angriff implementiert. Hätte also auch einem kommerziellen Anbieter passieren können. Dem sogar sher viel eher. Denn der ist wirtschaftlich von schwachsinnigen Kundenwünschen abhängig.

  • @mqxi5263
    @mqxi5263 2 роки тому

    Wurde des bei Apple schon gefixt

  • @joergf6
    @joergf6 2 роки тому

    Ich sage bei solchen Sachen gerne eval ist evil ;-)

  • @UndercoverDog
    @UndercoverDog 2 роки тому +1

    0:50 你好

  • @SY-Selene
    @SY-Selene 2 роки тому

    Hmm .. die Entwickler haben wohl nie etwas mit PHP gemacht. Da gabs den letzten großen ähnlichen Bug Anno 2013 in der explode(); Funktion... irgendwie peinlich ...

  • @naheliegend5222
    @naheliegend5222 2 роки тому

    4:47 LDAP ist doch keine Nutzerverwaltung?! Du hast wahrscheinlich weiter gedacht und dir ist Active Directory in den Kopf gesprungen.

  • @CookieGamesHD
    @CookieGamesHD 2 роки тому

    ^^

  • @thepaulcraft957
    @thepaulcraft957 2 роки тому +1

    1:57 also im wahrsten sinne des wortes apatche

    • @bwabbel
      @bwabbel 2 роки тому

      Oh gott war der schlecht 😂

  • @Theodor_B.
    @Theodor_B. 2 роки тому

    Das heißt doch im Grunde nichts anderes als das man Silent ein Keylogger installieren lassen kann 😕

  • @devopslp
    @devopslp 2 роки тому

    Bitte Logging nicht deaktivieren, dieses ist BSI Mindeststandard für den Betrieb von Software.

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  2 роки тому +1

      Natürlich nicht dauerhaft, höchstens bis Patches angewandt wurden

    • @1aboPLZ
      @1aboPLZ 2 роки тому

      mit so nem Java start argument kann man das auch vorläufig fixen

    • @devopslp
      @devopslp 2 роки тому

      @@1aboPLZ Der nolookup Parameter wird leider auch schon, unter Umständen, als unsicher eingestuft. Als sicher gilt nur das Update auf 2.16.
      Ich bin gespannt, wann auch dieser Status kassiert wird. :-)

    • @chrimu
      @chrimu 2 роки тому

      Es ist auch BSI Mindeststandard, dass Systeme nur auf die Resourcen zugrifen dürfen, die sie unbedingt für den Betrieb benötigen.

    • @devopslp
      @devopslp 2 роки тому

      Ja, ich bin auch der Meinung, eine Logging Lib sollte strings loggen und kein File lookup machen.

  • @Knogga75
    @Knogga75 2 роки тому

    0:23 : Ich, dey überlegt, ob em nicht noch ein Botnet loslaufen lässt.

  • @robble21
    @robble21 2 роки тому

    Also mit Kali Linux wirst du das ding schneller hacken 😂

  • @obtFusi
    @obtFusi 2 роки тому

    Wer keine Updates einspielt ist selber schuld. Leid tut es mir nur um die Kunden.

  • @Igor90ification
    @Igor90ification 2 роки тому

    12:20 Oder man nutzt outbound rules... 😅

    • @chrimu
      @chrimu 2 роки тому

      Immer dieses neumodische Zeug!

  • @gerdi5518
    @gerdi5518 2 роки тому

    Tja, Error by design würde ich sagen.

  • @Carokas42
    @Carokas42 2 роки тому

    weis man schon ob es problematisch ist eine JDK auf dem Rechner installiert zu haben ?

    • @1aboPLZ
      @1aboPLZ 2 роки тому

      da muss dann irgendeine Anwendung auch laufen die ans Internet angebundenen ist. Außerdem muss dann auch noch User Input in den Log einschleusbar sein

    • @chrimu
      @chrimu 2 роки тому

      Hat mit dem JDK oder JRE oder Java an sich erstmal nichts direkt zutun. Die Library als solches ist jedoch eine zusätzliche Java-Library und kann dadurch überhaupt nur von Java-Anwendungen genutzt werden.
      Manche Java-Anwendungen bringen auch ihr eigenes JRE mit. Das reine Deinstallieren von Java stellt also nicht komplett sicher, dass keine Java-Anwendungen laufen können.

  • @janschmidt4649
    @janschmidt4649 2 роки тому +1

    Du bist bissl spät dude 😂

  • @marcm.4278
    @marcm.4278 2 роки тому

    lol

  • @Amejonah
    @Amejonah 2 роки тому

    "hat gerade eine Schwachstelle" ehm... seit 2013 ist nicht wirklich mehr "gerade" :^)

    • @chrimu
      @chrimu 2 роки тому

      Never change a running system und so...

  • @teqexe
    @teqexe 2 роки тому +1

    Meine noch nicht existierende erste Tochter ist dir versprochen

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  2 роки тому +1

      Ich bin zu alt und vergeben, vielen Dank 😂

    • @teqexe
      @teqexe 2 роки тому

      @@TheMorpheusTutorials 😃 serious mal: dein content ist next Level. Was du hier an Wissen teilst und für Bewusstsein sorgst; so jemanden wie dich würde ich gerne mal in Entscheidungspositionen sehen tbh ^^ danke dafür.

  • @inspektorgadget1129
    @inspektorgadget1129 2 роки тому

    danke für das video aber du sprichst ein bisschen schnell und nervös :D

  • @TamifluOne
    @TamifluOne 2 роки тому

    Also lieber kein minecraft zocken 😂

    • @bwabbel
      @bwabbel 2 роки тому

      Naja mojang hat vor ein paar tagen schon ein auto update für die clients gemacht, aber server können natürlich immer noch angegriffen werden, wenn sie nicht manuell gepatched wurden