Automatisierung im Cyberspace
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Untertitel |
| |
Serientitel | ||
Anzahl der Teile | 62 | |
Autor | ||
Lizenz | CC-Namensnennung 4.0 International: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/59741 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
| |
Schlagwörter |
FrOSCon 202220 / 62
4
9
12
13
17
18
20
25
28
33
34
39
40
42
44
45
48
54
55
58
60
62
00:00
SoftwareHypermediaSymmetrieAsymmetrieProzessautomationCyberspaceVorlesung/Konferenz
00:43
SoftwareHackerNetzwerk <Graphentheorie>DatenverarbeitungssystemHackerComputeranimation
01:31
HackerGleitendes MittelSoftwareSoftwareHackerCompilerFirewallSoftwareentwicklungSystems <München>ExploitVorlesung/Konferenz
03:11
ProviderNetzwerk <Graphentheorie>PerspektiveRechenschieberVorlesung/Konferenz
03:55
SoftwareHypermediaVersion <Informatik>Wort <Informatik>MengeOpen SourceQuelle <Physik>Computeranimation
06:21
SoftwareSoziale SoftwareDateiReverse EngineeringDomain-NameActive DirectoryThreadMalwareKryptoanalyseListe <Informatik>Computeranimation
07:27
InternetMicrosoftRechenschieberVorlesung/KonferenzComputeranimation
08:25
SuchmaschineComputeranimation
09:33
SoftwareStichprobeMalwareDateiComputeranimation
10:44
SoftwareUMLMAX <Programm>MAX <Programm>ProviderVorlesung/Konferenz
12:26
UMLInformationMAX <Programm>Uniformer RaumSoftwareVorlesung/KonferenzComputeranimation
13:31
Computeranimation
14:12
OWL <Informatik>PerspektiveGesetz <Physik>Vorlesung/Konferenz
15:09
Typ <Informatik>HackerKomponente <Software>SystemplattformComputeranimationVorlesung/Konferenz
16:16
Software
17:00
Reverse EngineeringDateiVorlesung/Konferenz
18:01
DefaultSchnittmengePAUSBenutzeroberflächeSoftwareSchar <Mathematik>Reverse EngineeringViewerCodeProgramminspektionFunktion <Mathematik>FRAMEWORK <Programm>Computeranimation
19:14
HTTPSoftwareFRAMEWORK <Programm>InternetVariableURLAPIWINDOWS <Programm>CodeComputeranimation
21:15
Gewicht <Ausgleichsrechnung>InternetOpen SourceServerCodeFunktion <Mathematik>StichprobeDienst <Informatik>Computeranimation
22:21
Quelle <Physik>SoftwareWurm <Informatik>Dienst <Informatik>Funktion <Mathematik>Computeranimation
23:17
Chatten <Kommunikation>Schar <Mathematik>MODULAVersion <Informatik>EditorDOSSoftwareAdressierungDefaultSIZFunktion <Mathematik>APIWINDOWS <Programm>DateiCodeHackerMalwareParametersystemStichprobeProgramm/QuellcodeComputeranimation
26:13
Schar <Mathematik>Open SourceWurm <Informatik>ZeichenketteZufallszahlenSIZActor <Programmiersprache>Programm/QuellcodeComputeranimation
27:04
SoftwareAVA <Programm>Version <Informatik>EditorDemoszene <Programmierung>HackerProgramm/QuellcodeComputeranimation
27:46
Version <Informatik>EditorComputeranimationProgramm/Quellcode
28:29
Version <Informatik>SoftwareVAXKeller <Informatik>Schar <Mathematik>PasswortZeichenketteReverse EngineeringProgramm/QuellcodeXMLFlussdiagrammComputeranimation
29:13
Schar <Mathematik>ACCESS <Programm>DechiffrierungSoftwareDateiRechenschieberDatenverarbeitungssystemMalwarePasswortComputeranimation
29:55
SoftwareALT <Programm>RichtungMicrosoftApple <Marke>ComputeranimationVorlesung/Konferenz
30:42
World Wide WebDateiWort <Informatik>Vorlesung/Konferenz
31:44
DefaultKernel <Informatik>ZeichenketteSoftwareParametersystemMomentenproblemComputeranimation
33:13
CLOU <Programm>MehrwertnetzSoftwareWorld Wide WebDateiDigitales ZertifikatComputeranimation
33:53
SoftwareVersion <Informatik>EditorMachsches PrinzipMischung <Mathematik>MatrizenringComputeranimationVorlesung/Konferenz
34:43
TINA <Telekommunikation>SoftwareDatentypIndexLängeComputeranimation
35:40
Lokales MinimumSoftwareInnerer PunktQuellcodeDivisionPAUSGleitendes MittelZahlOrdnungsbegriffDatentypProgramm/QuellcodeComputeranimation
36:40
SoftwareVolumenHomepageDateiRechenschieberMalwareComputeranimation
37:19
VolumenDrahtloses lokales NetzHackerDateiWorld of WarcraftComputeranimationProgramm/Quellcode
38:05
Demoszene <Programmierung>SoftwareMetadatenMalwareDateiProzessautomationStichprobeSpur <Informatik>ComputeranimationVorlesung/Konferenz
40:24
SoftwareAnalysisMalwareQuelle <Physik>InternetWeb-SeiteZusammenhang <Mathematik>DateiStichprobeComputervirusDownloadingComputeranimation
42:02
SoftwareAnalysisOffice <Programm>MetadatenHackerPasswortDateiformatMalwareMAKROSMicrosoftE-MailMetadatenCodeComputeranimation
43:50
SoftwareLARS <Programm>Supremum <Mathematik>DateiHackerAsymmetrieComputeranimationVorlesung/Konferenz
45:12
UMLLARS <Programm>VimSIMA-DialogverfahrenBenutzeroberflächeProzess <Physik>KryptoanalyseServerHintertür <Informatik>BetriebssystemDownloadingLIGA <Programm>ProgrammfehlerEindringerkennungVorlesung/Konferenz
51:07
JSONXMLUML
Transkript: German(automatisch erzeugt)
00:07
Wunderbar. So, hallo zusammen. Schön, dass ihr alle heute gekommen seid. Mein Name ist Lars Wallenborn. Ihr könnt mich auch einfach Lars nennen. Ich denke, es werden hier nur noch ab und zu ein paar Leute reinschneiden. Ich versuche mich nicht davon ablenken zu lassen. Das wird ganz katastrophal klappen.
00:20
Der Name meines Talks ist Automatisierung im Cyberspace. Ich habe auf jeden Fall darauf geachtet, genug Cyber im Titel und auch in der restlichen Präsentation vorkommen zu lassen. Und ich möchte darüber reden, wie wir die Asymmetrien überbinden können. Jetzt werde ich mal kurz erklären, was ich damit meine. Also wenn ich über Asymmetrien rede, meine ich offensichtlich nicht Asymmetrien in der Architektur oder sowas.
00:41
Sondern Asymmetrien zwischen zwei Gruppen, die ich jetzt hier mal kurz erklären möchte. Irgendwie halt zwischen AngreiferInnen in so Netzwerken und VerteidigerInnen in so Netzwerken. Manchmal, um den ganzen so ein bisschen mal so einen Corporate-Touch zu geben, bezeichnet man die manchmal auch als Red Team oder Blue Teams. Also Red Teams sind irgendwie Leute, die wollen in ein Netzwerk eindringen. Das nennt man manchmal auch Penetration-Testing oder Pen-Testing.
01:02
Das sind doch alles so ein bisschen weiche Begriffe. Und Blue Teams sind normalerweise die, die in Firmen drin sitzen, um da zu verteidigen. Oder umgangssprachlich könnte man diese beiden Gruppen auch irgendwie einfach Hacker oder Defender nennen, um so ein bisschen englische Begriffe dafür zu benutzen jetzt. Also Hacker ist schon sehr umgangssprachlich, ja. Und das meine ich jetzt im Mediensinne und nicht so im eigentlichen Sinne, wo es einfach nur heißt, jemand, der gut mit Computern umgehen kann.
01:26
So, und zwischen den beiden Gruppen, behaupte ich jetzt, oder, na was heißt behaupte ich jetzt, gibt es klassischerweise so eine Asymmetrie, von der man immer redet, ja. Also die eine Sache, die dazwischen auf jeden Fall einen großen Unterschied ergibt, ist, dass man immer sagt, ja, die Hacker, die Angreifer, die sind proaktiv.
01:40
Die dürfen sich entscheiden, welche Systeme werden angegriffen, welche Tools werden eingesetzt, welche Exploits werden abgefeuert, in denen welche Schwachstellen ausgenutzt werden und so weiter. Und aus Verteidigerperspektive kann man darauf immer nur reagieren, ja. Also ich kann nicht, also, ich müsste halt alle Computer immer verteidigen und kann mir nicht einen aussuchen, den ich verteidige.
02:01
Und das bringt auch jetzt schon, das ist eine gute Überleitung zu dem zweiten großen asymmetrischen Punkt zwischen diesen beiden Parteien. Als Angreifer muss ich nur einmal erfolgreich sein, ja. Also wenn ich einmal drin bin und ein Computer im Zielnetzwerk kompromittiert habe, kann ich von da weiterarbeiten innerhalb eines Netzwerkperimeters. Das ist dann meistens nicht mehr so gut verteidigt, gibt es keine Firewall mehr und so weiter.
02:21
Und aus Verteidigerperspektive habe ich genau das Gegensätzliche des Problems. Ich muss nur irgendwo einen Fuck-Up machen, an irgendeiner Stelle, nicht gut genug arbeiten, dann sind die Hacker drinnen und können ihr böses Tatwerk tun. Und das letzte, das vielleicht noch ein Diskussionswürdigsten auf dieser Liste von asymmetrien zwischen den Parteien ist, dass Mailware-Schreiben einfach ist, aber Mailware-Analysieren und Reverse-Ingenieren ist schwer.
02:43
Also ich habe das einfach jetzt hier in Anführungszeichen gesetzt, weil also hier wissen ja wahrscheinlich alle, wie schwer es ist, Software zu entwickeln, da kann schon viel schief gehen. Dazu möchte ich noch ein bisschen dazugeben, dass Mailware sehr einfache Software ist. Wir reden da nicht von irgendwelchen Business-Applications, sondern die, oder häufig ein sehr eingeschränktes
03:01
Feature-Set und das wird dann halt implementiert und das ist nicht so viel Arbeit. Reverse-Ingenieren auf der anderen Seite ist aber natürlich schon ein Haufen Arbeit, damit meine ich halt den gegenseitigen Vorgang vom Softwareentwicklung und Kompilieren. Also man hat irgendwie Artefakte bei einem Angriff und versucht die zu analysieren und zu verstehen, was da so vorgeht. So, jetzt kann man also sagen, Talk vorbei, es sieht katastrophal aus, wir
03:23
haben alle keine Chance, unsere Netzwerke zu verteidigen, wir hören jetzt also auf. Und ich möchte so ein bisschen neue Perspektive darauf geben, um vielleicht so ein bisschen mehr Hoffnung zu machen und so. So und dafür möchte ich so einen Perspektivwechsel vorschlagen, von dieser klassischen Defender-Position zu einer Art Defender-Plus-Position.
03:41
Dafür gibt es auch natürlich einen Marketing-Ausdruck und der heißt Cyber-Threat-Intelligence. Ist krass, ne? Verdreht man direkt die Augen, ja. Und falls ihr das noch nicht gehört habt und nicht die Augen verdreht, ja, habe ich jetzt hier so einen Slide gemacht, wo ich mal kurz so eine Übersicht geben möchte, was ich damit meine, wenn ich CTI oder Cyber-Threat-Intelligence sage.
04:02
Das ist klassisch bedingt oder historisch bedingt, oder nicht historisch, das ist auf jeden Fall ein Marketing-Ausdruck, ja. Also wenn man irgendwo Verteidigungs-Software einkauft, dann ist Cyber-Threat-Intelligence irgendwie der Scheiß. Und das kommt vielleicht auch ein bisschen daher, dass das Wort noch nicht so scharf definiert ist, dass es ein relativ neues Wort ist, also so ganz anekdotisch.
04:21
Ich habe nachgeguckt, wann der Wikipedia-Artikel davon ist, der ist von 2015 erst, ja, das Wort ist irgendwie sieben Jahre alt. Und die erste Version des Artikels sprach auch davon, dass Cyber-Threat-Intelligence ein elusive-Concept ist, ja, also irgendwie schwer greifbar, was damit gemeint ist und so weiter. Und wenn man jetzt aber mal den ganzen Marketing-Bullshit ausklammert, dann würde ich schon sagen, dass das was ist, Cyber-Threat-Intelligence, und ich versuche das jetzt mal in einem Satz zu definieren.
04:44
Vielleicht fast ist das nicht 100%, aber ich würde sagen, Cyber-Threat-Intelligence ist das Anhäufen von Wissen über Angreifer und Angreiferinnen und über die Bedrohungs-Landschaft im Allgemeinen. Und weil das halt jetzt ein sehr High-Level-Ausdruck ist und vielleicht deswegen noch ein bisschen schwer zu greifen, mache ich jetzt ein paar Beispiele.
05:01
Also wenn ihr eure Cyber-Bingo-Karten dabei habt, dann solltet ihr die jetzt rausnehmen. Das nächste Slide, da wird es auf jeden Fall ein paar Bingos geben. So, Cyber-Threat-Intelligence. Ich habe hier eine Liste, die ist wahrscheinlich nicht ganz vollständig und noch nicht ganz trendscharf, aber ich gehe jetzt mal durch, dass wir uns alle so ein bisschen was davon vorstellen, was wir meinen. Das Erste ist Open Source-Intelligence. Das Open Source hier drin hat nichts mit den Open Source in Froskon zu tun.
05:23
Damit ist nämlich nicht gemeint, Open Source-Software oder offene Quellen, also im weitesten Sinne schon, damit sind Quellen gemeint, die man sich zunutze machen kann, die öffentlich zugänglich sind. So im weitesten Sinne. Also fängt mit so einfachen Sachen an wie Google Maps, aber auch irgendwie so soziale Netzwerke, also manchmal redet man da nicht nur von OS-Int, sondern auch von Social Media-Intelligence.
05:42
Also wie gesagt, das ist alles nicht ganz trendscharf und da ist eine Menge Marketing-Druck drauf auf diesen ganzen Nomen, auf diesen ganzen Worten drauf. Also öffentliche Quellen, Google Maps, irgendwelche anderen Satellitenbild-Provider, soziale Medien, aber auch Telefonbücher oder irgendwelche anderen Sachen, die man in der Stadt, in einem Stadthaus nachgucken kann und so.
06:01
Der zweite Punkt, der ist so ultra cool, das bezeichne ich Human Intelligence, das ist dieser klassische Spion-Stuff wie in so Filmen, so James Bond-mäßig. Also Menschen klären auf. Das ist aber sehr viel breiter, als ich das gerade dargestellt habe, also
06:20
das bezeichnet sowohl jemand, der sich als Schuhverkäufer ausgibt, aber in Wirklichkeit ein V-Mann ist oder so. Aber es geht auch weiter zu Gesprächen, die man auf Konferenzen führt, so wie hier, mit Journalisten, aber nicht unbedingt. Also im weitesten Sinne ist das Human Intelligence. Dann gibt es Technical Intelligence, darüber werde ich hauptsächlich reden heute in dem Talk, es ist ja auch hier Technische Audience und so und da ist auch weniger Marketing-Bullshit drin.
06:43
Und Technical Intelligence ist auch leider ein sehr breiter Begriff, der fängt bei so super lamen, langweiligen Sachen an, wie so IOC, also Indicator of Compromise-Listen, also lange Listen von bösen Domains und bösen IPs und bösen Dateien und bösen Dateinamen und all so ein Kram, die
07:01
man dann benutzen kann, um so ein ADS rein zu tun oder zu gucken, ob man von einer Malware oder einer Thread getroffen wurde. Aber diese Technical Intelligence geht auch noch viel weiter, die geht auf jeden Fall auch zu Malware Reverse Engineering und der Analyse von Angriffen im Allgemeinen und auch von Kampagnen, die dann eventuell hinter den Angriffen stehen und so weiter.
07:23
Der nächste Punkt ist Forensik, das ist wie gesagt nicht trennscharf zu Technical Intelligence, damit meine ich vor allem so die Analyse von vielen Daten, die auf einem Haufen liegen, also von Festplatten-Images, von virtuellen Maschinen, die noch laufen oder nicht mehr laufen, da gibt es ja hier von der Polizei so Möglichkeiten, da irgendwie Daten abzugreifen und all solche Sachen.
07:47
Ein weiterer Juicy Punkt ist Internet-Wide-Traffic, das ist jetzt eine Quelle von Cyber Thread Intelligence, die steht vielen Akteuren nicht zur Verfügung. Also ich meine, die NSA hat solche Fähigkeiten, wissen wir ja seit den ganzen Leaks, die können irgendwie Internet -Wide-Traffic einfach suchen und da diese Keywords finden und dann da irgendwie drauf reagieren und daran handen und so.
08:04
Was so privaten Unternehmen vielleicht noch am nächsten kommt, was sie zur Verfügung haben, was so ähnlich ist, ist so etwas wie Telemetrie, also wenn man sich sowas vorstellt wie Microsoft oder so, die haben auf der ganzen Welt Windows-Installationen und kriegen daraus auch quasi jetzt nicht Internet -Wide-Traffic, aber schon auch eine gute telemetrische Übersicht über das Bedrohungsszenario in der ganzen Welt.
08:24
Und da es auf keinen Fall auf so einer Slide fehlen darf, wegen den Bingo-Karten, ist auf jeden Fall das Deep- und Dark-Web, also mit Dark-Web meine ich den Bereich des Internets, der nur über Tor erreichbar ist, also anonymes Hosting und so weiter. Und mit Deep-Web meine ich den Bereich des Internets, der nicht über Suchmaschinen gefunden werden kann, also nur über Deep-Links darauf zugegriffen werden kann.
08:43
So und jetzt möchte ich, also jetzt haben wir so einen groben Einblick, what the hell is even that Cyberthreat Intelligence, und jetzt möchte ich drei Fälle durchgehen mit euch, die exemplarisch natürlich nur sind, wir haben nicht Zeit irgendwie, naja, alles hier zu behandeln und die so ein paar Punkte unterstreichen, die ich danach machen werde.
09:02
Und diese drei Fälle sind die drei hier, das erste ist Trickbot, WannaCry und Shamoon. Ist auch ein buntes Potpourri an verschiedenartigen Fällen, also Trickbot ist ein Botnetz und die dahinter stehende Gruppe ist ganz klar finanziell motiviert, also ein kriminell motivierter oder krimineller Akteur. Shamoon ist ein staatlicher Akteur oder ein staatlich gestützter Akteur, der einen Angriff durchgeführt hat und WannaCry
09:25
ist eine ganz lustige Kombination aus den beiden, das ist ein staatlich gestützter Akteur, der Geld verdienen wollte. Das passiert nicht so oft, aber genau und vielleicht haben einige von euch das auch schon mitbekommen, einige davon, wenn nicht ist nicht schlimm, ich gehe die jetzt hier einmal durch und habe auch vielleicht bei jedem so ein paar Gedanken, ja, habt ihr bei jedem auch so ein paar Gedanken.
09:46
Genau, also Trickbot, erster Fall, da direkt sowas vorneweg, das habt ihr vielleicht auch schon mitbekommen, wenn man so als Reverse Engineer so Malware untersucht, sagen wir mal ich hab irgendwie ein Trickbot Sample und untersuche das, aber ich weiß noch gar nicht, dass es Trickbot ist, beziehungsweise ich weiß vielleicht auch noch gar nicht, es ist noch 2015 und niemand hat Trickbot gefunden, dann hat das ja erstmal
10:05
keinen Namen und so und dann sucht man sich einfach als Analyst meistens irgendeinen Namen aus, der soll möglichst viel Sinn ergeben, vielleicht auch was mit der Malware zu tun haben, auch ein Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro -Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro-Pro Pro-Tip, wenn ihr so einen Namen irgendwann mal, wenn ihr in der Situation sitzt, so einen Namen auszuwählen, wählt einen, der gut auszusprechen ist, also es gibt zum Beispiel so eine Malware, die heißt Sodinukibi, das hat sich aber nicht durchgesetzt,
10:23
weil sich niemand Sodinukibi merken konnte, die nennt man jetzt Arevil stattdessen, weil es cooler ist und besser auszusprechen und so, so, aber man hat jetzt so eine Datei und so ein Sample und analysiert die und findet dann irgendwas raus und dann gibt man denen einen Namen, das heißt natürlich nicht, dass irgendjemand anders auf der Welt nicht das gleiche auch zufällig macht und der auch einen Namen gibt, das sorgt dann aber dafür, dass quasi das gleiche dann mehrere Namen haben kann und so
10:43
bei Trickbot halt auch, die dahinterstehende Gruppe, das überträgt sich übrigens natürlich auch von Malware auf die dahinterstehenden Gruppen, haben so verschiedene Namen, die Liste ist jetzt auch nicht vollständig, aber vielleicht habt ihr davon schon mal gehört, also Trickbot-Gruppe ist ein Name, WizardSpider ist so ein anderer Name und Finn12 ist noch so ein anderer
11:01
Name, man könnte jetzt sagen, das ist super annoying, dass sich diese ganzen verschiedenen Cyberthreat-Intelligence-Provider nicht auf einen Namen einigen, da habe ich eine andere Meinung zu, ja gut, da kann ich gerade eine halbe Minute noch investieren, ich finde das super gut, dass verschiedene dieser Provider verschiedene Namen für sowas haben, weil jeder von denen ja auch verschiedene Arbeitsweisen hat und auch verschiedene Kriterien dafür hat, was es jetzt heißt, WizardSpider Teil dieses Aktivitätsclusters zu
11:27
sein oder was es heißt Teil der Trickbot-Gruppe zu sein und so und diese ganzen verschiedenen Provider haben verschiedene Visibility, verschiedene Arbeitsweisen und so, deswegen ist es gut, dass jeder so seinen eigenen Namen hat und dann kann man ja Überlappungen zwischen diesen Namen finden, aber zumindest ist es nicht nachher ein großer Blob, wo jeder noch mehr
11:44
Aktivitäten und Meldwaffeln in den Reihen wirft und da sind sich gar nicht alle einig. So, darf ich vorstellen, das ist Alla Witte, die ist auch bekannt als Max und das ist ein Mitglied der Trickbot-Gruppe und man könnte sich jetzt fragen, wo hat ihr ein Urlaubsfoto
12:04
von der und so, das wird auch gleich klar, woher ich das habe, dass die Frau Witte, die wurde nämlich im Jahr 2021 verhaftet, wegen einer Anklageschrift, die im gleichen Jahr rausgekommen ist und alle Informationen, die ich jetzt hier, auch
12:20
über die ich jetzt rede und auch das Foto von ihr und sowas, das stimmt alles aus einer Anklageschrift von dem Justizministerium der Vereinigten Staaten und so, also hochoffiziell und ja, das ist alles öffentlich. Diese Anklageschrift, das hier ist übrigens vom Februar 2021 gegen die Frau Alla Witte aka Max, die ist leider nicht ganz öffentlich, da sind einige Stellen drin geschwärzt, das werden wir auch gleich sehen, aber insgesamt finde ich die trotzdem
12:45
super interessant, weil man darin viele Dinge sehen kann, die gibt relativ tiefe Einblicke in die Operation dieser Trickbot-Gruppe und was darin so abgeht und wie das da so abgeht und sowas alles und ja, obwohl sie an einigen Stellen geschwärzt ist, da müssen wir leider ein bisschen drüber stehen und es ist auch, wie gesagt, es ist ein
13:01
richtiger Anklageschrift, so vor Gericht und so, ja, also da war so der amerikanische Staat mit all seinen Fähigkeiten, also auch NSA -Fähigkeiten und so wahrscheinlich, hat das da zusammengetragen und dann so eine Anklageschrift rausgebracht, also das ist schon, was so, wie sicher bin ich, dass die Person Mitglied war, ist schon sehr sicher, sag ich mal, weil sie auch verhaftet wurde und sowas alles.
13:20
So, in diesem, in dieser Anklageschrift kamen so Chatlogs vor und hier sieht man jetzt, das ist geschwärzt da oben rechts, ja, da spricht irgendwie ein CC9 mit irgend wem anders, ich lese es mal kurz vor. The guy did the job, fucking awesome, what are we doing now? I'll ask now, they'll respond and we'll knock on that guy's door until we get him. It seems like he's great, he can do both this kind of stuff and
13:40
that kind of stuff, what is needed? Tell the guy that we tested it and the assignment works, everything is fine with that. Das klingt jetzt erstmal wie so Klischee, Russen, die Englisch sprechen oder so, aber vor allem reden hier zwei Leute miteinander über so eine Art Bewerbungsverfahren oder Bewerbungsgespräch, also da wurde irgendwer eingestellt und jetzt reden
14:00
wir darüber, er hat super performt und so und hier kommt auch schon was, eine Sache mit raus, da steht irgendwie he can do both this kind of stuff and that kind of stuff, das wird später noch ein bisschen klarer werden, was da mit gemeint ist oder in der restlichen Anklageschrift kann man das auch überall sehen. Diese Anstellungsverfahren bei Wizard, Spider oder Finn 12 oder wie man sie, bei der Trickbot Gruppe, die sind sehr formalisiert
14:22
und wenn man sich da am Anfang bewerbt, bewirbt, da kann man übersehen, dass es sich um eine kriminelle Organisation handelt. Und dann haben die so eine Art Probezeit, so ein bisschen wie in der echten Wirtschaft auch, so die dauert so ein Jahr plus minus ein bisschen und in der kriegt man dann immer mehr mit, was da eigentlich abgeht und this kind of stuff and that kind of stuff ist halt so einmal so development work und auf der anderen Seite irgendwie so offensive Fähigkeiten
14:45
und naja, nach diesem Jahr kann eigentlich keiner mehr leugnen, dass man Mitglied von einer kriminellen Organisation ist, aber ich sag mal der Vorteil aus so einer Law Enforcement Perspektive ist halt, dass die Leute am Anfang vielleicht noch gar nicht so vorsichtig sind. Ja dann posten die irgendwie Fotos auf Social Media von sich und sagen, dass sie jetzt einen neuen Job haben und so weiter und
15:02
das ist der Frau Witte da leider auch, oder was heißt leider, das ist der Frau Witte auch passiert und jetzt ja, Brotzeit überführt. Andere Chatlog Ausschnitt hier ist noch, he is capable of everything, such a person is needed, I'm afraid that he can tell the firm to go hell or ask for more money, well that's something for the leadership to decide.
15:21
Also man kann hier sehen, war anscheinend wieder irgendein Bewerbungsverfahren, der Typ war super geeignet, will aber anscheinend mehr Geld und das muss man jetzt eskalieren an irgendein leadership level. Also das ist Standard Corporate Talk, das sind nicht irgendwie bocklose Hacker in einem Keller, die da irgendwie Bier trinken oder so, das sind Leute, die betreiben ein Business, die führen Anstellungsverfahren, da gibt es Probezeiten, die haben wieder so Gehaltsverhandlungen und so.
15:43
Also das ist nicht mehr so, nicht mehr so eine unorganisierte Gang, sondern es ist fast so eine echte Firma, das ist so der erste Punkt, den ich am Beispiel dieser TrickBot Gruppe rüberbringen will. Ja die Frau Witte, die war irgendwie Plattform und den Rantum hat irgendwie entwickelt an dieser Plattform Komponente oder Rantumware Komponente von TrickBot, um das gerade noch zu Ende zu bringen.
16:07
Habe ich ganz viel geredet und meine ganzen Sprechkarten übersprungen. So, gehen wir zum nächsten Fall über, weil es TrickBot, Zweitätsfall ist WannaCry. Weiß ja nicht, ja doch so lange ist er auch wieder nicht her.
16:22
Also dieses Bild ist euch bestimmt allen noch irgendwie vielleicht im Gedächtnis geblieben. Das ist damals, wann war das, habe ich gar nicht aufgeschrieben, 2017 oder so, ist an allen möglichen absurden Stellen aufgetaucht. Unter anderem war anscheinend auch hier die deutsche Bahn davon von WannaCry betroffen. Im Groben war WannaCry eine Malware, die sich über Eternal Blue verbreitet hat.
16:42
Das ist auch wieder so eine geleakte Fähigkeit von der NSA. Dieser Leak ist stattgefunden durch die Shadow Brokers, aber wenn ich jetzt in dieses Rabbit Hole falle, dann kommen wir nirgendwo mehr hin. Also das war, die hatten einen Exploit, die NSA, der ist geleakt und daraufhin wurde der in diese WannaCry Rantumware eingebaut und dann hat sich diese Rantumware auf der ganzen Welt verbreitet. Und das wäre, also 200.000 Computer, also grob geschätzt in 150 Ländern oder irgendwie sowas.
17:07
Insgesamt hat diese Rantumware 51 Bitcoin eingebracht. Das ist so nach dem gestrigen Bitcoin Preis, der ist ja eher wechselhaft, ist das rund so eine Million Dollar. Das ist jetzt, was so Rantumware-Angriffe angeht, wie wir sie heute gewohnt sind, gar nicht mehr so viel Geld.
17:22
Ich würde aber sagen, das lag unter anderem daran, dass da so ein Typ, Markus Hutchings, oder Hutchins heißt der, diesen Angriff quasi verhindert hat. Da gehört er glaube ich ein bisschen Glück dazu und das war jetzt auch nicht super krass abgefahren, was er gemacht hat, um den Angriff zu vermeiden. Das gucken wir uns gleich nochmal genauer an. Ja, aber das hätte noch viel schlimmer laufen können.
17:42
Und naja, wie gesagt, dieser Akteur hat halt schon 51 Bitcoin verdient und naja, das ist halt auch gar nicht so wenig Geld. So, dann machen wir jetzt mal Ghidra auf. Das klingt jetzt langsam wie so ein NSA Werbetalk hier. Das ist so ein, ja ich weiß diese Animation, die passiert. Das ist so ein Reverse Engineering Framework von der NSA.
18:01
Und das ermöglicht es uns, so Dateien einfach zu öffnen. Und dann zeigt das wie immer links so einen disassemblten View an. Und hier rechts wird es uns gleich vor allem dekompilierten Code anzeigen. Also was hier gerade passiert ist, als ich da doppelt drauf geklickt habe und dieser alberne Drache nach vorne ploppt, das ist mindblowing. Also da wurde irgendwie Code analysiert, Funktionsgrenzen identifiziert, Funktionen disassembled, identifiziert.
18:24
Dann wurden die auch noch dekompiliert, also da passiert super abgefahrener Kram. Und wir gucken uns das jetzt hier mal so langsam an. Und dafür gehen wir mal hier unten, na das ist jetzt viel zu klein, aber ich klick einfach mal drauf. Das hier ist der Entry Point der Funktion. Also das hier auf der rechten Seite könnt ihr aber alle lesen, oder? Na ja, nein, okay cool.
18:41
Ja, ist also C-Code, also wenn ihr so ein C-Code fürs Review bekommt, dann würde ich das schon sagen Reject. Das will ich nicht in meinem Projekt haben. Aber wie gesagt, das ist eigentlich, ist die Alternative dazu, hier auf der linken Seite sind nur Assembly Instruktionen. Ich kann empfehlen, so selten wie es geht, Assembly Instruktionen zu lesen. Das ist anstrengend und sehr langwierig.
19:01
Also wenn immer es geht, will man dekompilierten Code angucken. So, wenn man so Reverse Engineering macht, dann hat man jetzt hier schon vielleicht so ein bisschen, wenn man so ein bisschen Erfahrung hat, sieht man hier schon, hier werden so Funktionen aufgerufen. Also hier so Framework Funktionen wie das hier oder, ups, äh, so Framework Funktionen wie das hier werden aufgerufen. Oder hier wird Get Main Arcs aufgerufen und so ein Kram.
19:22
Wenn ich sowas sehe am Entry Point einer Funktion, weiß ich sofort, wir befinden uns noch im Framework. Wir sind noch gar nicht in der eigentlichen Melde drin. Und was man dann immer macht, man scrollt ganz ins Ende, guckt, wo wird der Rückgabewert der Funktion erstellt und sieht dann, der Rückgabewert der Funktion kommt aus dieser Funktion hier. So, jetzt kann ich wie in so anderen Entwicklungsumgebungen doppel da draufklicken, komm da rein und sehe dann die Funktion, die da aufgerufen wird.
19:43
So was vielleicht sofort ins Auge fällt, ist das, was da für Keys ist. Ich klick das mal doppelt an und guck dann hier auf der linken Seite, was da im Speicher steht. Da steht eine ganz lange URL mit Funcom am Ende. Und was dieser Herr Hutchins gemacht hat, kurz nach dem WannaCry Angriff, also der war recht schnell am Start, ein paar Stunden nachdem die Mailware irgendwie in the wild beobachtet wurde,
20:03
hat er diese Domain da drin gesehen, hat sich gedacht, ich registriere die einfach mal, guck mal was passiert irgendwie so. Und wir vollziehen jetzt mal nach, was da passiert, was dann passiert. Also wir gucken uns hier jetzt nochmal den Code an. Hier gibt es diese Variable puvar3, die geht hier in so einer Schleife rein, wird dann immer hochgezählt
20:20
und dann immer in so eine puvar4 Variable reingeschrieben, die auch so hochgezählt wird und die wird initialisiert hier oben mit local 50, das ist also wahrscheinlich so eine URL-Kopie. Auch ein cooles Feature, wie in so anderen Entwicklungsumgebungen auch, kann ich jetzt hier die Variable auch umbenennen und dann steht da URL und nicht mehr das andere. Und dann, wenn man die anklickt, sieht man auch die anderen Verwendungen dieser Variable
20:41
und die wird halt hier unten in die Internet Open URL A Windows API Funktion reingeschrieben. Windows API Funktion, also wenn man reverse-ingeniert, dann muss man sie lieben lernen, sonst hat man keinen Spaß, sag ich mal. Wenn man aber jetzt die Dokumentation nachgucken würde, also ganz offensichtlich, wie man den Windows Internet Request macht, man erstellt zuerst mit Internet Open A einen Internet Handle, den übergibt man dann in die Internet Open URL A Funktion,
21:04
als zweites Argument akzeptiert die dann eine URL. Und das, was da zurückkommt, das muss ich jedes Mal nachschlagen, was dann genau passiert. Wenn dieser Request hier nicht erfolgreich war, dann gibt die Funktion eine Null zurück. Also die gibt quasi, wenn er erfolgreich war, gibt es Null zurück, wenn er nicht erfolgreich war, irgendein Fehlercode.
21:25
Und das heißt also, dieser Code hier unten, wenn hier keine Null zurückkommt, dann werden einfach diese Handles geschlossen und die Melbe hört auf zu funktionieren. Das heißt also, wenn das nicht erfolgreich war, passiert das, was hier drin passiert ist. Und das, was der Herr Hatschens damals gemacht hat, indem er diese URL registriert hat und die auf dem Server gepostet hat,
21:41
alle WannaCry Samples auf der ganzen Welt haben diesen Server angefragt. Da kamen dann Anfragen zurück und die Melbe hat einfach aufgehört zu funktionieren. Also wie gesagt, war wahrscheinlich ein bisschen Glück, aber genau. Was die Melbe jetzt eigentlich macht, es passiert also in dieser Funktion. Die können wir jetzt auch umbenennen, machen wir nicht, wir sind ja irgendwie auch im Stress, klicken wir mal doppelt drauf. Und dann sieht man hier wieder sowas. Und was ich immer so mache während dem Reverse-Engineeren ist erstmal so eine,
22:02
also es sieht jetzt wie viel Code aus, aber ich versuche erstmal so einen Eindruck davon zu bekommen. Also hier passiert irgendwas mit so Services, also hier werden irgendwie so Windows Funktionen aufgerufen, die was mit Services zu tun haben, OpenSC Manager, Open Service, Closed Service Handles und so. Und dann werden hier noch zwei andere Funktionen aufgerufen, die hier oben und die hier unten.
22:20
Wenn ich hier unten reingehe, sag ich mal intuitiv, da passiert auch irgendwie nur was mit dem Service, da wird eine Config verändert. Ich kann jetzt nachlesen, was das alles macht, aber wir sind ja im Stress, deswegen mache ich das mal nicht und dann springen wir in diese andere Funktion hier rein. Und hier werden zwei andere Funktionen aufgerufen, ich springe mal in die erste rein. Hier passiert wieder irgendwas mit Services. Wobei, da könnte man vielleicht mal genauer reingucken, von wegen Technical Intelligence und IOC-Listen und so.
22:43
Wenn man sich hier mal so das zweite Argument dieser Create Service Funktion anguckt, das ist übrigens der Service-Name unter Windows, dann steht hier MSSEC SVC 2.0. Und wenn man so ein bisschen Windows-Administration gemacht hat, dann kennt man den Namen vielleicht nicht oder doch oder nicht. Aber das hört sich schon mal an, wie wenn auf einem System so ein Service existiert,
23:03
dann ist das ein Indikator dafür, dass eine WannaCry-Infektion stattgefunden hat. Ja, also solche Sachen schreibt man dann am besten alle auf, kann sie dann nachher veröffentlichen und so. Gut, gehen wir aber nochmal aus der Funktion hier raus und springen stattdessen in diese zweite Funktion hier rein. Und ja, hier passiert auch so ganz viel Kram. Also hier wird irgendwie, hier werden so Get Proc Address Resolved, so Windows API Funktionen und so ein Kram.
23:23
Aber vor allem werden hier Funktionen aufgerufen, die heißen Find Resource, Load Resource, Lock Resource, Size of Resource. Und dazu jetzt so ein bisschen Kontext. Also das Windows Executable Format, das .exe Format, das nennt man manchmal auch, wenn man sich gewählt ausdrücken will, das PE Format. PE steht lustigerweise für Portable Executable, weil die Windows Executables nämlich überraschend portable sind.
23:46
Aber da möchte ich in diesem Raum gar nicht so sehr drauf eingehen. Und dieses Portable Executable Format hat so etwas, das nennt man PE Ressourcen. Das wird normalerweise für so Kram verwendet, die Bilder, die die Executable mitführen will, werden in den Ressourcen abgespeichert und dann mit solchen Windows API Funktionen daraus abgerufen.
24:03
Und diese Funktion hier, Find Resources A, kriegt dann auch wieder mehrere Argumente. Und das letzte Argument ist der Name der Ressource. Ich klick das jetzt mal doppelt an, dann sehen wir hier im Speicher nur so ein R stehen. Was ich jetzt mal mache, ist ich mache mal dieses Sample im sogenannten Resource Hacker auf.
24:21
Das ist so ein seltsames Windows Programm, aber so ist es halt. Das ist jetzt einfach die gleiche Windows Executable Datei in so einem Programm aufgemacht, das mir erlaubt, die Ressourcen anzuzeigen. Und da sieht man hier oben auch diese Ressource R, wenn ich das hier aufklappe
24:41
und das hier anklicke, dann sehe ich hier auf der rechten Seite den Inhalt dieser Ressource. Und dann sehe ich da, oh, das ist schon wieder so eine MZ Datei. Wenn man das hier sieht, dann ist es normalerweise Zeit für Endorphine. Das heißt nämlich, man hat in dem Fall jetzt hier eine weitere Executable Datei gefunden. Also MZ ist die File Magic für Windows Executables.
25:02
Man sieht auch hier PE, wenn man genau nicht so ganz sicher ist. Es hat auch noch einen Rich Header, das ist auch noch spannend. Aber wie gesagt, Rabbit Hole over Rabbit Hole, da möchte ich jetzt vielleicht nicht einsteigen. So, das heißt also diese WannaCry Ransomware, die wir uns hier angeguckt haben in Gidra, die arbeitet hier irgendwie mit diesen Ressourcen. Und man kann jetzt diesen Code komplett verstehen.
25:20
Hier passiert noch irgendwas mit Dateinamen und so. Und dann werden diese Ressourcen hier, gerade gucken, ob ich es schnell finde, ne, finde ich nicht. Dann werden diese Ressourcen in eine Datei geschrieben und dann diese nächste Datei ausgeführt. Und das ist bei Malware sehr häufig so, dass das so ein Matruschka Prinzip ist. Also man hat jetzt hier so eine WannaCry, diese WannaCry Malware gehabt und dann macht man die auf.
25:40
Und was da drin ist, ist nochmal WannaCry Malware, nur ein bisschen kleiner. Und das ist halt hier jetzt auch passiert. So, kann mal gucken, ob ich da noch irgendwas sagen wollte. Ja, doch, ich wollte noch was sagen. Wir machen nämlich jetzt diese Datei auch mal einfach auf, die da drin ist. Gerade hier, ich hab da mal was vorbereitet. Diese Datei mal auf.
26:00
So, das ist jetzt die Datei, die aus der Windows Ressource rauskommt. Und auch hier gehen wir wieder zum Entry Point. Auch hier ist es wieder so wie eben. Der Rückgabewert von dieser Framework-Funktion kommt aus dieser Funktion hier raus. Gehe ich da doppelt drauf. Dann passiert hier wieder irgendwie ganz viel Kram. Ich gehe mal so. Das ist jetzt etwas, das nennt man Top-Down-Analyse. Wir gehen an den Entry Point der Funktion und handeln uns so runter dazu, was sie macht.
26:23
Hier in dem Fall sehe ich, hier passiert irgendwie so eine Schleife. Und dann wird hier GetModuleFileName aufgerufen. Dann wird hier diese Funktion aufgerufen. Ich springe da mal rein. Hier passiert irgendwas mit dem Computernamen und so. Und hier irgendwas mit Zufallszahlen. Ich gehe mal wieder eins zurück hoch. Ein bisschen runter. Wenn man so ein bisschen ein Gefühl für diesen C-Code bekommt, dann sieht man hier auch.
26:42
Ah, hier sieht irgendwas lustig aus. Da steht irgendwie WNCryEd2007. Da sehe ich hier links im Speicher. Da steht so ein String drin. Das ist ja irgendwie auch schräg. Na ja, gucke ich mal, wo dieser String hingeht, indem ich in diese Funktion hier reingucke. Und, oh Wunder, da sieht man irgendwie Recurring Actor Behavior. Hier wird wieder Find Resource, Load Resource, Log Resource, Size of Resources aufgerufen.
27:04
Gleiches Spiel wie eben. Anstatt dass wir uns, also vielleicht heißt die Ressource anders. Gucken wir mal, wir wissen jetzt schon Find Resources. Letztes Argument ist der Name der Ressource. Dann machen wir mal auf. Dann steht hier im Speicher XIA. Dann machen wir mal diesen Resource Hacker von gerade auf.
27:23
Demo klappt übrigens viel besser als ich erwartet habe. So, hier haben wir es. Also wir hatten gerade gesehen, die Ressource, die da drin sein soll, heißt anscheinend XIA. Die kommt doch hier vor. Dann machen wir die mal auf und gucken, wie sie aussieht. Ich klick mal drauf.
27:41
Das ist jetzt eine andere Form von Endorphinen, die jetzt kommen. Das ist jetzt keine MZ-Datei, sondern die fängt mit PK an. Weiß jemand, was die Find Magic PK ist? Bitte? ZIP-Datei. ZIP-Datei, genau, super, super geil. Ja, wir haben eine ZIP-Datei gefunden. Was wir jetzt als nächstes natürlich machen, jetzt gucken wir uns an, was in der ZIP-Datei drin ist. Seid ihr schon ganz aufgeregt auch? Also ich bin aufgeregt. Also ich bin nicht mal aufgeregt, weil ich weiß, was jetzt passiert.
28:02
Aber normalerweise bin ich jetzt immer sehr aufgeregt in solchen Situationen. So, irgendwann gerade irgendwie einen Ordner auf mit dieser XIA-Datei. So. Oh, das ist klein. Ja, also vertraut mir, da ist eine klitzekleine Datei, die heißt XIA. Und ich nenne die jetzt mal um mit Punkt ZIP, wie ihr das gerade vorgeschlagen habt.
28:23
Und dann extrahiere ich die mal hier so in diesen Ordner. Gehen wir mal den Monitor auf. So, extrahieren wir sie. Und dann fragt es uns leider, dass jetzt der Moment, wo die Endorphine vorbei sind, fragt uns mal ein Passwort. So ein Ärger. Erinnert ihr euch noch, dass diese Funktion eben so einen seltsamen String mitgenommen hat?
28:44
Wir haben noch nicht wirklich hier Reverse Engineering gemacht. Wir haben eben nur gesehen, da kam so ein seltsamer String hier mit als Argument für die Funktion. Wir können jetzt gucken, was mit dem passiert und so. Wir können noch einfach mal kurz ausprobieren, ob der das ZIP-Passwort ist. Ohne wirklich zu verstehen, ob das stimmt oder nicht. Dann nehmen wir den mal, tun den da als Passwort hier rein, klicken auf OK.
29:04
Endorphin-Zeit, also diese ZIP-Datei wurde entpackt. Das heißt also, wir hatten jetzt WannaCry, da drin war nochmal WannaCry, da drin war eine ZIP-Datei und da ist irgendwie so Kram drin. So, dieses, oh, das ist auf einem falschen Monitor aufgegangen, deswegen ist es nicht ganz so cool. Komm. Hier, sind so ganz viele Dateien drin.
29:21
Eine von den Dateien, also wir können jetzt da super viel Zeit noch investieren, das mache ich aber nicht. Eine von den Dateien, ich nenne die mal gerade in eine Textdatei um und mache sie dann auf. Eine von den Dateien, die enthält, was man heutzutage dann auch Ransomeware-Node nennt. Ja, da sind irgendwie so Texte, die auf den infizierten Computern angezeigt werden, um irgendwie zu sagen, warum man jetzt hier das Lösegeld bezahlen soll und warum nicht.
29:45
So, aber dieses Konzept dahinter, ich bringe mal gerade zurück in die Slides. Das Konzept dahinter, das ist häufig zu beobachten. Man hat Malware, darin ist mehr Malware, darin ist noch mehr Malware. Manchmal muss man ein Passwort raten oder wissen oder so und dann ist da noch mehr Kram drin. Und das will man am besten alles automatisch entpacken die ganze Zeit.
30:01
Ja, das haben wir gerade gemacht. WannaCry liegen wir an Akta, wie gesagt. Da kann man jetzt noch beliebig viel Zeit investieren, aber wir haben ja hier keine Zeit. Nächster Fall ist Shamoon. Das ist ein Fall, der hat sich 2012 abgespielt. Es tut weh, es ist zehn Jahre her.
30:23
Und das Ziel war die größte Firma der Welt, also Größe im Sinne von wie viel Gewinn sie macht, wie viel Einnahmen sie hat. Was denkt ihr ist das für eine Firma? So, die größte Firma der Welt. Ich denke mal direkt an Apple und Microsoft. Was? Nein, aber Richtung ist gut, wurde 1933 gegründet, also ist auch ein bisschen älter.
30:44
Börsengang war es 2013, war auch gut dotiert zu dem Zeitpunkt. Oh, Scheiße, was ist hier passiert? Ich habe gescrollt. Ich habe gescrollt, oh nein. Das ist das Hauptgebäude der Firma.
31:01
Saudi Aramco. Das ist die weltgrößte Ölproduzentin. Einfach, also extra war in der Nähe. Hauptsitz in Saudi Arabien. Und die sind Ziel von einer sogenannten Viper-Shard-Software geworden. Das Ziel von Viper-Shard-Software ist, möglichst viele Dateien zu löschen auf Computer und die Computer möglichst unnutzbar zu machen. Also ein bisschen wie Ransomware, nur es gibt keine Schlüssel und kein Lösegeld.
31:22
Also ist danach einfach alles weg. Und auch hier kam so ein Custom Packer zum Einsatz, der auch wieder PE-Ressourcen verwendet hat. Und ja, das gucken wir uns jetzt einfach auch mal schnell den Ghidra an. Wir nehmen ja hier irgendwie auch zu technischen Kram. Und ich habe da mal was vorbereitet. Wie man in diese Dateien rankommt, da ist natürlich noch eine eigene Frage.
31:42
Da werde ich nachher ein paar Worte zu sagen, aber das ist natürlich auch eine Wissenschaft für sich. So, ich habe gerade schon angedeutet, dass es sich hier um eine Melde handelt, die auch was mit Ressourcen macht. Und wir haben ja jetzt auch schon Erfahrungen gesammelt, so als Reverse-Engineering-Gruppe hier. Das heißt, wir machen jetzt anstatt mal so einen Top-Down-Approach ans Reverse-Engineering zu machen. Wir starten am Entry-Point, hangeln uns runter.
32:01
Wir wissen schon, die macht was mit Ressourcen. Dann suche ich hier nach... Falsche Suche, einen Moment. Resource. Klick die an. Hier gibt es diese Resource Funktion im Speicher. Ich gucke mir an, wo die aufgerufen wird. Yes, ist nur ein Aufruf.
32:21
So, das heißt also, wir sind jetzt irgendwo tief in der Melde. Theoretisch wissen wir noch nicht mal, dass diese Stelle überhaupt irgendwann aufgerufen wird. Aber naja, nehmen wir mal an, dass sie aufgerufen wird. Und auch hier sehen wir wieder Find-Resource, Load-Resource, Lock-Resource, Sizerf-Resource. Also jetzt langsam übrigens seid ihr auch schon bald Profis im Verwenden der Windows-API. Also wenn ihr jetzt mal gefragt werdet, wie kann ich Ressourcen aus Windows-PE-Dateien extrahieren?
32:43
Muss ich vier verschiedene API-Funktionen aufrufen in der Reihenfolge und so weiter? Und auch hier gucken wir uns jetzt mal an, welche Ressource. Und das ist hier jetzt so Find-Resource. Letztes Argument davon ist Parameter 4 zu dieser Funktion hier. Das heißt, wir müssen uns jetzt hier data-flussmanagementmäßig angucken, wo kommt der vierte Parameter her. Gucken wir uns also an, wo diese Funktion aufgerufen wird.
33:01
Wird langsam anstrengend, wird an drei Stellen aufgerufen. Ja, aber viertes Argument interessiert uns. Hier ist es das erste, zweite, dritte, vierte. PKC S7. Oh, das kennt er schon, interessant. Hier wird es auch nochmal aufgerufen. Hier ist das Argument X509. Und hier wird es auch nochmal aufgerufen. PKC S12.
33:21
So, diese Namen. Ich mach mal gerade die gleichen Dateien nochmal in unserem Lieblingstool dem Resource-Hacker auf. Das brauchen wir nicht. Das brauchen wir auch nicht mehr. So, so, so. Das ist jetzt langweilig, weil man hier gar nichts sieht. Ich bin gleich wieder da. Open Path.
33:42
Und so. So, also wenn man sich diese drei Resource-Ausnahmen so anguckt, dann könnte man denken, das sieht aber irgendwie, das ist so Krypto-Kram. Irgendwas mit Public Keys und so und X509. Das hat auch irgendwas so mit so Zertifikaten zu tun. Das hört sich irgendwie so an. Mach ich mal davon eine auf. Und jetzt ist es so eine Mischung.
34:01
Es ist jetzt nicht so ein Endorphin-Moment, aber es ist auf jeden Fall kein Endorphin-Moment. Es ist keine MZ-Datei, keine PK-Datei. Man kann aber das jetzt auch angucken und so einen Schritt zurückgehen und sagen, ich erkenne da so ein Muster. Das ist so ein Neo-Moment. Das ist so ein Moment, ja, man sieht die Matrix nicht, wenn man sieht nur noch. Ja, genau. Und hier sieht man diese Muster.
34:21
Da ist irgendwie so ein Prozent, ein nicht drückbares Zeichen, Ecke, Klammer zu, nicht drückbares Zeichen, Prozent. Und das wiederholt sich so ein paar Mal. Das ist ein Indikator dafür, dass da so ein Verschlüsselungsverfahren zum Einsatz kommt, das irgendwie zyklisch ist vielleicht. So, wollen wir das mal gucken, ob das wirklich so ist, indem wir noch mal ein bisschen den Code analysieren.
34:42
So, wir wissen, diese Funktion macht was mit den Ressourcen. Ich gehe da mal rein. Viertes Argument. Hier kommt irgendwie diese Resource-Handle raus und LogResource gibt dann die Daten auch zurück. Das heißt, hresData enthält diese Ressource-Daten und das wird hier noch local1c kopiert. Und aus diesem local1c mache ich mal ein Byte-Array.
35:02
Und dann sehe ich hier unten, ich nenne das auch mal anders, ich nenne das mal pe-Resource. Also man kann nämlich hier nicht nur Namen verändern, sondern auch Datentypen. Und das wird sich halt super nützlich herausstellen. Also wenn wir hier pe-Resource anklicken, sehen wir, die wird hier unten auch verwendet. Und zwar als Array. Und der Index dieses Arrays, dieses u war 2, das nenne ich jetzt einfach mal i, weil es so eine Zählvariable ist.
35:23
So, und jetzt sehe ich hier, es war eben schwer zu lesen, es wird ein bisschen besser zu lesen. Hier sehe ich jetzt, dass das i noch modulo irgendwas gerechnet wird. Das heißt, dieses irgendwas hier ist wahrscheinlich eine Länge. Und das hier hinten, da wird plus was gerechnet, das wird in einen Byte-Pointer gekastet und dann dereferenziert. So, wenn das passiert, ist das, was hier addiert wird, eigentlich ein Byte-Pointer.
35:42
Ich mache es mal an zu einem Byte-Pointer und dann wird Ghidra auch in der Lage sein, das hier besser hinzuschreiben. Dann steht nämlich jetzt hier nicht mehr, oh mein Touchpad ist nicht so geil zu benutzen. So, dann steht nämlich hier, dass diese Pe-Resource gexort wird mit irgendwas, irgendwas. Also das hier ist so eine Art XOR-Key dann.
36:02
Und der wird indiziert an der Stelle i modulo irgendeiner Zahl. Das heißt, das hier ist die XOR-Key-Länge. So, jetzt haben wir, du zeigst nicht auf. Und jetzt haben wir hier quasi so ein bisschen Datentypen verändert, Namen verändert und haben jetzt ein Stück verstanden. Diese Pe-Resource wird gexort mit dem Key und dieser Key wird auch als Argument zu der Funktion übergeben.
36:20
Was man jetzt also macht, ist man guckt sich die Funktionsaufrufe wieder an. Gehen wir mal zum ersten hier. Die XOR-Key-Länge hier in dem Fall ist, äh, warum ist das da nicht zu sehen? Ah doch, hier ist es zu sehen. Die XOR-Key-Länge ist 4 und der XOR-Key selber steht hier drin. Klicke ich mal doppelt drauf und dann sieht man hier im Speicher drin 17 DABA00. Also das ist der XOR-Key.
36:41
Sollen wir es mal gerade entschlüsseln oder, ja, machen wir einfach mal. Ich meine, ich schaden kann das nicht. Ähm, so. So. Äh, kann ich das irgendwie größer machen? Ist das groß genug? Ist das groß genug? Nein? Ja? Ja, geil. So, sind wir die richtige, ja, das ist die richtige Datei.
37:01
So, jetzt benutze ich dafür ein Toolset, das hat ein Freund von mir geschrieben. Das heißt Binary Refinery. Ich verlink das am Ende auf den Slides auch. Die Slides findet ihr in diesem Frab oder auch auf meiner Homepage und so. Und da hat er so ein Tool geschrieben, um so ein bisschen Malware Reverse Engineering zu machen. In dem Fall kann ich mit pe-resource-l alle Ressourcen auflisten. Und unter anderem sieht man auch diese PKCS7-Ressource.
37:22
Wenn ich die jetzt mal hier PKCS7 hinschreibe und dann PEEK aufrufe, das PEEK in die Datei rein, dann sehe ich das, was wir eben auch im Resource Hacker gesehen haben, nämlich dieses Muster hier. Wobei es sieht irgendwie anders aus. Na gut. So, dann XOR'n wir das mal mit einer hexencodeten Folge. Die schreiben wir hier aus Ghidra ab. Das ist 17DABA0.
37:47
Oh, danke schön. Wow. Das, das, wow. Das ist jetzt der Moment, wo die Demo-Götter nicht mehr so ganz. Und Endorphine. Wir sehen hier wieder eine MZ-Datei. Also Next Executable. Und jetzt kann man die angucken.
38:01
Das, was ich hier jetzt aber möchte, dass ihr mitnehmt, ist nicht, dass mal wieder PEE-Ressourcen verwendet wurden. Das war ein bisschen blöd an den Fällen, die ich ausgesucht habe. Es sind nicht immer PEE-Ressourcen. Manchmal sind es auch ganz andere Stellen. Sondern diese Resource-Namen, die wir da gesehen haben. Denn solche Cyber-Angriffe hinterlassen solche Spuren.
38:21
Die Ressourcen hießen jetzt irgendwie so zertifikatähnlich. Aber wenn man sich jetzt einen großen Korpus an Malware anguckt, dann ist die Kombination aus, da ist eine PKCS7, 12 und X509-Ressource vorhanden. Da gibt es fast keine Samples, bei denen das so ist. Das heißt, jedes Mal, wenn so ein Sample auftaucht, ist das so eine Art Spur, die der Täter hinterlassen hat und dann wieder hinterlässt.
38:42
Wie bei so Serienmördern oder so. Ich weiß nicht, wo die Metapher hingeht hier. Und diese Spuren, die wollen wir uns halt zunutze machen. Wenn wir so Cyber-Intelligence machen und so. So, ganz viel gebabbelt. Und was es uns vor allem auch ermöglicht, wenn wir Computer und Automatisierung dafür verwenden.
39:02
Also man verwenden manchmal diese Methode von einem Tatort. Also wenn man so einen Fall analysiert, dann ist das wie ein Tatort. Man sichert Spuren und stellt die sicher. Aber wenn wir von dieser Spurensicherung ganz viel automatisieren und dann gleichzeitig noch ganz viel Malware einsammeln und die automatisch verarbeiten, sind wir in der Situation, dass wir diese Analysen automatisch auf allen Tatorten gleichzeitig ausführen können.
39:23
Und das ist nämlich das Coole. Und warum, sag ich gleich. So, das waren die drei Fälle. Noch mal kurz zur Zusammenfassung. Trickbot ist eine große Firma, die dahinter stehende Gruppe ist eine große Firma, die wahrscheinlich Automatisierung und Continuous Integration und Developer Workflows und sowas alles einsetzt.
39:41
Das heißt, die einzige Chance, die wir dagegen haben, ist selber auch sowas einzusetzen, um die Malware zu analysieren. WannaCry, da haben wir festgestellt, wir müssen dieses Matroschreibprinzip verstehen. Wenn man takt so Malware aus und es werden immer mehr Dateien und die will man alle auch noch analysieren. Und in dem letzten Fall, dieser Shamoon und dieser PKCSE, diesen Resource-Namen, haben wir quasi gelernt, ja, diese Resource-Namen, die sind spannend.
40:01
Das heißt, wir sollten aus allen Executable-Dateien, die wir finden, sollten wir die einfach mal alle extrahieren und dann gucken, ob wir das dann irgendwann nochmal wiederfinden. Und so ist übrigens, noch ein bisschen aus dem Nähkästchen geplaudert, so ist übrigens der Fall von Shamoon 2012 mit dem Fall von Shamoon 2016 oder 2017 in Verbindung gebracht worden. Es war nicht die einzige Overlap,
40:23
man hat den erst wahrscheinlich, ich war nicht dabei, es war glaube ich Kaspersky oder so, man hat damit wahrscheinlich den ersten Zusammenhang zu der damaligen Kamalining gefunden und dann noch mehr gefunden und dann Analysen gemacht und so weiter. So, jetzt so eine Art Abschlussslide. How to cyber threat intelligence at home ist so ein bisschen.
40:42
Der erste sehr schwierige Punkt, den man lösen muss, wenn man das alles selber machen will, ist, dass man eine gute Sammlung von Malware sich schafft. Also Collection nennt man das manchmal auch. Dafür gibt es erstmal einfach online Ressourcen. Es gibt so Webseiten und Web-Services, die stellen Malware zur Verfügung.
41:00
Virus Total, Mail Share, Mailware Bazaar. Virus Total muss man sich leisten können, ist ultra teuer. Mail Share und Mailware Bazaar sind kostenlos. Da sind Seiten, da kann es Malware runterladen und die analysieren. Also klingt erstmal ein bisschen komisch, aber vielleicht müsst ihr auch mit eurer Firmenleitung reden oder so, dass ihr von der Seite Sachen runterladen dürft, aber das hilft einem dabei, wenn man solche Samples einsammeln will.
41:21
Dann gibt es auch noch so Online Sandboxes, wie so Any Run, Triage, Hybrid Analysis. Das sind so Dinger, da kann man selber Malware hinladen und dann machen die so Analysen und spucken irgendwie so ein Report aus, so Dashboard-mäßig. Die bieten dann meistens auch diese Samples einfach wieder zum Download an. Also wenn man irgendwie cyber threat intelligence at scale machen will,
41:40
schreibt man am besten dafür überall so Code, der von denen überall so alle Dateien runterlädt und dann auch wieder weiterverarbeitet. Und dann kann man auch so organische Quellen für Collection nutzen. Man sucht einfach seinen E-Mail-Inbox auf und analysiert Spam-E-Mails oder man sucht im Internet nach Malvertising oder man trackt Botnetze und guckt, was die für Next-stage-Payloads verteilen
42:03
und man betreibt Honeypots. Also die Möglichkeiten sind unbegrenzt, die man da an Arbeit investieren kann. Und auch diese Liste ist nicht vollständig. Also was man noch alles an Sample-Quellen benutzen kann, also in Zweifelsfalls sind auch Kundensysteme. Also wenn man in der Branche tätig ist, dann haben Kunden natürlich auch eine Fähigkeit Malware zu sammeln, die ist überraschend. Und dann wollen wir diese Daten verarbeiten
42:22
und das hatte ich ja gerade gesagt, wir wollen erst mal so generische Dateiformate verarbeiten können am besten. Also SIPs entpacken, vielleicht aber auch direkt ein paar Passworte bootforced und ausprobieren. Also ich meine zum Beispiel dieses WannaCry-Passwort von eben. Wenn wir irgendwo eine SIP-Datei finden, die aber mit dem gleichen Passwort entpacken kann, dann kann das eine Verbindung sein zum ursprünglichen Fall. Muss nicht natürlich, da braucht man noch Analyse,
42:41
muss ein bisschen Eigenleistung erbringen, aber prinzipiell ist das dann interessant und das will man dann wissen. E-Mails entpacken, also Anhänger aus E-Mails, das will man auf jeden Fall machen. Microsoft Office-Dateien haben auch Makros drin, die will man auch irgendwie alle auspacken. Dann kann man ganz viel Code schreiben und ganz viel Kram machen. Dann will man auch generisch Metadaten extrahieren, also für den Chamoon-Fall, wenn man jetzt hier in dem Fall zum Beispiel diese PE-Resourcenamen
43:01
noch mit extrahieren, damit man darauf finden kann. Man will E-Mail, Absenderadressen, Empfängeradressen auf jeden Fall auch alle haben. Und wie gesagt, diese Liste ist auch nicht vollständig und die wird auch immer größer. Und dann will man auch für spezifische Malware-Familien oder auch Jopper-Familien das Gleiche machen. Also ich will quasi schreiben, das ist die 4-byte-X-Orchidee, die wir gesehen haben. Dann will ich das am liebsten auf allen PE-Resourcen,
43:21
die ich sehe, einmal ausprobieren, gucken, ob das was rauskommt, Sinn ergibt. Wenn ja, habe ich wieder einen Lead, den ich da verfolgen kann. Und auch diese Liste ist nicht vollständig. Da will man noch ganz viele andere Sachen machen. Man will die auch am liebsten noch in eine Sandbox werfen, gucken, wie sich die Mailwerfer hält, wenn sie ausgeführt wird. Da will man alle möglichen wilden Dinge tun. So, das war, wo wir angefangen haben,
43:42
am Anfang meines Talks. Und jetzt hoffe ich, so ein bisschen Eindruck dagegen verabenden, dass man nicht so aussichtslos ist, wie ich am Anfang angedeutet habe. Also als so ein Defender Plus, kann man halt, wenn man Analysen macht, diese automatische Verarbeitung mit der Zeit immer besser machen. Also ich mache eine Analyse, finde ein neues SIP-Passwort.
44:02
Ab jetzt werden alle SIP-Dateien damit auch noch extrahiert. Ich mache eine Analyse, lerne über, weiß ich nicht, PE-Section-Names und PE-Section-Offsets. Und das baue ich mit ein, wird dann in der Zukunft mitverarbeitet. Und das Coole, was dann passiert, ist, dass diese Hacker und die Angreifer nur irgendwo einmal einen Fehler machen müssen.
44:20
Das ist diese neue Asymmetrie. Vorher war es so, als Verteidiger muss ich nur einmal einen Fehler machen. Aber wenn ich jetzt in einer Angreifergruppe bin und dann zum Beispiel dummerweise immer die gleichen PE-Resource-Names verwende oder der PDB-Pfad mit in den Dateien drinsteht und da ist mein Username drin. Ich muss nur einmal so einen Fehler machen und aus so einer Cyber-Fright-Intelligence-Perspektive
44:42
findet man diesen Fehler und kann den dann ausnutzen, um ihn zu tracken und dann vielleicht fliegen sie auf und vielleicht auch, wie bei dem Fall von Frau Witte, werden die dann irgendwann eingesperrt. So, das schließt jetzt auch meinen Talk ab. Also hier noch so ein bisschen mein Name und meine Socials, wie die Leute irgendwie sagen. Ich habe auch einen Podcast, könnt ihr hören.
45:00
Und hier habe ich auch von Jesko, ein Freund von mir, der hat diese Binary-Refinery-Toolchain geschrieben. Super cooles Tool, wenn ihr reverse-ingenieren wollt. Genau, könnt ihr euch einmal angucken. So, und das war es eigentlich. Vielen Dank, dass ihr da wart. So, jetzt kommt diese Fragestelle
45:20
mit dem Mikrofon rumgereicht. Also wenn ihr da hinten... Ja, da hinten ist schon eine Frage. Hallo René, mein Name. Als allererstes super unterhaltsam und super lehrerisch. Für mich als End-User habe ich sehr viel mitnehmen können. Ich komme aus Kärnten. Wir haben da vor kurzem einen großen Vollkopp mit Black Cat,
45:44
AlphaVM-Hassendee, die hat das ganze Bundesland 10 Tage gedownt. Und da würde mich jetzt interessieren, passiert da das gleiche im Hintergrund, dass man die jetzt versucht, so Räuber-Schandarmäßig, irgendwie zu catchen? Ich versuche die Frage gerade noch mal zu holen, damit ich sicher bin, ich habe sie verstanden.
46:01
Es gab ein Incident bei dir in der Gegend, und da wurden Black Cat, Ransomware oder so, deploit. Und da wurden Daten geklaut und jetzt werden die geleakt und so. Ja, genau. Ich glaube, ich habe sogar was davon gehört, habe ich jetzt selber nicht gearbeitet an dem Fall. Ja, da passiert genau das Gleiche. Und zwar nicht nur von den Leuten, die da Kunden haben, sondern eigentlich von allen.
46:22
Weil es zu dem Gesamtbedrohungsszenario dazu gehört. Man will nämlich nicht nur wissen, was macht Black Cat da bei dir, sondern was machen die auch überall anders. Ja, das große Endziel ist natürlich immer zu identifizieren, welche Person, welcher Mensch ist dahinter. Und naja, dann ist auch die Hoffnung, dass man den vielleicht dann irgendwann einfangen kann,
46:42
damit er aufhört mit der Scheiße. Ja, also ja. Ich glaube, die kurze Antwort auf deine Frage ist ja, da passiert was. Also ganz sicher. Ich habe noch irgendwelche Fragen. Wow, okay. Können wir gerade noch eine Minute geben, oder?
47:00
Irgendwie fünf Sekunden oder so. Ein bisschen awkward silence genießen. Direkt hinter dir. Frage auf den Fall jetzt eben bezogen. Gut, dass ich über Fälle rede, die ich nicht kenne. Auf den Fall eben bezogen. Aber wie verändert sich denn da die Symmetrie? Also der Betreiber steht ja, das sind ja alles Sachen,
47:21
die jetzt einem typischen Betreiber nicht zur Verfügung stehen. Oder bei den meisten IT-Betreibern kenne ich niemanden, der auf so einem Niveau Forensik betreibt. Also heißt das doch für den typischen Serverbetreiber? Verändert sich gar nichts, oder? Ja, die Frage war, was verändert sich für Endnutzer? Ich labere mal ein bisschen rum.
47:41
Ich weiß nicht, ob das alles Hand und Fuß hat. Aber wenn diese Server, also wo diese Server betrieben werden, wenn da keinerlei Schutzmechanismen vorgesehen sind, dann ändert sich gar nichts, da hast du recht. Aber ich vermute mal, dass da zumindest ein Intrusion Detection System zum Einsatz kommt. Also von Hosterseite.
48:00
Oder dass die vielleicht sogar irgendeine Endpoint Protection Solution haben. Oder dass da irgendwas passiert. Und die wird natürlich dafür sorgen, dass solche Angriffe in Zukunft vereitelt werden können. Die werden entweder neue Netzwerksignaturen schreiben, oder neue Patterns, um Prozesse zu beenden, bevor sowas passieren kann. Und deswegen ist auch wichtig,
48:21
möglichst früh zu bemerken, wenn z.B. Black Cat jetzt das Verhalten verändert, damit man schon möglichst früh überall diese Schutzmechanismen ausrollen kann. Am besten, bevor so ein Incident passiert. Aber ja, das stimmt schon. Irgendwann sind sie erfolgreich, und dann passiert leider was. Ja, ist leider so.
48:41
Ja, da ist eine Frage. Vielen Dank für den superinteressanten Talk. Ich habe einfach eine Frage. Dieses Ghidra, was da vorgestellt wurde, das war ja wie so ein Schweizer Taschenmesser, offensichtlich für Sicherheitsforscher. Wo gibt es das? Ich würde als Linux-Anwender sagen, gibt es das bei KD Linux, oder spricht man da nicht offen drüber, oder wie ist das?
49:00
Wo kommt Ghidra her? Das ist auch eine gute Frage. Ghidra war ein großer Game-Changer in der Reverse-Engineering-Industrie. Vorher gab es ein einziges Schweizer Taschenmesser beim Reverse-Engineering, und das war AIDA Pro mit dem Hex-Race-D-Compiler. Das ist das einzige Tool.
49:21
Und Ghidra ist nicht ganz so gut, muss ich mal sagen, aber es spielt in der gleichen Liga. Es war nicht so wie diese ganzen anderen Tools, die sich da so langsam angenähert haben. Und es ist ein Tool, das ist entwickelt von der NSA. Man kann es von der NSA-Website herunterladen. Die GUI ist komplett in Java geschrieben, ist Cross-Platform. Kann man auf allen Betriebssystemen benutzen. Man kann sich natürlich fragen, warum hat die NSA das veröffentlicht?
49:43
Weiß ich nicht. Hat sich bisher noch nicht herausgestellt, dass da irgendwelche Backdoors drin sind. Genau. Aber das kann man einfach runterladen und benutzen. Das liegt ein bisschen daran, dass die NSA abgesehen von dem schlechten Ruf, den sie hier so in Deutschland hat, ja auch den Auftrag hat,
50:01
ihr Volk zu schützen vor ausländischen Akteuren und so. Und diese haben wahrscheinlich einfach gesagt, so ein Reverse-Engineering-Tool wollen wir nicht nur von einer privaten Firma für viele tausend Dollar haben, sondern es soll jedem zur Verfügung stehen. Und das ist halt so was. Ja, und es ist ein krass mächtiges Tool. Ich glaube, das ist Reverse-Engineering
50:21
auf ein, ich muss es runterladen und benutzen, runtergeschraubt wurde zu, naja, eigentlich kannst du nicht wirklich arbeiten, bis du eider Hex-Race Pro hast. Genau. Cool. Ja, also ist öffentlich zugänglich. Hätte ich auch mal verlinken können, mache ich vielleicht noch nachträglich. Es ist open source. Wie Froskon hier.
50:42
Gidra ist open source. Also wenn da Bugs drin sind, können die die fixen und so. Ich glaube, ich weiß es gar nicht. Genau. Gut, vielen Dank.
51:02
Dankeschön.