WEBVTT 00:00:00.000 --> 00:00:13.347 37C3 Vorspannmusik 00:00:13.347 --> 00:00:19.840 Herald: Unser nächster Vortrag Einführung in die Small Smartphone Malware Forensics 00:00:19.840 --> 00:00:25.000 sorry für den Versprecher wird gehalten von Viktor Schlüter und Janik Besendorf. 00:00:25.000 --> 00:00:30.720 Die beiden sind beim Digital Security Lab von Reporter ohne Grenzen. Bitte begrüßt 00:00:30.720 --> 00:00:42.792 die beiden zu ihrem Vortrag. Applaus 00:00:42.792 --> 00:00:46.920 Viktor: Ja vielen Dank! Hallo hört man mich? 00:00:46.920 --> 00:00:51.080 Janik: Ja jetzt vielen Dank für die schöne Vorstellung es freut uns dass so viele 00:00:51.080 --> 00:00:55.080 gekommen sind und der Raum voll geworden ist. Er ist Viktor ich bin Janik in 00:00:55.080 --> 00:00:59.570 unserem Talk geht's um Smartphone Malware Forensic also wie man Malware das ist 00:00:59.570 --> 00:01:05.760 jegliche Schadsoftware seines Staatstrojaner, Stalker-ware, Adware auf 00:01:05.760 --> 00:01:15.440 Smartphones finden kann. Und genau ist ein Einführungsvortrag ja und dazu erzählen 00:01:15.440 --> 00:01:18.640 wir euch jetzt was. Wir arbeiten beim Digital Security Lab bei Reporter ohne 00:01:18.640 --> 00:01:24.620 Grenzen. Wir wurden vor eineinhalb Jahren gegründet. Wir beschäftigen uns mit der IT 00:01:24.620 --> 00:01:28.320 Sicherheit von JournalistInnen weltweit, wir bieten z.B auch IT 00:01:28.320 --> 00:01:32.320 Sicherheitstrainings an und was wir hauptsächlich machen ist wir analysieren 00:01:32.320 --> 00:01:38.200 digitale Angriffe auf JournalistInnen, das sind z.B Accountübernahmen aber der 00:01:38.200 --> 00:01:42.920 Hauptfokus sind Angriffe mit Staatstrojanern auch bekannt als Spyware 00:01:42.920 --> 00:01:48.120 und da machen wir Forschung dazu und man kann sich an uns wenden, wenn man der 00:01:48.120 --> 00:01:52.240 Meinung ist, man ist vielleicht zu einem Angriff ausgesetzt worden und dann führen 00:01:52.240 --> 00:01:56.840 wir eine forensische Analyse durch und Schreiben gegebenfalls ein Bericht dazu 00:01:56.840 --> 00:02:02.440 und warum das wichtig ist, ist eben weil digital Angriffe meistens im Verborgenen 00:02:02.440 --> 00:02:06.240 bleiben. Also wenn jemand einen Staatstrojaner auf eurem Smartphone 00:02:06.240 --> 00:02:09.040 installiert dann merkt ihr das normalerweise nicht, das ist ja auch das 00:02:09.040 --> 00:02:12.360 Ziel davon, ähnlich wie bei einer Telefonüberwachung das merkt ihr auch 00:02:12.360 --> 00:02:17.400 nicht und deswegen ist es umso wichtiger dass forensische Analysen stattfinden dass 00:02:17.400 --> 00:02:21.720 man sowas nachweist um es zu dokumentieren, zu veröffentlichen und die 00:02:21.720 --> 00:02:26.680 Angreifer dann zur Verantwortung zu ziehen. Das waren z.B erst kürzlich 00:02:26.680 --> 00:02:36.640 möglich bei einem Fall in Aserbaidschan, wo wir einen Pegasus Angriff bei einer 00:02:36.640 --> 00:02:41.760 Journalistin nachweisen konnten. Das ist natürlich nicht der einzige solche 00:02:41.760 --> 00:02:45.800 Angriffe davon gibt's jede Menge, hier sind aus den letzten drei Jahren einige 00:02:45.800 --> 00:02:49.920 Pressemitteilungen von Staatstrojanerangriffen über Pegasus 00:02:49.920 --> 00:02:56.520 Predator, wer das herstellt, wie das heißt ist am Ende zweitrangig. Ein Bericht ist 00:02:56.520 --> 00:03:01.840 von gestern in Indien, wo JournalistInnen und OppositionspolitikerInnen angegriffen 00:03:01.840 --> 00:03:07.400 wurden mit Pegasus, das war eine Recherche von Amnesty Tech wo wir auch mithelfen 00:03:07.400 --> 00:03:12.920 konnten. Genau und als nächstes erzählt euch Viktor etwas zu den Besonderheiten 00:03:12.920 --> 00:03:19.320 von Smartphone Forensic. V: Test test cool hallo ja wie Ihr 00:03:19.320 --> 00:03:22.160 vielleicht gesehen habt wir haben die Folien auf Englisch gemacht damit es für 00:03:22.160 --> 00:03:25.600 die Leute die die Übersetzung gucken leichter ist, aber erzählen es auf 00:03:25.600 --> 00:03:29.720 Deutsch. Ich hoffe auch ich für meinen Teil werd nicht zu viel in so 00:03:29.720 --> 00:03:35.320 englischdeutsch cauder Welsch rutschen, ja. Es gibt ein paar Grundlagen die wir 00:03:35.320 --> 00:03:38.240 dachten, die vielleicht sinnvoll sind, wenn wir sie erzählen und hier 00:03:38.240 --> 00:03:44.000 zusammenfassen. Zum einen Computer forensics so das klassische Spiel wie man 00:03:44.000 --> 00:03:48.720 es kennt und Smartphone Malware forensic funktionieren relativ unterschiedlich oder 00:03:48.720 --> 00:03:51.960 es gibt so ein paar einfach größere Unterschiede, wie die Spiele 00:03:51.960 --> 00:03:56.720 funktionieren. Viele von euch haben vielleicht schon von dem klassischen Modus 00:03:56.720 --> 00:04:01.120 gehört, das ist so, man hat einen Server und da ist was passiert und da ist eine 00:04:01.120 --> 00:04:05.560 Festplatte drin und davon zieht man sich ein Image und also von physisch von allen 00:04:05.560 --> 00:04:10.120 Blocks auf Blog ebene und das lädt man dann in forensic Software rein und dann guckt man 00:04:10.120 --> 00:04:16.600 sich das Dateisystem an und schaut was da passiert ist. Was man generell mit 00:04:16.600 --> 00:04:20.120 Smartphones macht und vor allem auch was wir mit Smartphones machen ist anders, 00:04:20.120 --> 00:04:25.640 erstens weil moderne Smartphone Betriebssysteme alle eigentlich filebased 00:04:25.640 --> 00:04:30.200 encryption haben, das heißt auf physischer Ebene ist das gar nicht mehr interessant, 00:04:30.200 --> 00:04:33.520 weil jede Datei mit einem anderen Schlüssel verschlüsselt ist und wenn der 00:04:33.520 --> 00:04:37.160 Schlüssel weg ist kann man auch die Datei nicht mehr rankommen, das heißt gelöschte 00:04:37.160 --> 00:04:42.080 Dateien ist sowieso nicht. Dann ist die nächste Sache, dass Smartphones gar keine 00:04:42.080 --> 00:04:46.880 Funktion haben zu sagen hier ist übrigens das gesamte Dateisystem, also hier sind 00:04:46.880 --> 00:04:51.480 alle Dateien, die in meinem Speicher gerade liegen. Es gibt Menschen die tun 00:04:51.480 --> 00:04:54.120 das die Arbeiten für Strafverfolgungs- Behörden und die benutzen 00:04:54.120 --> 00:04:57.880 dafür Exploits, das ist aber richtig Kacke, weil das macht die Welt unsicherer 00:04:57.880 --> 00:05:04.280 weil das ist auch Teil von diesem Exploits verkaufen sowas Spiel. Zwei große Firmen 00:05:04.280 --> 00:05:10.480 eine heißt der Celebrite die das anbieten, das machen wir auf gar keinen Fall, wir 00:05:10.480 --> 00:05:15.000 nennen das zivile Forensic also in ein ein vernehmen mit den Menschen denen die 00:05:15.000 --> 00:05:19.040 Geräte gehören und wenn man das aus so einer zivilgesellschaftlichen Richtung 00:05:19.040 --> 00:05:22.720 machen möchte muss man sich mit dem zufrieden geben, was aus dem Handy 00:05:22.720 --> 00:05:27.360 rauskommt. Und das sind dann so Diagnoseinformationen und da kommt die 00:05:27.360 --> 00:05:33.480 Besonderheit dass man natürlich überhaupt nicht überprüfen kann ob das jetzt stimmt, 00:05:33.480 --> 00:05:38.320 weil man muss einfach den Informationen vertrauen die aus dem Handy rauspzeln und 00:05:38.320 --> 00:05:41.400 technisch gesehen wäre es natürlich möglich dass Schadsoftware auf dem Handy 00:05:41.400 --> 00:05:45.520 aktiv ist die diese Informationen verändert. Das heißt auch das muss man 00:05:45.520 --> 00:05:51.480 einfach auf dem Schirm haben, das wäre möglich. Dann ist eine wichtige Sache, oft 00:05:51.480 --> 00:05:55.160 wird so getan als wäre Malware and Spyware verschiedene Sachen oder es wäre so 00:05:55.160 --> 00:05:59.520 Malware Spyware das kleine Geschwisterkind von der Malware und weniger schlimm, 00:05:59.520 --> 00:06:03.920 bisschen so wie Quellen TKÜ und online Durchsuchung und das eine ist ja nur auf 00:06:03.920 --> 00:06:09.280 die Messenger Nachrichten zugreifen, das ist natürlich Quatsch, sobald man als 00:06:09.280 --> 00:06:13.520 Schadsoftware in der Lage sein möchte auf irgendetwas zuzugreifen was das 00:06:13.520 --> 00:06:17.960 Betriebssystem nicht erlaubt hat, musst du Systemprivilegien haben, musst du auf 00:06:17.960 --> 00:06:23.080 alles Zugriff haben können und das ist auch der Fall. Das heißt Spyware ist auch 00:06:23.080 --> 00:06:26.520 immer Malware und Spyware, lasst euch niemand von niemand irgendwas anderes 00:06:26.520 --> 00:06:30.520 erzählen, Spyware ist auch immer in der Lage beliebige zu verändern, beliebige 00:06:30.520 --> 00:06:36.040 Dateien zu löschen, beliebige Dateien neu hinzuzufügen, das hat riesig große 00:06:36.040 --> 00:06:38.160 Konsequenzen eigentlich für die Strafverfolgung, weil man gar nicht 00:06:38.160 --> 00:06:42.040 richtig zeigen kann dass ein Handy was mit Spyware gehackt wurde nicht auch noch 00:06:42.040 --> 00:06:45.640 irgendwelche anderen Spuren, irgendwelche anderen Dateien hinterlegt wurden das 00:06:45.640 --> 00:06:49.040 würde man vermutlich auch gar nicht finden sobald man ein Handy kompromittiert hat, 00:06:49.040 --> 00:06:53.360 hat man das vollständig kompromittiert und man kann eigentlich nichts mehr vertrauen, 00:06:53.360 --> 00:06:58.400 was an Dateien darum liegt. Das Einzige weshalb man überhaupt dann Spyware finden 00:06:58.400 --> 00:07:02.320 kann, ist dass es natürlich auch sehr viel fleißig und sehr viel Arbeit erfordert 00:07:02.320 --> 00:07:06.720 alle Spuren zu vernichten, die man als Spyware hinterlässt und das ist 00:07:06.720 --> 00:07:17.120 glücklicherweise nicht der Fall. Man kann unterscheiden in zwei Arten von Malware 00:07:17.120 --> 00:07:21.800 und hier ist leider irgendwas interessantes passiert, weil da ist da 00:07:21.800 --> 00:07:25.840 muss eigentlich eine Kröte sein, vielleicht da da ist die Kröte genau. Ich 00:07:25.840 --> 00:07:29.320 weiß nicht was mit der Folie aber jedenfalls es gibt zwei Arten von Malware, 00:07:29.840 --> 00:07:34.000 solche mit Exploits und solche ohne Exploits. Und das Interessante daran ist 00:07:34.000 --> 00:07:38.520 nur Malware mit Exploits kann aus der Sandbox raushüpfen. Das kann man sich 00:07:38.520 --> 00:07:45.600 vorstellen, ok wow, das kann man sich vorstellen wie Tierchen die in 00:07:45.600 --> 00:07:50.600 Plastikeimern sind und zwar das eine Tier kann aus dem Plastikeimer raushüpfen 00:07:50.600 --> 00:07:55.000 nämlich die Kröte, das andere kann es nicht die Schildkröte. Und zwar dieser 00:07:55.000 --> 00:07:58.880 Plastikeimer ist die Sandbox und nur wenn man aus der Sandbox raushüpfen kann, ist 00:07:58.880 --> 00:08:04.880 man in in der Lage auf Information Daten Systemressourcen zuzugreifen, was dir das 00:08:04.880 --> 00:08:09.760 Smartphone Betriebssystem eigentlich nicht erlaubt. Und die Dinge, die raushüpfen 00:08:09.760 --> 00:08:15.040 können das ist eben die die Spyware, die zu Spionage Zwecken von staatlichen 00:08:15.040 --> 00:08:19.480 Akteuren benutzt wird und das Interessante ist hier diese Eploits sind sehr sehr 00:08:19.480 --> 00:08:26.160 teuer. Also wenn man so eine Exploit chain für Smartphone Betriebssystem ist in der 00:08:26.160 --> 00:08:31.040 Größenordnung von mehreren Millionen Euro teuer, das heißt das ist eine Sache das 00:08:31.040 --> 00:08:35.200 passiert in diesem Kontext von staatliche Überwachung, staatliche Akteure, das ist 00:08:35.200 --> 00:08:40.160 aber eigentlich nichts was man jetzt erwarten würde im Kontext von Stalker-ware. 00:08:40.160 --> 00:08:44.480 Auf der anderen Seite genau gibt es Malware die keine Exploits hat und damit 00:08:44.480 --> 00:08:48.680 auch fein ist und keine haben möchte und die mehr darüber lebt dass sie über andere 00:08:48.680 --> 00:08:53.480 Zwecke über andere Wege auf dem Handy installiert wird und sich einfach damit 00:08:53.480 --> 00:08:59.680 zufrieden gibt was das Betriebssystem anbietet an Möglichkeiten. Kröte wieder 00:08:59.680 --> 00:09:07.600 weg. Da ist sie rausgehüpft. Es geben vier Arten von Malware gehen dann auch mit 00:09:07.600 --> 00:09:10.680 dieser Unterscheidung, also das eine sind die mit Exploits das andere sind die ohne 00:09:10.680 --> 00:09:15.160 Exploits und dann haben wir Sachen für iOS und für Android und dadurch, dass das IOS 00:09:15.160 --> 00:09:19.960 und das Android Betriebssystem ziemlich unterschiedlich ist, gibt es da auch keine 00:09:19.960 --> 00:09:24.880 Kompabilität, sondern das ist wirklich also die Spiele Malware zu entwickeln für 00:09:24.880 --> 00:09:27.080 die eine Plattform und die andere Plattform funktionieren relativ 00:09:27.080 --> 00:09:31.120 unterschiedlich, weil die Plattformen einfach ein bisschen verschieden sind und 00:09:31.120 --> 00:09:38.840 deshalb gehen so ein bisschen vier Arten von Malware auf. Genau, die obere Linie 00:09:38.840 --> 00:09:42.240 das sind die Schildkröten, die können nicht aus Sandboxes raushüpfen, die sind 00:09:42.240 --> 00:09:46.840 da darauf angewiesen als aus der Sicht der Malware, was das Betriebssystem Ihnen 00:09:46.840 --> 00:09:51.840 erlaubt. Und das sieht so aus, dass bei iPhones gibt es kein Zeit loading 00:09:51.840 --> 00:09:57.680 zumindest aktuell zeitloading bedeutet, dass man selber Apps installieren kann 00:09:57.680 --> 00:10:01.120 ohne dass die aus dem AppStore kommen, also dass man selber eine Programmdatei in 00:10:01.120 --> 00:10:04.440 der Hand haben kann und sagen kann liebes Handy installiere die bitte. Das geht bei 00:10:04.440 --> 00:10:10.080 iPhones nicht. Alle Apps müssen durch den AppStore durch. Und da gibt es auch 00:10:10.080 --> 00:10:15.360 Anforderungen und so und die was eine App maximal können darf das ist auch 00:10:15.360 --> 00:10:21.680 einigermaßen eingeschränkt und es ist aktuell zumindest auch nicht möglich ein 00:10:21.680 --> 00:10:29.080 iPhone zu routen also genau, also die Systemprivilegien, die sich jetzt 00:10:29.080 --> 00:10:32.720 Mechanismen auser Kraft zu setzen und Vollzugriff auf das ganze Handy zu 00:10:32.720 --> 00:10:37.640 erhalten, was natürlich aus der Sicht von so Stalker-ware auch sehr interessant ist. 00:10:37.640 --> 00:10:41.120 Bei Android hingegen ist das so das Siteloading also das Installieren von 00:10:41.120 --> 00:10:46.920 eigenen Apps, das geht. Es gibt ein paar mehr Permissions könnte man jetzt auch 00:10:46.920 --> 00:10:51.720 drüber streiten, was man so als App können darf. Die ganzen interessanten Sachen muss 00:10:51.720 --> 00:10:57.000 man natürlich als App aber auch Anfragen von hey darf ich das bitte tun und es ist 00:10:57.000 --> 00:11:02.080 in vielen Fällen auch möglich das Handy zu Routen allerdings aber erst meistens 00:11:02.080 --> 00:11:05.640 nachdem man die Inhalte von dem Handy gelöscht hat. Also es ist jetzt nicht so 00:11:05.640 --> 00:11:09.120 interessant ein Handy zu routen um irgendwie auf das ganze Dateisystem 00:11:09.120 --> 00:11:14.320 zuzugreifen, was da drauf ist, sondern es ist im Fall von Stalker-ware es ist eine 00:11:14.320 --> 00:11:20.400 Möglichkeit dass TäterInnen das Handy erst Routen und dann das Stalker-ware drauf 00:11:20.400 --> 00:11:26.120 installieren und die dann Rootzugriff hat. In der Version mit Exploit sieht das ein 00:11:26.120 --> 00:11:32.400 bisschen anders aus da ist es auf iOS Geräten, es es passiert es immer wieder 00:11:32.400 --> 00:11:39.000 mal dass Spyware detektiert wird, erkannt wird, bewiesen werden kann dass ein 00:11:39.000 --> 00:11:45.400 Angriff mit Spyware erfolgt ist. Es ist relativ komplex an die binary 00:11:45.400 --> 00:11:51.120 ranzukommen, an die an die eigentliche Programmdatei von der Malware. Ich weiß 00:11:51.120 --> 00:11:55.240 nicht wer von euch in dem Operation Triangulation Vortrag war, das waren so 00:11:55.240 --> 00:12:01.360 gefühlte 20 Schritte von stages und Sicherheitsmechanismen und irgendwelchen 00:12:01.360 --> 00:12:07.200 anderen Sachen bis dann final die eigentliche Datei auf dem Handy gelandet 00:12:07.200 --> 00:12:12.160 ist. Vermutlich weil die verhindern wollten dass Leute die eigentliche Spyware 00:12:12.160 --> 00:12:14.920 haben und analysieren können rauskriegen können, ja was tut sie denn jetzt 00:12:14.920 --> 00:12:22.200 eigentlich. Und dadurch dass das alles so ein bisschen im Verborgenen passiert, 00:12:22.200 --> 00:12:28.610 diese Exploits werden gehandelt auf einem Grau- bis Schwarz-markt und vor allem 00:12:28.610 --> 00:12:35.080 dadurch dass Leute, die mit Exploits Geräte angegriffen haben und 00:12:35.080 --> 00:12:39.000 kompromittiert haben, technisch gesehen in der Lage sind alles mögliche an diesem 00:12:39.000 --> 00:12:44.320 Gerät zu manipulieren und zu verändern. Es es ein relativ komplexes und 00:12:44.320 --> 00:12:50.080 undurchsichtiges Feld indem man auch jetzt keinen Anspruch hat als analysierende 00:12:50.080 --> 00:12:56.120 Stelle alles finden zu können, das ist was anderes bei bei Systemen, wo man bestimmte 00:12:56.120 --> 00:13:00.880 Annahmen bestimmte Integritätsmaßnahmen vertrauen kann sagen kann, ok wenn da was 00:13:00.880 --> 00:13:04.800 wäre würde man es sicher da und daran sehen. Das gilt hier nicht mehr wenn man 00:13:04.800 --> 00:13:09.080 davon ausgehen muss dass Leute vollständig das System kompromittiert haben und 00:13:09.080 --> 00:13:13.520 theoretisch alles verändern können. Das heißt letztlich ist es eine Art von Katz 00:13:13.520 --> 00:13:19.040 und Mausspiel von Leute schreiben Stalker-ware schreiben also staatlich 00:13:19.040 --> 00:13:24.280 finanzierte Unternehmen schreiben komplexes Spyware, kaufen Exploits ein, 00:13:24.280 --> 00:13:28.320 melden die nicht, sondern benutzen sie um Menschen aus der Zivilgesellschaft zu 00:13:28.320 --> 00:13:35.840 hacken und dann gibt es NGOs, die finden das und dann passiert es aber manchmal 00:13:35.840 --> 00:13:38.640 dass die Unternehmen dann wieder rauskriegen: oh ja woran haben die das 00:13:38.640 --> 00:13:43.480 erkannt? und dann verändern Sie das oder sind besser darin werden besser darin 00:13:43.480 --> 00:13:47.440 Spuren zu verwischen, und dann es geht immer weiter und es zieht immer weiter 00:13:47.440 --> 00:13:53.400 diese Kreise und natürlich ist auch das, was wir hier heute erzählen, nicht alles 00:13:53.400 --> 00:13:58.120 das was wir wissen und es ist auf gar keinen Fall alles das was überhaupt an 00:13:58.120 --> 00:14:04.240 Spuren existiert da draußen, das muss man schon so zueinander abgrenzen. Eine 00:14:04.240 --> 00:14:10.160 weitere Sache die wichtig ist zu erwähnen, wir sind wir haben nicht wahnsinnig viel 00:14:10.160 --> 00:14:15.480 Expertise was Stalking und Antistalking angeht also Stalker-ware und Antistalking 00:14:15.480 --> 00:14:19.400 und hier sind zwei sehr gute Websites, die wir euch empfehlen können, falls ihr davon 00:14:19.400 --> 00:14:22.240 selber betroffen seid, falls ihr mal Menschen helfen wollt, die davon betroffen 00:14:22.240 --> 00:14:27.640 sind. Das ist der Ort an dem wir das weiterleiten würden. Wir fanden es 00:14:27.640 --> 00:14:33.240 trotzdem vielleicht eine gute Idee, dass hier diese ganze Stockerware Komponente 00:14:33.240 --> 00:14:37.360 technisch mit reinzunehmen, weil natürlich technisch gesehen das schon 00:14:37.360 --> 00:14:40.320 Gemeinsamkeiten hat, wie diese Apps funktionieren, was sie so tun, wie sie 00:14:40.320 --> 00:14:43.960 versuchen zu funktionieren und deshalb versuchen wir hier einfach einen 00:14:43.960 --> 00:14:48.560 technischen Überblick zu geben, wie man diese Sachen erkennen würde und wie die 00:14:48.560 --> 00:14:54.520 funktionieren. Und jetzt erklärt euch Janiik ein bisschen was zu Methodik. 00:14:54.520 --> 00:15:01.000 J: Genau zur Methodik also wir haben ja schon gelernt, wir können jetzt leider 00:15:01.000 --> 00:15:06.480 nicht einfach den flashpeicher aus unserem Smartphone auslöten, den wieder woanders 00:15:06.480 --> 00:15:13.560 dran löten und alles auslesen. Natürlich meistens kann ich ein Smartphone per USB 00:15:13.560 --> 00:15:18.200 oder Lightning oder über WiFi an den Laptop anschließen und ein Backup machen 00:15:18.200 --> 00:15:25.080 oder ähnliche Sachen und das ist auch was wir hauptsächlich tun, aber bevor wir zu 00:15:25.080 --> 00:15:29.360 solchen Sachen kommen würde ich euch erstmal sagen, nimmt einfach das Gerät mal 00:15:29.360 --> 00:15:34.520 in die Hand entsperrt ist und es geht ja meistens bei Überwachung um Messenger, 00:15:34.520 --> 00:15:39.400 weil man ist ja von der klassischen Telekommunikationsüberwachung, wo man 00:15:39.400 --> 00:15:43.240 einfach bei der Telekom z.B sagt hör mal bitte den Anruf mit und leite den hier 00:15:43.240 --> 00:15:48.000 weiter an die Polizei und dann hören wir mit. Zu dieser sogenannten 00:15:48.000 --> 00:15:53.320 Quellentelekommunikationsüberwachung also eigentlich dem komprimentieren von Geräten 00:15:53.320 --> 00:15:57.440 übergegangen, weil man dann vor Verschlüsselung die ja jetzt eigentlich in 00:15:57.440 --> 00:16:01.680 fast jedem Messenger implementiert ist wie in WhatsApp in Signal teilweise in 00:16:01.680 --> 00:16:09.080 Telegram und Anderen. Genau weil we das da gibt kann man eben nicht mehr einfach die 00:16:09.080 --> 00:16:14.400 Nachrichten ausleiten, genau und deswegen würde ich erstmal alle diese Messenger 00:16:14.400 --> 00:16:19.240 Apps aufmachen denn diese Messenger Apps die haben alle eine Funktion dass man die 00:16:19.240 --> 00:16:24.160 Nachrichten nicht nur am Smartphone lesen kann, sondern auch an seinem Laptop, an 00:16:24.160 --> 00:16:29.720 seinem Desktopcomputer und dass man die da verbinden kann, und das ist tatsächlich 00:16:29.720 --> 00:16:34.160 der einfachste Weg um diese Nachrichten ausleiten zu können, weil das ist ja eine 00:16:34.160 --> 00:16:37.600 Funktion die zum Nachrichten ausleiten gebaut ist. Natürlich ist sie dafür 00:16:37.600 --> 00:16:40.320 gedacht, dass man das nur selber macht aber wenn man z.B eine Zeit lang keinen 00:16:40.320 --> 00:16:44.520 Zugriff auf sein Gerät hatte, weil man bei einer Grenzkontrolle sein Passwort 00:16:44.520 --> 00:16:49.600 rausgeben musste oder weil vielleicht Sicherheitsbehörden in die eigene Wohnung 00:16:49.600 --> 00:16:52.960 eingedrungen sind, wo man seine Geräte da hatte und dies geschafft haben das 00:16:52.960 --> 00:16:58.440 Passwort zu umgehen, oder eben in dem Stalking Fall eben ja Menschen, die einem 00:16:58.440 --> 00:17:02.840 irgendwie nahe Zugriff auf das Gerät haben, können diese Funktion natürlich 00:17:02.840 --> 00:17:07.720 benutzen, sie mit Ihrem Laptop verbinden und die Nachrichten mitlesen. Das kann man 00:17:07.720 --> 00:17:10.880 aber zum Glück einfach nachschauen in diesen Apps. Ich habe hier ein paar 00:17:10.880 --> 00:17:19.880 Screenshots mitgebracht von iOS WhatsApp, iOS Signal und Signal auf Android. Da geht 00:17:19.880 --> 00:17:22.920 ja die Einstellung von euren Apps geht auf Link Devices und dann seht ihr da welche 00:17:22.920 --> 00:17:27.760 Geräte verbunden sind genau. Da sollten dann eure drin stehen und wenn nicht dann 00:17:27.760 --> 00:17:32.720 könnt ihr da auch Geräte die verbunden sind entfernen. Das ist tatsächlich auch 00:17:32.720 --> 00:17:38.080 eine Methode, die die deutsche Polizei nachweislich nutzt. Der Link hier unten 00:17:38.080 --> 00:17:42.520 ist ein Artikel von netzpolitik.org, wo ein internes Dokument der deutschen 00:17:42.520 --> 00:17:46.160 Polizei veröffentlicht wurde, die eben genau beschreiben, dass Sie diese Funktion 00:17:46.160 --> 00:17:51.960 benutzen um Messenger wie WhatsApp und Signal abzuhören. Genau wenn wir jetzt 00:17:51.960 --> 00:17:57.800 aber übergehen zu wir schließen so ein Smartphone an unsere Computer an, dann 00:17:57.800 --> 00:18:02.200 gibt es ein Tool was wir sehr viel benutzen, was wir euch auch sehr nah legen 00:18:02.200 --> 00:18:07.840 können, das ist MVT das mobile verification Toolkit, das wurde entwickelt 00:18:07.840 --> 00:18:13.720 von Amnesty Tech 2021 im Rahmen des Pegasus Projekts. Das Pegasus Projekt sagt 00:18:13.720 --> 00:18:20.520 vielleicht vielen was, da wurde 2021 eine Liste an tausenden Handynummern geleakt, 00:18:20.520 --> 00:18:27.800 die Alle angegriffen wurden mit der SpyPegasus und Amnesty Tech und andere 00:18:27.800 --> 00:18:31.560 haben da eben forensische Analysen durchgeführt von Leuten die sie 00:18:31.560 --> 00:18:36.440 identifiziert haben, die auf dieser Liste standen und dazu auch tooling entwickelt 00:18:36.440 --> 00:18:41.360 und dieses tooling am Ende auch veröffentlicht. Und das ist eben MVT, MVT 00:18:41.360 --> 00:18:47.720 hat verschiedene Möglichkeiten z.B kann es iPhone Backups analysieren, die man mit 00:18:47.720 --> 00:18:54.240 iTunes oder auch mit Software auf Linux vorher erstellt hat. Analysieren das past 00:18:54.240 --> 00:19:04.880 da vor allem SQLite Datenbank oder plist Dateien solche Sachen und bereitet die auf 00:19:04.880 --> 00:19:10.600 zu strukturierten JSON Format, die man viel schöner lesen kann als wenn man das 00:19:10.600 --> 00:19:14.280 handisch macht, und bei Android funktioniert das über die ADB 00:19:14.280 --> 00:19:19.160 Schnittstelle Android Debugging Bridge, wo man auch eben auf gewisse Daten von 00:19:19.160 --> 00:19:22.880 Android Smartphones zugreifen kann, z.B welche Apps sind da installiert. Das 00:19:22.880 --> 00:19:27.040 erzählen wir euch aber alles später im Detail, wie man das händisch macht und wie 00:19:27.040 --> 00:19:34.480 MVT das erleichtert. Genau wie sieht das aus auf iOS? Das ist jetzt sind die 00:19:34.480 --> 00:19:43.080 Schritte für Linux es gibt eine super Toolchain auf Linux für Apple Geräte und 00:19:43.080 --> 00:19:47.960 wie man über USB Lightning auf die zugreift und das ist libImobiledevice wo 00:19:47.960 --> 00:19:51.880 das alles nachgebaut wird was sonst in iTunes passiert und das stellt eben z.B 00:19:51.880 --> 00:19:58.920 dieses Tool iDevice Backup 2 zur Verfügung. Ja wie bereits schon bisschen 00:19:58.920 --> 00:20:03.440 angesprochen, theoretisch kann man die Geräte jailbreaken und dann eben auf mehr 00:20:03.440 --> 00:20:09.520 Dateien zugreifen, weil so ein Backup von dem iPhone inkludiert nicht alles z.B sind 00:20:09.520 --> 00:20:16.200 Signal Nachrichten nicht enthalten und auch gewisse Systemdateien z.B 00:20:16.200 --> 00:20:19.520 irgendwelche System Binaries sind da nicht enthalten, weil die braucht man nicht um 00:20:19.520 --> 00:20:22.120 das wiederherzustellen, weil die sind auf einem iPhone wo man Backup 00:20:22.120 --> 00:20:27.280 wiederherstellen will natürlich schon drauf, das würden wir euch aber nicht 00:20:27.280 --> 00:20:31.240 empfehlen, wenn ihr nicht wirklich genau wisst was ihr tut, weil ihr macht dadurch 00:20:31.240 --> 00:20:35.960 auch euer Gerät unsicherer ja und manipuliert vielleicht auch vorher das 00:20:35.960 --> 00:20:40.200 Gerät bezüglich Spuren die ihr nachher vielleicht entdecken wollt. Was ihr auf 00:20:40.200 --> 00:20:43.840 jeden Fall aber machen solltet ist als erstes mit dem Tool Idevice Backup die 00:20:43.840 --> 00:20:48.280 Verschlüsselung eures Backups einzuschalten, denn Apple speichert mehr 00:20:48.280 --> 00:20:52.530 Dateien, wenn ihr ein verschlüsseltes Backup anlegt, als wenn ihr nicht 00:20:52.530 --> 00:20:57.240 verschlüsseltes Backup anliegt also das reasoning dahinter ist einfach dass Apple 00:20:57.240 --> 00:21:02.240 sich nicht sicher ist wie die Nutzer in ihre Backups speichern und da könnten 00:21:02.240 --> 00:21:05.000 natürlich dann vielleicht andere Leute drauf Zugriff haben und deswegen sind sie 00:21:05.000 --> 00:21:07.560 da vorsichtiger was sie alles in die Backups packen wenn man sein Backup nicht 00:21:07.560 --> 00:21:10.160 verschlüsselt. Deswegen wenn wir ein Backup machen, machen wir immer die 00:21:10.160 --> 00:21:13.160 Verschlüsselung an das Passwort was man dann dafür wählt ist natürlich egal muss 00:21:13.160 --> 00:21:17.040 man sich merken und sollte man danach, wenn man das dem Nutzer der Nutzerin 00:21:17.040 --> 00:21:22.480 zurückgibt wieder auf was Gutes setzen. Ja genau dann macht man einfach sein Backup, 00:21:22.480 --> 00:21:28.120 das Backup ist ja jetzt verschlüsselt, MVT bietet zum Glück auch ein Tool an um diese 00:21:28.120 --> 00:21:31.680 Backups wieder zu entschlüsseln, hier ist der Befehl, könnt ihr nachher auf den 00:21:31.680 --> 00:21:35.360 Folien einfach nachlesen und dann kann man MVT noch mal sagen, ja jetzt nimm dies 00:21:35.360 --> 00:21:40.360 verschlüsselte Backup und analysier das einmal parse alle SQL Datenbanken und 00:21:40.360 --> 00:21:48.160 schreibt mir das schön sauber auf und genau. Ähnlich auf Android hier gilt das 00:21:48.160 --> 00:21:53.280 Gleiche man könnte die Geräte Rooten, es ist bei Android aber so dass meistens wenn 00:21:53.280 --> 00:21:57.680 man die Geräte rootet muss man die ganzen Daten die darauf sind löschen und erst 00:21:57.680 --> 00:22:02.440 dann erlaubt der Bootloaders ein gewisse Änderung vorzunehmen mit denen man 00:22:02.440 --> 00:22:06.360 üblicherweise Geräte auf Android rootet, manchmal gibt's auf Android auch exploits 00:22:06.360 --> 00:22:09.760 mit denen es möglich ist Rootprivilegien zu erlangen und dann könnte man natürlich 00:22:09.760 --> 00:22:15.040 auch auf weitere Dateien wie System Binaries zugreifen, das ist aber wieder 00:22:15.040 --> 00:22:19.680 was das macht man nur wenn man weiß was man tut und das geht auch wirklich nur 00:22:19.680 --> 00:22:25.480 sehr selten auf sehr wenig Geräten. Deswegen extrahiert man meistens Dateien 00:22:25.480 --> 00:22:31.080 mit MVT über diese ADB Schnittstelle, wie erwähnt, hier ist das Command das zu tun. 00:22:32.720 --> 00:22:37.400 Das schreibt euch dann die Ergebnisse in den Ordner eurer Wahl. Was man bei Android 00:22:37.400 --> 00:22:44.120 zum Glück auch machen kann ist die Dateien der Apps die APK Dateien, die kann man 00:22:44.120 --> 00:22:48.920 auch herunterladen und MVT erleichtert einem das hier ist auch wieder das Command 00:22:48.920 --> 00:22:53.600 dafür und man kann die sogar auf Virustotal hochladen, das ist ein Dienst 00:22:53.600 --> 00:22:58.320 im Internet der ganz viele verschiedene Virenscanner benutzt und euch dann anzeigt 00:22:58.320 --> 00:23:08.080 bei wie vielen das als Virus erkannt wurde. Genau jetzt ist es so, es gibt zwei 00:23:08.080 --> 00:23:11.480 unterschiedliche Arten wie man Malware finden kann, wir nennen das primäre und 00:23:11.480 --> 00:23:15.440 sekundäre Funde, das was jetzt z.B bei Operation Triangulation gesehen habt ist 00:23:15.440 --> 00:23:19.200 ein primärer Fund, weil man hat wirklich die gesamte Exploit chain nachvollziehen 00:23:19.200 --> 00:23:25.240 können und man hat am Ende oder auch in anderen cases hat man dann auch wirklich 00:23:25.240 --> 00:23:28.720 die Binaries gefunden und konnte genau sehen welche Funktionalität war eingebaut 00:23:28.720 --> 00:23:34.440 in diesem Staatstrojaner, das ist leider nicht immer möglich was es dann oft gibt 00:23:34.440 --> 00:23:38.920 sind sekundäre Funde und hier sieht man dann z.B wenn es jemand anders mal 00:23:38.920 --> 00:23:44.520 geschafft hat so ein Pegasus irgendwo zu entdecken, hat er dann den Prozessnamen 00:23:44.520 --> 00:23:48.880 meistens in den Bericht geschrieben und dann kann man eben später sich darauf 00:23:48.880 --> 00:23:52.640 berufen, wenn jetzt irgendwas einen sehr dubiosen Prozessnamen hat, den es 00:23:52.640 --> 00:23:55.400 eigentlich von der legitimen App nicht gibt den wer anders nachgewiesen hat, dass 00:23:55.400 --> 00:23:58.960 das Malware ist und man findet das dann weiß man auch, ah das ist jetzt mit hoher 00:23:58.960 --> 00:24:05.240 Wahrscheinlichkeit das Gleiche. Dieses Prinzip basiert auf diesen indicators of 00:24:05.240 --> 00:24:10.760 compromise oder kurz IOCs, hier ist noch mal kurz eine Definition indicators of 00:24:10.760 --> 00:24:14.440 compromise in der Computer forensic sind eben Artefakte im Netzwerk oder ein 00:24:14.440 --> 00:24:18.360 Betriebssystem, die eben sagen wenn man die findet dann hat man mit hoher 00:24:18.360 --> 00:24:23.640 Wahrscheinlichkeit hier solche Malware gefunden. Hier sind drei Listen von 00:24:23.640 --> 00:24:27.080 solchen IOCs, die wir euch empfehlen würden, die sind auch in MVT alle 00:24:27.080 --> 00:24:30.800 automatisch includiert aber wenn ihr da mal selber z.B nachgucken wollt sind 00:24:30.800 --> 00:24:35.800 welche zu Stalker-ware oder eben auch zu spyware. Was man sonst noch machen kann 00:24:35.800 --> 00:24:41.040 ist eine Trafficanalyse und zwar muss ja eine Spyware immer irgendwie Traffic 00:24:41.040 --> 00:24:45.040 transmitten über WLAN über Mobilfunk und das kann man sich auch angucken. Da gibt's 00:24:45.040 --> 00:24:48.560 ein cooles Tool das heißt tinycheck, das wurde mal von Kaspersky entwickelt für 00:24:48.560 --> 00:24:54.680 Frauenhäuser um da eben speziell Spyware zu finden. Das läuft optional auf dem 00:24:54.680 --> 00:24:58.960 Raspberry Pi, muss man aber nicht machen macht dann dediziertes WiFi auf, da kann 00:24:58.960 --> 00:25:02.760 man sich mit verbinden, dann wird der Traffic mitgeschnitten und es wird z.B 00:25:02.760 --> 00:25:06.960 geguckt ob bekannte command and control Server im Traffic auftauchen oder ob man 00:25:06.960 --> 00:25:12.840 auf irgendwelchen Webseiten von diesen spyware Herstellern war. Genau und jetzt 00:25:12.840 --> 00:25:21.880 erzählt euch Viktor was zu iOS Forensik. V: Ja also ihr erinnert euch an die vier 00:25:21.880 --> 00:25:26.240 Felder und wir gehen jetzt im Prinzip diese vier Felder zusammen ab. Wir starten 00:25:26.240 --> 00:25:33.680 im ersten Feld und zwar ohne Exploits also Stalker-ware auf iPhone iOS Geräten, dieses 00:25:33.680 --> 00:25:40.240 Feld ist relativ hellgrau weil da gibt's gar nicht so viel, weil aktuell gibt es 00:25:40.240 --> 00:25:46.360 wie ich schon gesagt habe kein Exploit kein jailbreak der funktioniert für iOS 00:25:46.360 --> 00:25:50.600 Geräte und deshalb ist es gar nicht so attraktiv als Stalker-ware sich da 00:25:50.600 --> 00:25:55.040 einzunisten weil man diese ganzen Sachen von ich habe Zugriff auf Messenger, ich 00:25:55.040 --> 00:25:59.480 habe Zugriff auf die Daten von anderen Apps, das geht gar nicht so ohne Weiteres. 00:25:59.480 --> 00:26:05.880 Was natürlich möglich ist, ist dass Geräte gejailbreaked sind die älter als 15.7 sind 00:26:05.880 --> 00:26:09.800 und das kann ich schon mal dazu sagen, ich glaube es gibt Anzeichen dass es einen 00:26:09.800 --> 00:26:14.640 neuen jailbreak geben wird aus der Exploit chain, die in dieser Operation 00:26:14.640 --> 00:26:18.280 Triangulation Sache gefunden wurde, das heißt vielleicht ist das in Zukunft wieder 00:26:18.280 --> 00:26:21.760 möglich aber meistens dann auch nur eher die veralteten Geräte und nicht die 00:26:21.760 --> 00:26:28.760 aktuellen Geräte zu jailbreaken. Und wenn man kein Jailbreak hat, dann ist genau es 00:26:28.760 --> 00:26:33.280 ein bisschen schwierig als Stalker-ware App weil man muss durch die Checks von dem 00:26:33.280 --> 00:26:37.520 AppStore gehen, man kann nur durch den AppStore installiert werden und z.B bei 00:26:37.520 --> 00:26:41.920 einem iPhone muss man gibt so notification so ein orangenen Punkt und so ein grünen 00:26:41.920 --> 00:26:44.920 Punkt die anzeigen ob gerade das Mikro oder die Kamera an ist oder ich glaub auch 00:26:44.920 --> 00:26:53.160 die Location Services und das ist dann natürlich nicht mehr so stealthy. Und das 00:26:53.160 --> 00:26:56.800 genau das kann man auch irgendwie in so privacy Report Sachen dann nachgucken und 00:26:56.800 --> 00:27:01.160 natürlich hat man auch überhaupt keinen Zugriff auf die Daten von anderen Apps. 00:27:01.160 --> 00:27:03.800 Was es aber gibt, das haben wir schon gesehen, wir haben irgendwann noch selber 00:27:03.800 --> 00:27:07.920 mal ein bisschen geguckt wie das so funktioniert, es gibt Stalker-ware 00:27:07.920 --> 00:27:11.640 Anbieter die z.B so iCloud Paser geschrieben haben. Also da können dann 00:27:11.640 --> 00:27:19.040 TäterInnen können irgendwie das das iCloud Passwort von Menschen besorgen und dann 00:27:19.040 --> 00:27:24.160 gibt es so Stalker-ware Services, die sich dann damit in diesem iCloud Konto einladen 00:27:24.160 --> 00:27:28.360 und alles runterladen was in dem iCloud Konto gespeichert ist. Das sind z.B so 00:27:28.360 --> 00:27:34.520 Sachen wie Notizen, Kontakte, ich weiß nicht mehr nicht also das ist so es ist so 00:27:34.520 --> 00:27:39.080 halb viel, aber genau das das geht auf das geht auf jeden Fall und das kann sein das 00:27:39.080 --> 00:27:44.000 heißt es ist immer auch keine schlechte Idee, wenn man mit so eine Situation in 00:27:44.000 --> 00:27:47.800 Kontakt kommt das iCloud password zu ändern oder zu gucken dass das sicher ist, 00:27:47.800 --> 00:27:53.360 weil darüber können auch Informationen verloren gehen. Jetzt kann es aber 00:27:53.360 --> 00:27:56.600 natürlich trotzdem sein dass Leute es schaffen an den Checks vom App Store 00:27:56.600 --> 00:28:01.080 vorbei eine App zu schmuggeln und dann wären die folgenden Sachen die Dinge die 00:28:01.080 --> 00:28:04.760 man sich angucken würde sinnvollerweise. Wir gehen davon aus ihr habt ein Backup 00:28:04.760 --> 00:28:08.680 gemacht und das liegt irgendwo und in diesem Backup schaut ihr jetzt 00:28:08.680 --> 00:28:13.680 verschiedene Dateien an. Eine der Dateien bei der sich lohnt sie sich anzuschauen 00:28:13.680 --> 00:28:20.400 sind die transparency consent and control locks, die legen am folgenden Pfad und da 00:28:20.400 --> 00:28:24.800 ist die Tabelle namens Access interessant, weil in dieser Tabelle steht drin wann 00:28:24.800 --> 00:28:28.160 welche App welche Berechtigungen angefordert hat. Also wann Welche gesagt 00:28:28.160 --> 00:28:30.880 hat hallo darf ich bitte das Mikro benutzen? Darf ich bitte die Kamera 00:28:30.880 --> 00:28:37.080 benutzen? steht da drin inklusive einem Timestamp. Diesen Timestamp kriegt ihr 00:28:37.080 --> 00:28:41.400 dann auch relativ schnell in ein menschenlesbares Format, wenn ihr es 00:28:41.400 --> 00:28:47.000 händisch machen wollt, aber das macht doch alles MVT für euch. Also ich habe jetzt 00:28:47.000 --> 00:28:52.040 bei diesen ganzen Folien, ich habe euch einmal gezeigt wie man das RAW mit einem 00:28:52.040 --> 00:28:56.440 SQLight Paser machen würde, wenn man richtig wild drauf ist, aber da gibt's 00:28:56.440 --> 00:29:02.360 eigentlich also MVT macht das gleiche und MVT macht das gut. Jedenfalls das ist die 00:29:02.360 --> 00:29:06.640 Datenbank die sich MVT anguckt, so sieht das in MVT aus, da steht dann Signal hat 00:29:06.640 --> 00:29:11.680 gefragt kann ich das Mikro benutzen an diesem Zeitpunkt. Die nächste Sache die 00:29:11.680 --> 00:29:16.240 man sich angucken kann sind die data usage Logs. Ich weiß auch wieder nicht wer von 00:29:16.240 --> 00:29:19.640 euch in dem Operation Triangulation Talk drin war, auch da hat das eine Rolle 00:29:19.640 --> 00:29:23.960 gespielt, da haben sie nähmlich vergessen diese Logs zu löschen. Die interessanten 00:29:23.960 --> 00:29:29.080 Tabellen hier heißen ZLIVEUSAGE und Zprocess und in diesen zwei Tabellen steht 00:29:29.080 --> 00:29:34.120 drin wann welche App über Mobilfunk Daten runtergeladen hat, genau genommen sogar 00:29:34.120 --> 00:29:36.760 ich glaube welcher Prozess und das ist halt spannend weil auch Dinge die kein 00:29:36.760 --> 00:29:41.120 Prozess waren sondern irgendeine Exploit stage oder sowas tauchen da potenziell 00:29:41.120 --> 00:29:47.920 auf. Diese tolle Query die man sich natürlich merkt und so kurz mal 00:29:47.920 --> 00:29:55.320 runterspult die macht euch glücklich weil sie aus dieser Datenbank die die Sachen 00:29:55.320 --> 00:29:59.240 rausholt, diese zwei verschiedenen Tabellen miteinander joint und dann kommen 00:29:59.240 --> 00:30:03.440 da schönere Daten raus, aber natürlich habe ich mir die auch nicht ausgedacht 00:30:03.440 --> 00:30:07.640 sondern die ist einfach aus der MVT Codebase kopiert und deshalb ich empfehle 00:30:07.640 --> 00:30:12.200 auch euch nicht zu versuchen das händisch zu passen sondern genau das aus der MVT 00:30:12.200 --> 00:30:19.760 codebase zu kopieren oder MVT zu benutzen. Und wenn man das dann mit MVT ausführt, 00:30:19.760 --> 00:30:23.680 dann sieht das so aus, dann sagt euch MVT wann es das erste Mal benutzt wurde, ich 00:30:23.680 --> 00:30:29.600 glaube wann es das letzte Mal benutzt wurde und was die Bundle ID ist von der 00:30:29.600 --> 00:30:35.360 Sache, die das also was was der Process Name ist und was die Bundle ID ist und 00:30:35.360 --> 00:30:43.560 genau. Das Bundle IDs sind sowas wie der eindeutige Name von Apps. Das heißt damit 00:30:43.560 --> 00:30:48.120 kann man rauskriegen okay wer hat die eigentlich Daten benutzt. Eine weitere 00:30:48.120 --> 00:30:51.280 Sache die man sich angucken kann und die ist sehr interessant vor allem wenn man 00:30:51.280 --> 00:30:55.560 davon ausgeht dass alle Apps die auf dem Handy sind, Apps sind die installiert 00:30:55.560 --> 00:31:02.720 sind, weil man davon ausgeht, dass niemand irgendein Exploit hatte ist die Liste der 00:31:02.720 --> 00:31:08.240 installierten Applikationen, applications Apps, die ist in der info.plist Datei drin 00:31:08.240 --> 00:31:15.440 die liegt auch topl Level in eurem Backup drin und diese Datei kann man mit plist 00:31:15.440 --> 00:31:21.240 util parsen, das ist auch ein Tool was glaube ich auch in den Packs App Store 00:31:21.240 --> 00:31:25.440 package Stores von den meisten Linux Distributionen drin ist. plist ist so ein 00:31:25.440 --> 00:31:30.960 ganz komisches Format was sich das Apple Universum ausgedacht hat und ich glaube da 00:31:30.960 --> 00:31:37.560 kommen XML Dateien raus, wenn man das in normale Formate überführt hat. Da steht 00:31:37.560 --> 00:31:46.680 dann auch drin die Bundle IDs von den Apps die installiert sind und teilweise auch 00:31:46.680 --> 00:31:50.720 der Name und wenn ihr euch jetzt fragt na was ist denn jetzt das genau für ein Ding 00:31:50.720 --> 00:31:57.160 im App Store, dann kann ich euch als Tipp verraten dass zumindest aktuell auf der 00:31:57.160 --> 00:32:02.280 website also wenn man im Browser im App Store sich eine App anguckt bei Apple, 00:32:02.280 --> 00:32:06.560 dann kommt im und da auf view source klickt oder sich irgendwie den Sourcecode 00:32:06.560 --> 00:32:11.160 anguckt dann kommt da der Bandel ID Name vor. Das heißt das ist der der Mechanismus 00:32:11.160 --> 00:32:15.320 mit dem ihr, ihr habt eine Bandel ID irgendwo gelesen und wollt wissen was ist 00:32:15.320 --> 00:32:21.120 den das genau für ein Ding, mit dem ihr das zueinander connecten könnt und dann 00:32:21.120 --> 00:32:23.840 kann man auch möglicherweise die Person Fragen, hey pass mal auf, hast du das 00:32:23.840 --> 00:32:28.920 schon mal gesehen, kommt das von Dir hast du das runtergeladen? und damit kann man 00:32:28.920 --> 00:32:34.840 klären wenn da interessante merkwürdige weirde Dinge auftauchen wo die jetzt 00:32:34.840 --> 00:32:42.680 hergekommen sind und ob die da sein sollen. Ja genau die weitere Sache ist 00:32:42.680 --> 00:32:49.120 dass in MVT bereits wie Janik schon gesagt hat eigentlich eine Liste von sehr 00:32:49.120 --> 00:32:57.000 sehr vielen IOCs und anderen Merkmalen von Stalker-ware bereits drin steckt von frei 00:32:57.000 --> 00:33:01.560 tollen freiwilligen Menschen, die das Pflegen und ich glaube so automatisierte 00:33:01.560 --> 00:33:06.320 Skripte haben die das immer neu generieren und auch die Malware Samples hochladen 00:33:06.320 --> 00:33:11.360 davon, das heißt mein Bauchgefühl wäre ohne jetzt allzu viel empirische Daten zu 00:33:11.360 --> 00:33:18.320 haben, man hat relativ gute Chancen mit mit MVT Stalker-ware zu finden zu 00:33:18.320 --> 00:33:25.080 detektieren einfach, weil es da sehr lange IOC Listen gibt ja. Und sehr viel davon 00:33:25.080 --> 00:33:27.720 schon verzeichnet ist und das auch glücklicherweise alles automatisch 00:33:27.720 --> 00:33:31.960 passiert, also ihr müsst nicht das dann selber runterladen und sagen ja hier bitte 00:33:31.960 --> 00:33:37.960 diese Stalker-ware Liste, sondern wenn ihr aus dem gitrepo von MVT MVT installiert 00:33:37.960 --> 00:33:44.600 oder aus den Python packages und MVT ausführt, dann macht das das alles 00:33:44.600 --> 00:33:51.520 automatisch und benutzt Check gegen dieses Stalker-ware Indikatoren. Ja wir kommen zum 00:33:51.520 --> 00:33:58.120 State-Sponsored Spyware Teil zu den Sachen mit Exploits da gibt es natürlich die 00:33:58.120 --> 00:34:02.400 Sachen die wir schon gesagt haben und noch ein paar mehr z.B ist es lohnenswert sich 00:34:02.400 --> 00:34:09.360 anzugucken welche Einträge die Safari History hat, weil man kann da eigentlich 00:34:09.360 --> 00:34:17.840 zwei Sachen finden. Das eine ist man kann Exploit URLs finden von One Click Exploits 00:34:17.840 --> 00:34:24.160 vielleicht wart ihr in dem Predator Files Vortrag von donncha gestern 00:34:24.160 --> 00:34:29.720 glaube ich. Da hat er z.B erzählt dass in den meisten Fällen die Intelexa Software 00:34:29.720 --> 00:34:33.800 nur mit One Click Exploits installiert werden kann, weil die Browser Exploits 00:34:33.800 --> 00:34:39.120 haben und. Da hat man z.B dann eine Chance wenn sie das nicht gelöscht haben die URL 00:34:39.120 --> 00:34:45.600 zu finden von dem Server der die Website ausgeliefert hat, die den JavaScript 00:34:45.600 --> 00:34:50.520 Exploit vermutlich hatte , die andere Sache die man da finden kann sind Spuren 00:34:50.520 --> 00:34:56.240 von Redirects und Redirects würden passieren wenn man eine Network injection 00:34:56.240 --> 00:35:00.920 Attacke hatte. Das sieht ungefähr so auch aus auch das hat donncha gestern in dem 00:35:00.920 --> 00:35:06.720 Vortrag angerissen, ist auch ein Foto von denen. Das würde nämlich so passieren dass 00:35:06.720 --> 00:35:14.040 ein Handy eine HTTP Verbindung zu irgendeinem Server aufbaut und irgendwo 00:35:14.040 --> 00:35:18.560 auf der Route auf der Strecke entweder ein insy Catcher oder eine Kiste bei dem 00:35:18.560 --> 00:35:23.680 Internet Provider bei dem Telco Provider dann sehr schnell als Antwort auf diesen 00:35:23.680 --> 00:35:30.160 HTTP Request ein Redirect zurückschickt der sagt nee pass mal auf was du suchst 00:35:30.160 --> 00:35:34.360 ist nicht mehr bei dieser legitimen Seite sondern bei unserer schönen shady URL wo 00:35:34.360 --> 00:35:39.160 du gleich ein Exploit runterladen wirst und das Handy ist dann so ah ja okay gut 00:35:39.160 --> 00:35:43.000 ist ja nicht mehr da ist jetzt hier und quasi lädt sich dann die andere Sache 00:35:43.000 --> 00:35:49.160 runter, und was man dafür braucht ist dass man als Mittelstation muss man relativ 00:35:49.160 --> 00:35:56.160 schnell diesen Redirect schicken können, das heißt es ist einfach spannend hier auf 00:35:56.160 --> 00:36:02.120 der Folie ist das zu gucken z.B kam einfach insanely schnell nach dem Aufruf 00:36:02.120 --> 00:36:07.480 von irgendeiner URL ein Redirect, also irgendwie Millisekunde später oder weniger 00:36:07.480 --> 00:36:12.280 oder also einfach sehr sehr schnell wo man so überlegt ist das jetzt plausibel, dass 00:36:12.280 --> 00:36:16.320 der andere Server schon geantwortet hat? Das wären z.B Dinge die man da finden 00:36:16.320 --> 00:36:24.680 könnte. Was man auch finden kann ist dass Leute sich nicht gescheit anstellen beim 00:36:24.680 --> 00:36:30.040 Löschen von Daten aus Datenbanken. Was z.B passieren kann und davon hat in diesem 00:36:30.040 --> 00:36:36.600 citizen Lab Report wird davon erzählt, ist das zu einem Zeitpunkt Pegasus in der data 00:36:36.600 --> 00:36:42.880 usage SQLite Datenbank die ich euch schon gezeigt habe Prozesseinträge nur in der 00:36:42.880 --> 00:36:46.320 einen Tabelle aber nicht in der anderen Tabelle gelöscht haben und das ist eine 00:36:46.320 --> 00:36:49.320 Sache das würde das Handy nie tun, weil das immer entweder in beiden Tabellen oder 00:36:49.320 --> 00:36:54.160 gar nicht auftaucht, das heißt man kann da einfach gucken Mensch finden wir 00:36:54.160 --> 00:36:58.920 eigentlich Prozesseinträge mit Datentransferspuren in der einen aber 00:36:58.920 --> 00:37:02.040 nicht in der anderen Tabelle und wenn ja dann ist das ein sehr eindeutiges Zeichen, 00:37:02.040 --> 00:37:06.800 weil das halt in der freien Wildbahn sehr selten passiert und mit dieser Version von 00:37:06.800 --> 00:37:13.440 Pegasus dann eben doch. Und das ist z.B auch eine Sache mit der man ja eine Chance 00:37:13.440 --> 00:37:22.480 hat zu feststellen zu können, ok hier ist was komisches passiert. Genau die data 00:37:22.480 --> 00:37:28.520 usage ist natürlich auch hier relevant das habe ich gerade schon erzählt ja. Das ist 00:37:28.520 --> 00:37:33.440 jetzt z.B der mdns responder das sind aufgelöste DNS queries, da würde man auch 00:37:33.440 --> 00:37:38.280 andere Prozesse das also es ist auch es erfordert würde ich auch sagen so ein bisschen 00:37:38.280 --> 00:37:41.800 Übung sich da reinzulesen und so ein bisschen auch ein Gefühl davon zu kriegen 00:37:41.800 --> 00:37:48.200 was ist normal und was ist komisch. Es ist total empfehlenswert auch einfach mal von 00:37:48.200 --> 00:37:52.480 Friends oder einfach mal selber ab und zu sowas zu machen, bei sich selber drauf zu 00:37:52.480 --> 00:37:56.720 gucken um so ein Gefühl dafür zu kriegen und einfach da mal so durchzuscrollen, was 00:37:56.720 --> 00:38:02.960 sind denn gutartige Sachen die so einfach die ganze Zeit auf iPhones passieren dann 00:38:02.960 --> 00:38:06.000 kriegt man ein bisschen auch ein Gefühl dafür für welche Dinge vielleicht erstmal 00:38:06.000 --> 00:38:09.600 weird aussehen aber einfach die ganze Zeit passieren und einfach gutartig sind, weil 00:38:09.600 --> 00:38:16.640 sie von vom iPhone selber kommen. Was man auch tun kann ist sich die timestamps von 00:38:16.640 --> 00:38:23.200 den Dateien im im Backup anzugucken, das würde man machen indem man erstmal das 00:38:23.200 --> 00:38:28.040 Backup entschlüsselt der Schritt taucht auch auf in Janiks Liste dann sieht das 00:38:28.040 --> 00:38:34.600 erstmal so aus ohne doch genau wenn es ja dann sieht es erstmal so aus das Backup. 00:38:34.600 --> 00:38:39.120 Dieser decrypted Ordner hier der ist da nicht den habe ich so genannt, aber das 00:38:39.120 --> 00:38:46.280 sind erstmal bisschen ungeil, weil iPhone Backups funktionieren so dass alle Dateien 00:38:46.280 --> 00:38:51.160 benannt werden nach ihrem eigenen Hash und dann werden sie einfach in Ordner 00:38:51.160 --> 00:38:55.760 gespeichert die, wo sie gruppiert sind nach den ersten zwei Stellen von ihrem 00:38:55.760 --> 00:38:59.600 eigenen Hash und das das natürlich jetzt ziemlich ungeil in diesem Ding irgendwie 00:38:59.600 --> 00:39:02.960 Dateien zu suchen und sich anzugucken ok, was hast du für ein Timestamps noch auf 00:39:02.960 --> 00:39:08.040 den ersten Blick rauszukriegen, liebe Datei bist du interessant für mich. Was 00:39:08.040 --> 00:39:13.080 man da tun würde wäre das Backup zu rekonstruieren, das ist mich nicht 00:39:13.080 --> 00:39:18.600 besonders schwer die die ursprüngliche Pfahdstruktur wiederherzustellen, da gibt 00:39:18.600 --> 00:39:23.200 es z.B ein Tool, was ich jetzt nicht noch mal getestet habe vor dem Vortrag (shame 00:39:23.200 --> 00:39:26.880 on ME) aber ich glaube es funktioniert, ich glaube es gibt auch Andere das kriegt 00:39:26.880 --> 00:39:31.560 ihr hin das kann man auch in Stunde oder sowas selber programmieren. Jedenfalls es 00:39:31.560 --> 00:39:36.160 gibt die manifest.plist Datei da steht drin, das sind die Hashes das sind die 00:39:36.160 --> 00:39:39.480 eigentlichen Dateinamen und ich glaube auch der Timestamp und daraus kann man so 00:39:39.480 --> 00:39:43.800 ein bisschen den den ursprünglichen Dateipfad wieder rekonstruieren. Wenn man 00:39:43.800 --> 00:39:47.360 das gemacht hat hat man einen Ordner wo die Sachen ihre richtigen timestamps haben 00:39:47.360 --> 00:39:52.200 und genau die eigentlichen Dateien sind, wie sie vom iPhone aus dem iPhone 00:39:52.200 --> 00:39:58.840 gepurzelt sind und dann könnte man z.B mit diesem schönen oneliner sie sortieren nach 00:39:58.840 --> 00:40:10.600 dem ich glaube modified Timestamp und dann genau würde man sehen was z.B in einer 00:40:10.600 --> 00:40:15.760 Zeitzone passiert ist in der interessiert was da los war. Also angenommen weiß ne in 00:40:15.760 --> 00:40:19.520 dieser in dieser Range keine Ahnung wurde das Handy der Person abgenommen oder so 00:40:19.520 --> 00:40:24.360 dann könnte man da gucken, sehen wir da spannende Sachen? Eine weitere Sache nach 00:40:24.360 --> 00:40:30.760 dem man gucken kann sind SMS Anhänge, das waren z.B .gif files in dem forced 00:40:30.760 --> 00:40:35.360 entry Exploit vom Citizen das war auch das citizen Lab analysiert und vorgestellt 00:40:35.360 --> 00:40:40.760 hat, da hat man z.B einfach gesehen dass da 20 .gif Anhänge ganz schnell 00:40:40.760 --> 00:40:45.120 hintereinander angekommen sind, ja und dann sieht man natürlich auch okay das ist 00:40:45.120 --> 00:40:49.480 hier irgendwie merkwürdig. Auch in crashlocks kann man interessante Artefakte 00:40:49.480 --> 00:40:54.480 finden auch z.B wenn jetzt irgendwie eine eine Komponente von eurem Handy ganz oft 00:40:54.480 --> 00:40:58.600 hintereinander crasht, vor allem wenn man das nicht erwarten würde, das ist glaube 00:40:58.600 --> 00:41:03.920 ich auch in diesem Force entry Dings passiert, dass ich glaube z.B der iMessage 00:41:03.920 --> 00:41:08.200 Prozess ganz oft gecrasht ist, weil eben ganz oft Sachen ankamen die manchmal 00:41:08.200 --> 00:41:13.440 funktioniert haben und manchmal nicht. Da kann man dann Spuren finden. Eine weitere 00:41:13.440 --> 00:41:20.000 Sache noch und zwar einfach nur so ein Transfer in diesem Vortrag von Operation 00:41:20.000 --> 00:41:25.480 trangulation haben die auch selber gezeigt dass sie in der data usage und Manifest 00:41:25.480 --> 00:41:29.600 alles Dinge die kennt und versteht, verschiedene Sachen hintereinander gesehen 00:41:29.600 --> 00:41:33.960 haben bei der ersten stage von dem Exploit den sie da beobachtet haben und zwar das 00:41:33.960 --> 00:41:39.200 war erstmal dass der iMessage Prozess der einem Transfer Agent Sachen runterlädt, 00:41:39.200 --> 00:41:44.360 eine Datei wird angelegt und dann wird ein Prozess aktiv den den es da eigentlich 00:41:44.360 --> 00:41:48.240 nicht geben sollte und dieses Bündel an Dinge die hintereinander passieren dann 00:41:48.240 --> 00:41:52.040 irgendwie relativ bemerkenswert ist und identifizieren das Verhalten für diesen 00:41:52.040 --> 00:41:56.960 Angriff und genau an an solchen Sammlungen von Dingen die schnell hintereinander 00:41:56.960 --> 00:42:03.200 passieren kann man auch Malware finden. Und damit gebe ich weiter an Janik der 00:42:03.200 --> 00:42:08.240 euch Sachen zu Android zeigt. J: Genau wir müssen mal schauen, wie 00:42:08.240 --> 00:42:11.680 schnell wir das schaffen und ob wir noch Zeit für Fragen haben aber ansonsten haben 00:42:11.680 --> 00:42:18.880 wir auch noch ein Workshop in zwei Stunden genau. Ja aber zu Android es ist ein 00:42:18.880 --> 00:42:23.720 bisschen das Gleiche aber man muss schon sagen dass Android weniger solche 00:42:23.720 --> 00:42:28.200 Logdateien schreibt auf die man zugreifen kann um die forensisch zu analysieren im 00:42:28.200 --> 00:42:32.720 Vergleich zu iOS, einige Sachen sind aber ähnlich z.B kann ich mir hier auf Android 00:42:32.720 --> 00:42:36.000 auch angucken welche Applikationen sind installiert, das kann ich natürlich auch 00:42:36.000 --> 00:42:39.560 auf dem Gerät machen und bei Stalkerware werde ich da vielleicht auch fündig, man 00:42:39.560 --> 00:42:45.960 kann dann auch manchmal Apps verstecken genau. Wie man es macht wenn man es an den 00:42:45.960 --> 00:42:52.480 PC anschließt ist man benutzt ADB und über adb shell kann man eben commands auf dem 00:42:52.480 --> 00:42:56.720 Telefon direkt ausführen das werdet ihr jetzt eigentlich häufiger sehen in den 00:42:56.720 --> 00:43:02.800 Folien und zwar mit dem Tool PM kann man sich die Packages Listen das -U ist dafür 00:43:02.800 --> 00:43:07.440 dass man auch den uninstallierte Applikationen sieht, das i ist dafür dass 00:43:07.440 --> 00:43:12.320 man sieht wer hat diese App installiert das besonders spannend und das F zeigt 00:43:12.320 --> 00:43:18.640 einen auch an wo die Datei liegt dieser App genau, hier habe ich euch ein 00:43:18.640 --> 00:43:22.400 Screenshot gemacht wie das aussieht und hier sieht man jetzt z.B Installer ist com 00:43:22.400 --> 00:43:26.840 Google Android package Installer, das ist der Standard Installer wenn ihr z.B euch 00:43:26.840 --> 00:43:30.960 eine App runterladet mit Chrome auf eurem Android Telefon da drauf klickt und 00:43:30.960 --> 00:43:37.120 installieren klickt, dann sieht das so aus, das ist also unauffällig für 00:43:37.120 --> 00:43:41.280 Staatstrojaner aber für Stalker-ware eventuell interessant. Was man bei 00:43:41.280 --> 00:43:45.840 Staatstrojaner z.B auch manchmal sieht ist dass da einfach nan steht weil wenn man 00:43:45.840 --> 00:43:48.520 ein Exploit hatte und der hat dann irgendwie geschafft die Applikation zu 00:43:48.520 --> 00:43:54.160 installieren oder der hat die eben einfach dahineschoben wo die Apps sind und das 00:43:54.160 --> 00:43:58.840 nicht eingetragen dann steht da nan, was man manchmal noch sieht sind Systemdateien 00:43:58.840 --> 00:44:02.880 von gewissen Herstellern wie hier ist jetzt was bekanntes von Samsung, da kann 00:44:02.880 --> 00:44:08.040 man dann auch nachgucken. Da gibt's noch weitere Informationen zu es ist leider 00:44:08.040 --> 00:44:12.240 alles nicht so schön über dieses Interface aber man kann hier z.B wenn man wissen 00:44:12.240 --> 00:44:17.840 will was sind Systemdateien, was sind third party Apps und was sind disabled 00:44:17.840 --> 00:44:24.000 Apps dann kann man das Filtern mit den parametern -s -3 und -d und das ist z.B 00:44:24.000 --> 00:44:31.200 spannend wenn ich sehe manche Apps sind disabled das wird z.B mit Systemdateien 00:44:31.200 --> 00:44:36.080 gerne System Apps gerne gemacht statt sie zu deinstallieren dann kann ich hier 00:44:36.080 --> 00:44:42.560 gucken wenn z.B so es gibt so bei Samsung z.B so Security Services die in Apps 00:44:42.560 --> 00:44:47.800 laufen und wenn die disabled sind dann ist das schon so eine Alarmglocke für hier ist 00:44:47.800 --> 00:44:54.240 vielleicht Malbare. Genau dann gibt's noch das Tool Dumpsys und mit dem Tool Dumpsys 00:44:54.240 --> 00:44:58.840 kann ich wenn ich ein konkretes package angebe mir noch weitere Dateien mir 00:44:58.840 --> 00:45:04.280 weitere Informationen dazu anschauen und das ist sind z.B die 00:45:04.280 --> 00:45:08.840 installationszeitpunkte. Oft hat man wenn man Fall analysiert zu Zeitpunkte die 00:45:08.840 --> 00:45:12.760 interessant sind, wenn jemand eine Grenze übertreten hat oder wenn das Gerät bei der 00:45:12.760 --> 00:45:17.720 Polizei war, weil weil es beschlagnammt wurde und dann kann ich hier sehen, wann 00:45:17.720 --> 00:45:21.280 wurde es installiert, wann wurde es das letzte Mal geupdated und was ich auch sehe 00:45:21.280 --> 00:45:27.400 ist welche Permissions hat es angefragt. Genau was auch spannend ist sind die 00:45:27.400 --> 00:45:31.840 sogenannten intens die Intents sind sowas wie Hooks die Apps notifying wenn gewisse 00:45:31.840 --> 00:45:36.960 Dinge im System passieren. Und da gibt's verschiedene Beispiele z.B Wenn es eine 00:45:36.960 --> 00:45:40.920 ausgehende SMS gibt wenn es eine eingehende SMS gibt. Das hat legitime 00:45:40.920 --> 00:45:45.920 Anwendungsfälle z.B eine eingehende SMS ist interessant für so Smsverifizierung 00:45:45.920 --> 00:45:50.960 bei Apps bei Signal bei Whatsapp wird die App dann benachrichtigt und wenn sie die 00:45:50.960 --> 00:45:55.560 Permission hat, kann sie die dann auch abfragen und die Verifikation machen. Was 00:45:55.560 --> 00:45:58.600 ist auch auch gibt es Boot complete, das kann interessant sein wann schaltet jemand 00:45:58.600 --> 00:46:03.680 sein Handy aus wann schaltet das wieder ein z.B wenn Leute von der Demo ihr Handy 00:46:03.680 --> 00:46:09.000 ausmachen und dann wieder anmachen, dann kann ich das hier auch finden. Und das 00:46:09.000 --> 00:46:14.840 sind die anderen die ich hier euch gelistet hab, outgoing SMS, SMS data 00:46:14.840 --> 00:46:20.120 received, new outgoing call, das sind alles welche die Pegasus nachweislich 00:46:20.120 --> 00:46:26.120 benutzt hat um notified zu werden, wenn z.B neuer Anruf startet und dann ein 00:46:26.120 --> 00:46:30.160 Prozess zu starten der diesen Anruf aufzeichnet und dann ausleitet, also das 00:46:30.160 --> 00:46:35.960 ist auch besonders spannend, wenn die App diese Dinge diese Intents anmeldet beim 00:46:35.960 --> 00:46:43.760 Betriebssystem. Genau das alles ist wieder das Gleiche wie bei AOS macht auch MVT für 00:46:43.760 --> 00:46:48.680 euch und dann kriegt ihr so ein aus eine Ausgabe in der Json Datei und da müsst 00:46:48.680 --> 00:46:51.760 ihr nicht diese ganzen commands eingeben und das wird alles schön gruppiert für 00:46:51.760 --> 00:46:55.760 euch. Ihr seht dann welche App ist das was der package Name von wem wurde es 00:46:55.760 --> 00:46:59.400 installiert, ist sie disabled oder nicht, ist es eine System app, ist es eine third 00:46:59.400 --> 00:47:05.160 party App, welche Permissions hat sie, wo liegen die Dateien dazu, das also super 00:47:05.160 --> 00:47:10.320 hilfreich. Und was man eben auch machen kann bei Android ist APKs runterladen hier 00:47:10.320 --> 00:47:14.200 ist noch mal der manuelle weg, ich würde mir erst wie eben alle packages anzeigen 00:47:14.200 --> 00:47:19.920 lassen dann würde ich mir den Pfad anzeigen lassen zu der zu der App und dann 00:47:19.920 --> 00:47:24.720 kann ich mit ADP pull kann man beliebige Dateien herunterladen von Android Telefon 00:47:24.720 --> 00:47:29.840 und die krieg ich dann so eben auch. Ist ein komischer Pfad aber kann man einfach 00:47:29.840 --> 00:47:34.560 copypasten und dann habt ihr die APK und dann könnt ihr die natürlich reversen, 00:47:34.560 --> 00:47:40.040 APKs sind einfach nur zipdateien die sind dann auch noch signiert aber im Prinzip 00:47:40.040 --> 00:47:45.640 kann man die auspacken und dann liegt da kompiliertes Java oder kotlin drin. Was 00:47:45.640 --> 00:47:50.960 man aber auch machen kann ist die bei Virustotal hochzuladen, da hat MVT tooling 00:47:50.960 --> 00:47:56.240 für euch, da müsst ihr euch einmal ein API key besorgen zu Virustotal und dann könnt 00:47:56.240 --> 00:48:00.400 ihr die hochladen und dann kriegt ihr hier eine schöne Tabelle welche Apps welches 00:48:00.400 --> 00:48:04.520 Ergebnis bei Virustortal hatten und hier seht ihr jetzt in dem Beispiel den Package- 00:48:04.520 --> 00:48:08.480 name, den ich zensiert habe weil wir später ein Workshop da könnt ihr diese 00:48:08.480 --> 00:48:14.440 Stalker-ware auf dem Android Telefon finden die wurde jetzt bei 39 von 76 00:48:14.440 --> 00:48:19.160 Virusscannern bei Virustotal eben als malicious erkannt und da kann man dann 00:48:19.160 --> 00:48:25.800 schon aus davon ausgehen dass das ist. Genau dann gibt bei Virustotal noch die 00:48:25.800 --> 00:48:30.480 accessibility Services. Die accessibility Service sind ja Apps die man sich 00:48:30.480 --> 00:48:34.080 installieren kann für Barrierefreiheit, was eigentlich ein richtig cooles Feature 00:48:34.080 --> 00:48:40.480 ist und auch dass das so modular ist, weil man je nachdem welche Hilfen man braucht 00:48:40.480 --> 00:48:45.720 um sein Telefon barrierefrei oder arm nutzen zu können da gewisse Apps 00:48:45.720 --> 00:48:50.200 runterladen kann und die dann aktivieren und deaktivieren kann, aber damit sowas 00:48:50.200 --> 00:48:54.400 funktioniert haben diese accessibility Services so Berechtigungen, dass die alles 00:48:54.400 --> 00:48:59.000 auf eurem Bildschirm lesen en können und auch z.B Buttons klicken können. Und dann 00:48:59.000 --> 00:49:02.040 können diese Apps z.B auch verhindern wenn ihr in die Einstellung geht und 00:49:02.040 --> 00:49:05.160 deinstallieren drückt, dann kann das das Lesen kriegt das mit und klickt dann für 00:49:05.160 --> 00:49:09.040 euch direkt auf abbrechen und dann könnt ihr nicht auf ja ok ich bin mir sicher 00:49:09.040 --> 00:49:13.640 bitte deinstallieren klicken das natürlich blöd lächelt genau und das wurde in der 00:49:13.640 --> 00:49:19.680 Vergangenheit eben auch für Spyware und Stalker-ware verwendet. Google weiß das 00:49:19.680 --> 00:49:24.160 aber natürlich auch und ist ja immer restriktiver, was was das angeht und ab 00:49:24.160 --> 00:49:28.920 Android 13 geht das z.B. nur noch wenn die Apps aus dem PlayStore kommen. Das könnt 00:49:28.920 --> 00:49:36.080 ihr euch auch händisch angucken, hier ist ein Beispiel, aber gibt es auch mit MVT, ist 00:49:36.080 --> 00:49:40.520 viel einfacher, könnt euch angucken. Ich beeile mich jetzt ein bisschen. Prozesse 00:49:40.520 --> 00:49:45.080 könnt euch auch angucken, das ist vor allem interessant wenn es state-Sponsored- 00:49:45.080 --> 00:49:49.560 Spyware ist und keine einfache Stalker-ware. Ihr könnt tatsächlich einfach 00:49:49.560 --> 00:49:52.920 PS ausführen wie ihr das auf einem Linux System auch macht und dann kriegt ihr die 00:49:52.920 --> 00:50:01.760 Prozessnamen. Genau gibt's auch wieder ein Package bei MVT ja genau und jetzt kurz 00:50:01.760 --> 00:50:07.240 noch zu den Arten von Exploits die es gibt. Man unterscheidet Zero click 00:50:07.240 --> 00:50:11.800 Exploits das sind Exploit die funktionieren ohne Zutun des Opfers also 00:50:11.800 --> 00:50:16.760 man muss nicht irgendwie in der SMS auf den Link klicken damit der Exploit 00:50:16.760 --> 00:50:22.600 getriggert wird und da kann man sich dann überlegen, wo findet man sowas? Haben wir 00:50:22.600 --> 00:50:25.480 auch schon Im Anderen vortragen gehört, Basebands sind interessant, also die 00:50:25.480 --> 00:50:29.200 mobilfunk Schnittstelle eures Telefons gewisse Messenger, also es könnte 00:50:29.200 --> 00:50:34.560 natürlich Exploits geben in WhatsApp, iMessage, Signal hat man auch alles schon 00:50:34.560 --> 00:50:41.080 gesehen im Browser alles was irgendwie Daten ja beliebige Daten irgendwo aus dem 00:50:41.080 --> 00:50:45.440 Internet zieht und dann verarbeitet. Bluetooth und WiFi wären auch interessant 00:50:45.440 --> 00:50:52.720 ist mir jetzt nichts bekannt aber auch möglich. Das Andere sind eben One Click 00:50:52.720 --> 00:50:57.760 Exploits wo ich also irgendwas anklicken muss, das ist meistens ein Link und den 00:50:57.760 --> 00:51:03.800 kann ich dann aber auch finden z.B in der WhatsApp history z.B z.B MVT auch ein 00:51:03.800 --> 00:51:09.520 Feature was alle WhatsApp Nachrichten vom Telefon zieht und dann nach den Links 00:51:09.520 --> 00:51:12.840 Filter damit ihr nur die Links angucken könnt, weil es sind sonst zu viele 00:51:12.840 --> 00:51:16.200 Nachrichten und außerdem wollt ihr die ja nicht lesen, ihr wollt ja nur Malware 00:51:16.200 --> 00:51:22.040 finden und da ist das dann auch sehr hilfreich. Ja, zum Schluss nur noch 00:51:22.040 --> 00:51:27.080 ein kurzer Aufruf, bitte meldet eure Sicherheitslücken, wenn ihr die irgendwo 00:51:27.080 --> 00:51:32.160 findet, verkauft die nicht irgendwie bei zerodium oder an die nSo-Group oder an die 00:51:32.160 --> 00:51:41.841 intellex Alliance und macht damit das Internet sicherer für uns alle genau. 00:51:41.841 --> 00:51:54.541 lachtApplaus Herald: Das war doch ein sehr 00:51:54.541 --> 00:51:57.200 schöner Aufruf zum Schluss, ich wäre jetzt dafür 00:51:57.200 --> 00:52:01.440 zu den Fragen überzugehen, wenn es für euch ok ist und wir haben auch schon die ersten 00:52:01.440 --> 00:52:10.200 Leute da stehen da hinten am Mik 2. Frage: Hi ihr habt eben die accessibility 00:52:10.200 --> 00:52:17.520 Services erwähnt beim Android das ja ab Version 13 nicht mehr oder nur 00:52:17.520 --> 00:52:22.440 eingeschränkt verfügbar sind für Apps aus dem App Store und da frage ich mich jetzt, 00:52:22.440 --> 00:52:26.520 dass weil Google ja immer sehr fahrlässig ja immer fahrlässiger umgeht mit sehen 00:52:26.520 --> 00:52:30.440 APS, wie soll das dann mit afdroid funktionieren? Mit anderen App Stores und 00:52:30.440 --> 00:52:36.640 wie soll das a) einmal compliant sein mit EU Regulation aber auf der anderen Seite 00:52:36.640 --> 00:52:40.080 wie stelle ich mir das jetzt vor wenn ich jetzt z.B so was wie Password Manager habe 00:52:40.080 --> 00:52:45.240 und die aus afdroid BZI wie bitorn dann bin ich erstmal aufgeschmissen ab Android 00:52:45.240 --> 00:52:50.760 13 so wie ich das jetzt verstehe. Antwort: Also ich bin mir nicht ganz sicher wie das 00:52:50.760 --> 00:52:55.320 funktioniert, ich habe auch schon gelesen es gibt Workarounds dafür, wenn man als 00:52:55.320 --> 00:52:59.800 User dann explizit noch mal hier und da klickt kann man es wieder aktivieren das 00:52:59.800 --> 00:53:03.680 müsste man wirklich noch mal nachgucken und wenn du dir jetzt z.B vielleicht auch 00:53:03.680 --> 00:53:07.520 eine Custom Firmware installierst kannst du natürlich da auch Andere AppStores 00:53:07.520 --> 00:53:12.080 freischalten als den PlayStore, damit die Apps die dadurch installiert werden diese 00:53:12.080 --> 00:53:17.120 Möglichkeit auch kriegen, bei Password- Managern gibt's aber eine Lösung ja also 00:53:17.120 --> 00:53:22.640 genau ich habe auch Bitwarden und es gibt da die Funktion autofill die auch dafür 00:53:22.640 --> 00:53:27.040 funktioniert und da kannst du Formulare aus en also explizit nur um Formulare 00:53:27.040 --> 00:53:30.840 auszufüllen gibt diese autofilfunktion und dann brauchst du nicht die größeren 00:53:30.840 --> 00:53:35.080 Permissions der accessibility Services. Mit EU Regulierungen kenne ich mich leider 00:53:35.080 --> 00:53:39.000 nicht aus, tut mir leid. V: Entschuldigung ich habe noch eine Sache 00:53:39.000 --> 00:53:42.080 dazwischen und zwar was wir glaube ich gar nicht so explizit erwähnt haben es gibt 00:53:42.080 --> 00:53:46.760 fast einen zweiten Teil zu dem was wir hier gerade machen in einer Stunde in 00:53:46.760 --> 00:53:52.840 J: genau 14:15 Uhr stage H, da oben steht ja V: Genau nur dass ihr das mal gehört habt und 00:53:52.840 --> 00:53:57.280 wir haben praktische Aufgaben zum selber machen ausprobieren vorbereitet und 00:53:57.280 --> 00:54:01.800 mitgebracht und eventuell falls wir auch hier nicht dazu kommen alle Fragen zu 00:54:01.800 --> 00:54:05.300 beantworten ist da noch mal Raum und Zeit für Weiteres. 00:54:05.300 --> 00:54:08.720 Herald: Genau aber wir machen jetzt weiter mit dem Signal Angel weil die 00:54:08.720 --> 00:54:12.064 Internetfragen können nicht so einfach später gestellt werden, also lieber Signal 00:54:12.064 --> 00:54:14.480 Angel. Frage vom Signal Angel: Ja das Internet 00:54:14.480 --> 00:54:18.760 möchte einmal wissen ob Telefone mit alternativen Betriebssystemen wie GrapheneOS 00:54:18.760 --> 00:54:23.500 z.B sicherer sind und ob es da auch nachgewiesene Angriffe gab. 00:54:23.500 --> 00:54:29.000 Antwort: Ja natürlich kann man alternative Betriebssysteme installieren die Wert auf 00:54:29.000 --> 00:54:34.480 Sicherheit legen GrapheneOS empfehlen wir auch häufig JournalistInnen die besonders 00:54:34.480 --> 00:54:41.760 bedroht sind. Was genau also und da gibt's wirklich sehr gute Mechanismen wie z.B mit 00:54:41.760 --> 00:54:47.960 dem neuen Pixel memory Tagging Support wirklich starke Empfehlung das zu benutzen 00:54:47.960 --> 00:54:53.120 was man bei iPhones machen kann ist den Lockdown Mode einschalten wenn ihr bei in 00:54:53.120 --> 00:54:57.480 den Einstellungen bei eurem iPhone auf security geht und ganz nach unten scrollt 00:54:57.480 --> 00:55:01.120 auf Deutsch ist das Blockierungsmodus aktiviert das da steht da noch mal was 00:55:01.120 --> 00:55:06.680 genau das verändert, aber auch eine gute Empfehlung. Spy-ware Angriffe mit Exploits 00:55:06.680 --> 00:55:11.600 auf griffinOS sind mir nicht bekannt ich glaube es gab noch keine das heißt aber 00:55:11.600 --> 00:55:15.400 natürlich nicht dass es nicht welche gab, also es ist natürlich trotzdem möglich 00:55:15.400 --> 00:55:17.800 eventuell sind die Exploit chains dann eben teurer. 00:55:17.800 --> 00:55:23.080 Herald: okay dann bitte Mik 1. Frage: Ja hallo meine Frage schließt genau 00:55:23.080 --> 00:55:28.640 dort an, bei griffino gibt's ja diese Auditor App die auch von denen selbst 00:55:28.640 --> 00:55:32.320 bereitgestellt wird, habt ihr damit irgendwelche Erfahrungen, macht das Sinn, 00:55:32.320 --> 00:55:36.320 vertraut ihr auch diesem attention Service den die selbst betreiben? 00:55:36.320 --> 00:55:42.000 Antwort: Genau es gibt diese Auditor App die eben verifiziert dass dein 00:55:42.000 --> 00:55:44.920 Betriebssystem noch dein Betriebssystem ist und macht das auch über Remote 00:55:44.920 --> 00:55:49.680 attestation, das heißt du hast eine kryptographische Challenge die du nur 00:55:49.680 --> 00:55:55.000 lösen kannst wenn dein Betriebssystem nicht manipuliert wurde und du Zugriff auf 00:55:55.000 --> 00:55:58.520 gewisse Keys hast und das überprüft ein externer Service und der schickt 00:55:58.520 --> 00:56:01.720 dir dann ja eine E-Mail mit so Totmannschalterprinzip, wenn das nicht 00:56:01.720 --> 00:56:07.160 geklappt hat. Das ist auf jeden Fall eine coole Lösung, kann ich empfehlen das zu 00:56:07.160 --> 00:56:10.800 benutzen wenn du dem Server von griffinOS nicht vertraust kann man ja zum Glück 00:56:10.800 --> 00:56:15.840 selber einen betreiben. Wir haben uns auch z.B mal überlegt so ein zu betreiben und 00:56:15.840 --> 00:56:20.200 JournalistInnen anzubieten haben das jetzt noch nicht umgesetzt aber du kannst ja 00:56:20.200 --> 00:56:24.600 auch ein betreiben und auch öffentlich stellen oder andere Organisationen können 00:56:24.600 --> 00:56:28.120 das machen, das ist auf jeden Fall auch eine gute Methode um mitzukriegen wann man 00:56:28.120 --> 00:56:30.980 eventuell so ein Angriff ausgesetzt wurde. Frage: Cool danke. 00:56:30.980 --> 00:56:33.820 Herald: Danke die nächste Frage aus dem Internet bitte. 00:56:33.820 --> 00:56:38.640 Frage: Das Internet möchte noch wissen wie sich das beim iPhone verhält, wenn die 00:56:38.640 --> 00:56:42.280 Methoden die ja hauptsächlich auf dem Backup und auf Fehlern von Angreifern 00:56:42.280 --> 00:56:46.200 beruhen in der Forensik, wenn sich die Angreifer verbessern und weniger Fehler 00:56:46.200 --> 00:56:48.500 machen welche Auswirkung das dann haben würde? 00:56:48.500 --> 00:56:54.120 Antwort: Also na ja das ist das deshalb gab es eine Folie mit dem Namen Katz und 00:56:54.120 --> 00:56:59.320 Mauspiel so ist bis jetzt ist der Zustand noch nicht eingetreten, dass Leute es 00:56:59.320 --> 00:57:05.840 geschafft haben völlig spurenfreie Spyware zu schreiben, aber das Problem ist also 00:57:05.840 --> 00:57:09.600 wenn man davon ausgeht Leute haben beliebig viel Zeit und beliebig viel Geld 00:57:09.600 --> 00:57:14.640 um beliebig viele Exploits zu kaufen um Sicherheitsmechanismen auszubrechen ist es 00:57:14.640 --> 00:57:19.040 natürlich technisch möglich, dass wir es irgendwann mit zweibytes zu tun haben die 00:57:19.040 --> 00:57:23.440 einfach keine Spuren mehr hinterlässt. So das würde vielleicht immer noch im 00:57:24.160 --> 00:57:28.920 Netzwerk Traffic würde man Sachen sehen aber auch das kann man ja irgendwie 00:57:28.920 --> 00:57:33.760 beliebig kompliziert verstecken, deshalb ja wir haben kein Anrecht darauf man hat 00:57:33.760 --> 00:57:40.440 kein Anrecht darauf etwas finden zu können und ja bis jetzt geht es aber das ist 00:57:40.440 --> 00:57:45.040 ungeklärt und eigentlich eine Sache je mehr Geld da reingesteckt wird in dieses 00:57:45.040 --> 00:57:48.120 Spyunternehmen und vor allem auch je schlechter die europäischen 00:57:48.120 --> 00:57:52.560 Exportkontrollen funktionieren und das Geld dann da tatsächlich auch reinwandert 00:57:52.560 --> 00:57:56.320 ja desto schlechter sieht es eigentlich aus mit der der Sicherheit von Menschen 00:57:56.320 --> 00:58:00.800 in der Zivilgesellschaft. Aber was da natürlich wünschenswert wäre ist wenn z.B 00:58:00.800 --> 00:58:05.200 iPhones auch so ein Remote adjustation Feature hätten, das könnte natürlich eine 00:58:05.200 --> 00:58:12.760 Möglichkeit sein ja und aber natürlich arbeitet Apple auch weiter in Ihrem 00:58:12.760 --> 00:58:19.000 Betriebssystem und dann kann es auch sein dass wieder irgendwo Spuren auftauchen die 00:58:19.000 --> 00:58:22.980 es vorher noch nicht gab. Herald: Mik 3 bitte. 00:58:22.980 --> 00:58:28.200 Frage: Hallo guten Morgen, kurze Frage ich habe letztens glaube ich gelesen dass 00:58:28.200 --> 00:58:34.240 Microsoft eingeklagt hat einen neuen Store auf iOS veröffentlichen zu dürfen, würde 00:58:34.240 --> 00:58:37.960 das also wie würde die Frage dazu wie würde das die Forensik bzw die 00:58:37.960 --> 00:58:44.120 Exploitmöglichkeiten von iOS verändern? Antwort: Ich glaube das hängt vor allem 00:58:44.120 --> 00:58:49.600 davon ab wie die das genau umsetzen würden. Angenommen es gibt dann genau zwei 00:58:49.600 --> 00:58:58.400 App Stores vielleicht erstmal nicht so stark angenommen es gibt Siteloading, dann 00:58:58.400 --> 00:59:01.680 gehen diese ganzen Sachen auf Analysetechniken auf die man auch bei 00:59:01.680 --> 00:59:07.920 Android die wir gezeigt haben mit, welche Apps wurden da jetzt selber installiert. 00:59:07.920 --> 00:59:13.160 Es vielleicht fallen diese also es gibt ja Mechanismen die eigentlich dazu führen 00:59:13.160 --> 00:59:17.200 sollen dass nur gutartige und nette Apps im Apple App Store landen und keine 00:59:17.200 --> 00:59:20.880 bösartigen, eventuell gibt's dann ganz viele, aber das jetzt alles Spekulation, 00:59:20.880 --> 00:59:23.760 also ich glaub da muss man einfach gucken was passiert und wie das genau umgesetzt 00:59:23.760 --> 00:59:28.160 wird ja. Herald: Mikrofon 1 bitte. 00:59:28.160 --> 00:59:33.440 Frage: Ja Frage eher an Janiik wahrscheinlich, was hältst du von dem work 00:59:33.440 --> 00:59:39.360 Mode in Android wo man so also manche verwenden um Apps zu installieren die zu 00:59:39.360 --> 00:59:43.120 den man irgendwie gezwungen wird und die man aber eigentlich nicht mehr angucken 00:59:43.120 --> 00:59:47.840 möchte. Kann man das machen oder kann man sich die Mühe da auch sparen und we was 00:59:47.840 --> 00:59:50.780 ich ein zweites Handy nehmen oder gar kein Handy? 00:59:50.780 --> 00:59:58.080 Antwort: Da kann ich dir die Dokumentation von Griffinos empfehlen der workmode ist ja nur ein 00:59:58.080 --> 01:00:03.280 besonderer sekundärer Benutzermodus also du hast ja auf Android generell die 01:00:03.280 --> 01:00:07.640 Möglichkeit keinen sekundäre Benutzer zu erstellen und für die z.B auch eigene 01:00:07.640 --> 01:00:12.040 Passwörter zu wählen und die haben dann auch andere Keys für die filebased 01:00:12.040 --> 01:00:16.680 encryption das heißt wenn man das eine Passwort knacken würde, würde man 01:00:16.680 --> 01:00:20.440 eventuell nicht auf die sekundären Nutzer zugreifen was auch ein cooles Feature ist 01:00:20.440 --> 01:00:24.600 und z.B auch hilfreich sein kann für Grenzkontrollen mit so entsperen man dein 01:00:24.600 --> 01:00:28.040 Hand und dann entsperst du nur einen Benutzer nicht den anderen und da könnte 01:00:28.040 --> 01:00:31.840 man auch coole Sachen bauen wie z.B mit einem password was anderes entsperren als 01:00:31.840 --> 01:00:36.240 beim anderen ähnlich wie be veracrypt und der workmode ist ja nur ein Shortcut dass 01:00:36.240 --> 01:00:39.800 ich nicht erst den Benutzer wechseln muss um diese App zu starten sondern ich habe 01:00:39.800 --> 01:00:44.560 die App dann automatisch in meinem primären Benutzerprofil und die startet 01:00:44.560 --> 01:00:50.640 sich dann automatisch in in diesem sekundären Benutzer ja und das ist eine 01:00:50.640 --> 01:00:54.480 zusätzliche Isolation also das ja normalerweise sowieso App Sandbox auf 01:00:54.480 --> 01:00:58.080 Android und die Apps können nur miteinander kommunizieren wenn Sie beide 01:00:58.080 --> 01:01:02.280 Zugriff auf den gleichen Datei Speeicherort haben musst du die Permission 01:01:02.280 --> 01:01:05.240 geben oder wenn Sie beide anmelden ich möchte mit der App kommunizieren die 01:01:05.240 --> 01:01:09.080 andere meldet auch an ich möchte mit der App kommunizieren, dann können Sie so eine 01:01:09.080 --> 01:01:13.680 Art Interprozesskommunikation machen und sowas würdest du unterbinden z.B wenn du 01:01:13.680 --> 01:01:18.760 den workmode benutzt. Also dann könnte nicht die App im workmode auf die anderen 01:01:18.760 --> 01:01:23.120 Apps zugreifen ja kann man benutzen auf jeden Fall für Separierung. 01:01:23.120 --> 01:01:26.280 Frage: Gut danke. Herald: Die Zeit für Fragen ist leider 01:01:26.280 --> 01:01:29.960 vorbei ich merke es ist noch großes Interesse da, ihr seid in einer Stunde im 01:01:29.960 --> 01:01:34.800 Workshop verfügbar Halle H, bitte einen riesen Applaus für Janik Besendorf und 01:01:34.800 --> 01:01:36.687 Viktor Schlüter. 01:01:36.687 --> 01:01:44.316 Applaus 01:01:44.316 --> 01:02:00.793 Abspannmusik 01:02:00.793 --> 01:02:02.560 Untertitel von vielen vielen Freiwilligen und dem C3Subtitles Team erstellt. Mach mit und hilf uns!