0 00:00:00,000 --> 00:00:30,000 Lieber Zuschauer, dieser Untertitel wurde automatisch generiert von Trint und dementsprechend (sehr) fehlerhaft. Wenn du kannst, hilf uns bitte gute Untertitel zu erstellen: https://c3subtitles.de/talk/1175 Danke! 1 00:00:19,200 --> 00:00:21,389 Unser nächster Sprecher bezeichnet 2 00:00:21,390 --> 00:00:23,549 sich selbst als reverse engineering 3 00:00:23,550 --> 00:00:25,529 Fetischist mit einer Vorliebe für 4 00:00:25,530 --> 00:00:27,329 Spielekonsolen. 5 00:00:27,330 --> 00:00:29,579 An dieser Vorliebe lässt er uns in seinem 6 00:00:29,580 --> 00:00:30,899 Talk teilhaben. 7 00:00:30,900 --> 00:00:33,929 Bitte begrüßt mit mir Morpheus 19 8 00:00:33,930 --> 00:00:36,569 zu seinem Talk Exploit in PS4 9 00:00:36,570 --> 00:00:37,570 Video Apps. 10 00:00:42,410 --> 00:00:44,599 Hallo und danke fürs 11 00:00:44,600 --> 00:00:45,600 Kommen. 12 00:00:46,490 --> 00:00:47,539 Ja, Exploit Floating P.S. 13 00:00:47,540 --> 00:00:49,279 vor Video Apps. 14 00:00:49,280 --> 00:00:51,439 Ich denke mal, der 15 00:00:51,440 --> 00:00:53,269 Titel sagt mehr oder weniger schon, worum 16 00:00:53,270 --> 00:00:54,319 es in diesem Tag gehen wird. 17 00:00:57,260 --> 00:00:58,759 Ich habe meine kleine Agenda vorbereitet, 18 00:00:58,760 --> 00:01:01,039 es wird ein kleines Intro geben. 19 00:01:01,040 --> 00:01:03,199 Dann werde ich halt zeigen, wie ich ganz 20 00:01:03,200 --> 00:01:04,969 am Anfang halt so ein bisschen Analyse 21 00:01:04,970 --> 00:01:06,980 bzw. Netzwerkanalyse betrieben habe, 22 00:01:08,720 --> 00:01:10,819 um mein Ziel Code 23 00:01:10,820 --> 00:01:12,500 Execution auf der PS4 zu erlangen. 24 00:01:15,230 --> 00:01:17,849 Dazu erst mal kurz was über mich. 25 00:01:17,850 --> 00:01:19,179 Ich will noch was. 26 00:01:19,180 --> 00:01:20,180 1 7 27 00:01:21,800 --> 00:01:23,869 Wer hat in der Szene unterwegs ist, 28 00:01:23,870 --> 00:01:24,949 hat den Namen vielleicht schon aus einem 29 00:01:24,950 --> 00:01:26,569 anderen Mal gehört. 30 00:01:26,570 --> 00:01:28,519 Privat bin ich Softwareentwickler aus dem 31 00:01:28,520 --> 00:01:30,769 ERP Bereich und 32 00:01:30,770 --> 00:01:32,269 habe eine kleine Vorliebe für Reverse 33 00:01:32,270 --> 00:01:34,669 Engineering und vor allem wenn es 34 00:01:34,670 --> 00:01:35,900 um Spielekonsolen geht. 35 00:01:37,300 --> 00:01:39,889 Am Anfang 15 hatte 36 00:01:39,890 --> 00:01:41,749 meine Frau vor mir zum Geburtstag zu 37 00:01:41,750 --> 00:01:42,750 schenken. 38 00:01:44,120 --> 00:01:45,409 Da ich das Ding sowieso nicht wirklich 39 00:01:45,410 --> 00:01:47,839 zum Spielen haben wollte und der 40 00:01:47,840 --> 00:01:50,539 1 7 6a ihr Exploit 41 00:01:50,540 --> 00:01:52,459 schon öffentlich war, habe ich dann 42 00:01:52,460 --> 00:01:54,589 gesagt Pass auf, lautet sein, 43 00:01:54,590 --> 00:01:55,819 du hast mir keine kaufen, ich hol mir 44 00:01:55,820 --> 00:01:57,349 selber eine und habe mich dann auf der 45 00:01:57,350 --> 00:01:59,359 Suche nach einem Modell mit Firma eins 46 00:01:59,360 --> 00:02:01,429 eins sieben sechs gemacht und habe dann 47 00:02:01,430 --> 00:02:03,499 bei Amazon ein Anbieter 48 00:02:03,500 --> 00:02:05,749 gefunden, der angeblich noch ein 49 00:02:05,750 --> 00:02:06,980 gewisses Wandel hatte. 50 00:02:08,419 --> 00:02:10,129 Das hat mit dieser Firma Version kommen 51 00:02:10,130 --> 00:02:11,130 sollte. 52 00:02:12,290 --> 00:02:14,419 Ich habe es dann bestellt, hat 53 00:02:14,420 --> 00:02:16,829 das Amazon Paket voller Freude aufgemacht 54 00:02:16,830 --> 00:02:18,049 und habe dann quasi festgestellt ich 55 00:02:18,050 --> 00:02:20,179 wurde übers Ohr gezogen, habe dann eine 56 00:02:20,180 --> 00:02:21,859 einzelne Konsole mit zwei einzelnen 57 00:02:21,860 --> 00:02:24,229 Spielen bekommen und als ich die Konsole 58 00:02:24,230 --> 00:02:25,819 dann halt aufgemacht habe, hatte die 59 00:02:25,820 --> 00:02:27,080 Firmware 13:15. 60 00:02:29,300 --> 00:02:31,069 Jetzt hätte ich das Teil wieder 61 00:02:31,070 --> 00:02:32,359 zurückschicken können. 62 00:02:32,360 --> 00:02:33,229 Hab mir mal gedacht 63 00:02:33,230 --> 00:02:34,230 na 64 00:02:34,730 --> 00:02:37,069 dann suche ich halt selber weg, 65 00:02:37,070 --> 00:02:38,089 irgendwie da reinzukommen. 66 00:02:39,860 --> 00:02:41,119 Das erste, was ich dann halt gemacht 67 00:02:41,120 --> 00:02:43,269 habe. Ähm, ich bin 68 00:02:43,270 --> 00:02:44,359 halt hingegangen und habe versucht so 69 00:02:44,360 --> 00:02:45,679 viel wie möglich über die Konsole 70 00:02:45,680 --> 00:02:46,879 rauszufinden. Und das erste was ich 71 00:02:46,880 --> 00:02:48,249 gemacht habe ich habe halt Netzwerk Paket 72 00:02:48,250 --> 00:02:49,250 analysiert. 73 00:02:50,120 --> 00:02:52,279 Zu Hause hatte ich dieses Setup. 74 00:02:52,280 --> 00:02:53,899 Ich habe eine IP als Firewall. 75 00:02:53,900 --> 00:02:55,249 Darüber geht hat der gesamte Netzwerk 76 00:02:55,250 --> 00:02:57,139 Traffic bei mir zu Hause im Netz und 77 00:02:57,140 --> 00:02:58,699 darauf habe ich dann einfach mal TCP am 78 00:02:58,700 --> 00:03:00,469 laufen lassen und habe dann einfach mal 79 00:03:00,470 --> 00:03:02,749 angefangen sämtliche Video Apps oder 80 00:03:02,750 --> 00:03:04,549 Applikationen die ich halt auf der PS4 81 00:03:04,550 --> 00:03:06,649 gibt zu starten 82 00:03:06,650 --> 00:03:08,119 um halt ein bisschen Netzwerk Traffic zu 83 00:03:08,120 --> 00:03:10,949 generieren um um das ganze dann später 84 00:03:10,950 --> 00:03:11,950 zu analysieren. 85 00:03:13,940 --> 00:03:15,559 Und dabei ist mir dann halt direkt 86 00:03:15,560 --> 00:03:16,939 aufgefallen, dass 87 00:03:18,380 --> 00:03:20,289 gewisse gewisse Video Apps beispielsweise 88 00:03:20,290 --> 00:03:21,319 irgendwie wo 89 00:03:22,670 --> 00:03:24,439 die benutzen noch eine ziemlich alte 90 00:03:24,440 --> 00:03:24,979 Version 91 00:03:24,980 --> 00:03:25,980 vom 92 00:03:26,840 --> 00:03:28,099 Benutzen, noch eine ziemlich alte Version 93 00:03:28,100 --> 00:03:30,229 von Apple Typekit und 94 00:03:30,230 --> 00:03:32,419 was am allerbesten war die 95 00:03:32,420 --> 00:03:34,309 benutzen kann SSL, der ganze Traffic, der 96 00:03:34,310 --> 00:03:35,749 war für mich also quasi im Klartext 97 00:03:35,750 --> 00:03:36,750 sichtbar. 98 00:03:37,430 --> 00:03:38,839 Und dann habe ich mir gedacht Moment, 99 00:03:38,840 --> 00:03:40,369 wenn ihr halt diese alte Widget Version 100 00:03:40,370 --> 00:03:42,409 benutzen, dann müsste doch theoretisch 101 00:03:42,410 --> 00:03:44,689 dieser öffentliche Webcam Exploit, 102 00:03:44,690 --> 00:03:46,969 den es für vier sieben sechs gibt. 103 00:03:46,970 --> 00:03:49,069 Dann müsste doch mit diesem Video 104 00:03:49,070 --> 00:03:50,070 Apps noch funktionieren. 105 00:03:51,440 --> 00:03:53,599 Und dann habe ich quasi folgendes 106 00:03:53,600 --> 00:03:55,669 getan Ich bin einfach hingegangen, 107 00:03:55,670 --> 00:03:57,979 habe zu Hause einen Webserver aufgesetzt, 108 00:03:57,980 --> 00:04:00,079 habe dort den Exploit 109 00:04:00,080 --> 00:04:01,400 für die 6 laufen lassen 110 00:04:02,900 --> 00:04:05,479 und habe dann einfach die DNS Abfragen 111 00:04:05,480 --> 00:04:07,729 dieser Videos auf meinen eigenen 112 00:04:07,730 --> 00:04:08,869 Webserver umgeleitet. 113 00:04:10,490 --> 00:04:12,559 Und auf dem PS4, 114 00:04:12,560 --> 00:04:13,759 also auf dem 115 00:04:15,290 --> 00:04:17,539 auf meinem auf ein TV zu Hause 116 00:04:17,540 --> 00:04:18,559 bin ich dann halt diese Video Apps 117 00:04:18,560 --> 00:04:20,179 gestartet habe, habe ich dann quasi 118 00:04:20,180 --> 00:04:21,289 folgenden Output bekommen 119 00:04:22,310 --> 00:04:25,159 und dieser Output sagt uns eigentlich, 120 00:04:25,160 --> 00:04:27,029 dass dieser Exploit in diesem Video 121 00:04:27,030 --> 00:04:28,030 absolut funktioniert. 122 00:04:31,860 --> 00:04:33,809 Was hieran natürlich sofort auffällig war 123 00:04:33,810 --> 00:04:35,999 für mich war egal wie oft ich die PS4 neu 124 00:04:36,000 --> 00:04:37,439 gestartet habe, egal wie oft ich die 125 00:04:37,440 --> 00:04:39,599 Anwendung neu gestartet habe, die 126 00:04:39,600 --> 00:04:41,459 Adressen waren halt immer unverändert, 127 00:04:41,460 --> 00:04:42,809 was für mich so viel bedeutet, dass halt 128 00:04:42,810 --> 00:04:44,160 kein Eis mehr aktiv ist. 129 00:04:45,530 --> 00:04:47,849 Und was mir das Leben halt 130 00:04:47,850 --> 00:04:49,469 im Nachhinein halt auch noch ziemlich 131 00:04:49,470 --> 00:04:50,470 einfach gemacht hat. 132 00:04:52,830 --> 00:04:54,600 Dieser einzigen 6er Exploit, 133 00:04:57,840 --> 00:04:59,639 der nur selten back in der Resort 134 00:04:59,640 --> 00:05:01,259 Funktion aus und ist dann halt über 135 00:05:01,260 --> 00:05:03,449 diesen Bug in der Lage, 136 00:05:03,450 --> 00:05:06,269 den Zeiger von einem von einem Pointer 137 00:05:06,270 --> 00:05:07,270 umzuschreiben. 138 00:05:09,630 --> 00:05:11,579 Dadurch, dass wir in der Lage sind, die 139 00:05:11,580 --> 00:05:13,139 Speicher Adresse umzuleiten, wo dieser 140 00:05:13,140 --> 00:05:14,140 Pointer hin zeigt, 141 00:05:15,300 --> 00:05:16,649 sind wir natürlich auch in der Lage dann 142 00:05:16,650 --> 00:05:18,239 beliebige Speicher Adressen zu lesen und 143 00:05:18,240 --> 00:05:19,240 zu schreiben. 144 00:05:19,860 --> 00:05:22,049 Und dieser Exploit gibt halt 145 00:05:22,050 --> 00:05:24,239 quasi gibt 146 00:05:24,240 --> 00:05:26,459 ja quasi eine Base 147 00:05:26,460 --> 00:05:28,709 Funktion darstellt mit z.B. 148 00:05:28,710 --> 00:05:30,279 Funktion zur Verfügung. Dieses besten 149 00:05:30,280 --> 00:05:32,549 kann halt verwendet werden um 150 00:05:32,550 --> 00:05:34,169 die Speicher Adresse wo diese wo dieses 151 00:05:34,170 --> 00:05:36,269 Array zeigt an 152 00:05:36,270 --> 00:05:37,949 beliebige Stellen zu platzieren. 153 00:05:39,660 --> 00:05:42,599 Und wenn man die dann halt einmal 154 00:05:42,600 --> 00:05:45,269 platziert hat, kann man dann halt einfach 155 00:05:45,270 --> 00:05:47,339 den ersten Wert in dem auslesen 156 00:05:47,340 --> 00:05:48,939 und kann dann somit diese Speicher 157 00:05:48,940 --> 00:05:50,039 schneller auslesen. 158 00:05:50,040 --> 00:05:51,299 Oder man kann halt wie in der letzten 159 00:05:51,300 --> 00:05:52,559 Zeile zu sehen, man kann halt einfach 160 00:05:52,560 --> 00:05:54,119 beliebige Speicher Adressen beschreiben. 161 00:05:56,630 --> 00:05:58,099 Wohnen. Nun war es für mich halt 162 00:05:58,100 --> 00:05:59,100 interessant. 163 00:06:01,640 --> 00:06:03,259 So viel wie möglich aus der Konsole 164 00:06:03,260 --> 00:06:04,279 rausholen bzw. 165 00:06:04,280 --> 00:06:05,659 so viel wie möglich rauszufinden. 166 00:06:05,660 --> 00:06:06,889 Und dann bin ich erst mal hingegangen und 167 00:06:06,890 --> 00:06:09,079 habe quasi sämtlichen Speicher der 168 00:06:09,080 --> 00:06:10,669 Sonne wieder Applikation zur Verfügung 169 00:06:10,670 --> 00:06:12,679 steht auszulesen. 170 00:06:12,680 --> 00:06:13,579 Und dann habe ich ihn. 171 00:06:13,580 --> 00:06:15,679 Jetzt kann ich quasi hingehen und mir den 172 00:06:15,680 --> 00:06:17,839 Output am Fernseher angucken und dann in 173 00:06:17,840 --> 00:06:19,849 Mexiko abschreiben, was halt nicht so 174 00:06:19,850 --> 00:06:21,379 wirklich effektiv ist. 175 00:06:21,380 --> 00:06:23,239 Oder ich habe mir dann halt gedacht Ja 176 00:06:23,240 --> 00:06:24,529 gut, dann schreibt sie ja eine kleine 177 00:06:24,530 --> 00:06:26,359 Software am PC, die Macht hatten http 178 00:06:26,360 --> 00:06:28,489 Server auf und empfängt dann halt 179 00:06:28,490 --> 00:06:31,009 quasi die Daten von der PS4. 180 00:06:31,010 --> 00:06:32,010 Pferdedieb Pickett 181 00:06:33,260 --> 00:06:34,399 und 182 00:06:34,400 --> 00:06:36,799 die PS4 versucht halt die eigene App 183 00:06:36,800 --> 00:06:38,089 Seite zu erreichen. Wird halt auf dem 184 00:06:38,090 --> 00:06:39,869 Exploit umgeleitet und der Exploit ließ, 185 00:06:39,870 --> 00:06:41,989 sondern speichert Adressen aus und macht 186 00:06:41,990 --> 00:06:43,159 dann halt einen Ajax Kollern in 187 00:06:43,160 --> 00:06:46,069 Tampa und 188 00:06:46,070 --> 00:06:48,289 der Code dazu sieht halt quasi so 189 00:06:48,290 --> 00:06:49,939 aus. Ist nicht wirklich groß. 190 00:06:49,940 --> 00:06:51,289 Ganz am Anfang setzen wir halt die 191 00:06:51,290 --> 00:06:52,290 Adresse, die wir, 192 00:06:53,630 --> 00:06:54,949 die wir lesen wollen, die wir auslesen 193 00:06:54,950 --> 00:06:55,950 wollen 194 00:06:56,450 --> 00:06:57,019 und dann 195 00:06:57,020 --> 00:06:58,909 suchen wir dann halt weiter und man wird 196 00:06:58,910 --> 00:06:59,990 dann halt einfach in Jacks 197 00:07:01,640 --> 00:07:03,589 Befehl abgesetzt, der dann halt das ganze 198 00:07:03,590 --> 00:07:05,899 Zeug per HTTP an den PC 199 00:07:05,900 --> 00:07:06,900 sendet. 200 00:07:10,890 --> 00:07:12,149 Dieses Auslesen, das funktioniert 201 00:07:12,150 --> 00:07:14,339 natürlich nur auf Speicher Bereiche, auf 202 00:07:14,340 --> 00:07:16,659 die die App ohnehin Zugriff hat. 203 00:07:16,660 --> 00:07:18,929 Also man muss halt den Hieb der App lesen 204 00:07:18,930 --> 00:07:20,489 schreiben können 205 00:07:20,490 --> 00:07:21,490 und 206 00:07:22,470 --> 00:07:24,239 man hat natürlich Zugriff auf alle 207 00:07:24,240 --> 00:07:26,059 Systeme Module, die geladen werden, weil 208 00:07:26,060 --> 00:07:27,149 die muss die App ja auch irgendwie 209 00:07:27,150 --> 00:07:28,150 ausführen können. 210 00:07:29,790 --> 00:07:32,249 Wenn ich versucht habe ein falsches in 211 00:07:32,250 --> 00:07:34,169 eine falsche Speicher Adresse auszulesen, 212 00:07:34,170 --> 00:07:36,239 dann ändere das manchmal in einem 213 00:07:36,240 --> 00:07:37,149 Crash von der App. 214 00:07:37,150 --> 00:07:39,569 Aber manchmal ist die PS4 auch komplett 215 00:07:39,570 --> 00:07:41,189 abgestürzt und die musste dann halt 216 00:07:41,190 --> 00:07:43,229 reboot und das waren immer 2 3 Minuten 217 00:07:43,230 --> 00:07:44,230 gedauert. 218 00:07:45,630 --> 00:07:48,209 Kleine Tracks auslesen hat für mich quasi 219 00:07:48,210 --> 00:07:49,529 das beste Ergebnis geliefert. 220 00:07:50,760 --> 00:07:53,249 4 KB auf einmal waren war halt immer 221 00:07:53,250 --> 00:07:54,809 mal super und man konnte halt aber auch 222 00:07:54,810 --> 00:07:57,149 variieren. Wenn ich jetzt so ein 10b 223 00:07:57,150 --> 00:07:58,979 Modul auslese ist natürlich sehr 224 00:07:58,980 --> 00:08:00,899 mühselig, wenn ich halt bei jedem Versuch 225 00:08:00,900 --> 00:08:02,969 nur 2 kg auslesen kann. 226 00:08:02,970 --> 00:08:04,169 Da ist man halt ewig ewig mit 227 00:08:04,170 --> 00:08:05,170 beschäftigt. 228 00:08:06,660 --> 00:08:08,759 Ja, die Anwendung selber 229 00:08:08,760 --> 00:08:10,529 läuft wie auf einem ganz normalen FreeBSD 230 00:08:10,530 --> 00:08:12,929 unter und unter 400000 hexadezimal, 231 00:08:12,930 --> 00:08:14,699 während der HEP irgendwo bei 200 232 00:08:14,700 --> 00:08:16,050 Millionen hexadezimal war. 233 00:08:17,640 --> 00:08:19,589 Bei diesem Dumping Verfahren ist mir halt 234 00:08:19,590 --> 00:08:21,269 relativ schnell aufgefallen, dass die 235 00:08:21,270 --> 00:08:23,519 Module jeweils 60 Kilometer voneinander 236 00:08:23,520 --> 00:08:24,719 entfernt liegen. 237 00:08:24,720 --> 00:08:26,549 Und in späteren Forschungen habe ich 238 00:08:26,550 --> 00:08:28,079 herausgefunden, dass die 60 Kilo genau 239 00:08:28,080 --> 00:08:30,179 die Page Seite wie Page Seite vom Orbis 240 00:08:30,180 --> 00:08:32,159 uses, also vom Betriebssystem der PS4. 241 00:08:35,159 --> 00:08:37,009 Dieses Auslesen hat halt sehr sehr sehr 242 00:08:37,010 --> 00:08:38,399 sehr lange Zeit in Anspruch genommen, 243 00:08:38,400 --> 00:08:40,019 weil manchmal konnte ich halt zwei 244 00:08:40,020 --> 00:08:41,999 Kilometer am Stück auslesen, manchmal 245 00:08:42,000 --> 00:08:43,859 konnte ich halt ein ganzes Stück 246 00:08:43,860 --> 00:08:44,999 auslesen, manchmal konnte ich aber auch 247 00:08:45,000 --> 00:08:47,129 nur 22 Byte auslesen, obwohl ich 248 00:08:47,130 --> 00:08:49,229 halt gültige Speicherbereich auslesen 249 00:08:49,230 --> 00:08:51,539 wollte. Woran das liegt, 250 00:08:51,540 --> 00:08:53,609 habe ich nicht rausgefunden. 251 00:08:53,610 --> 00:08:54,959 Das war halt auch immer wieder mehr oder 252 00:08:54,960 --> 00:08:56,669 weniger random. 253 00:08:56,670 --> 00:08:58,199 Aber um halt quasi alle Module 254 00:08:58,200 --> 00:08:59,369 auszulesen. 255 00:08:59,370 --> 00:09:01,619 Ich war damit ungefähr 2 Monate 256 00:09:01,620 --> 00:09:03,989 beschäftigt, jeden Abend 2 3 Stunden 257 00:09:03,990 --> 00:09:04,979 um. 258 00:09:04,980 --> 00:09:06,419 Das hat nicht wirklich viel Spaß gemacht. 259 00:09:07,680 --> 00:09:09,029 Aber wenn man 260 00:09:09,030 --> 00:09:10,770 Langeweile hat, nimmt man das in Kauf. 261 00:09:13,170 --> 00:09:15,479 Nichtsdestotrotz habe ich irgendwann 262 00:09:15,480 --> 00:09:17,489 dann wirklich alle Speicher Module aus, 263 00:09:17,490 --> 00:09:19,889 also alle Speicherbereich ausgelesen 264 00:09:19,890 --> 00:09:21,569 und hatte dann halt quasi eine nette 265 00:09:21,570 --> 00:09:23,609 Sammlung. Und das Gute, das Gute an 266 00:09:23,610 --> 00:09:24,599 dieser Geschichte ist. 267 00:09:24,600 --> 00:09:26,039 Das sind alles Bereiche. 268 00:09:26,040 --> 00:09:27,719 Und dadurch, dass ich quasi eigenen Code 269 00:09:27,720 --> 00:09:30,779 ausführen möchte und und auf der PS4, 270 00:09:30,780 --> 00:09:33,089 DP, DP aktiv 271 00:09:33,090 --> 00:09:34,320 ist Datei Krisenprävention 272 00:09:35,670 --> 00:09:37,169 hat mir das natürlich sehr geholfen, weil 273 00:09:37,170 --> 00:09:39,899 dann konnte ich halt für meine Gadgets 274 00:09:39,900 --> 00:09:40,900 suchen. 275 00:09:42,780 --> 00:09:43,780 Wie geht es nun weiter? 276 00:09:45,360 --> 00:09:47,939 Ich habe jetzt quasi Speicher ausgelesen 277 00:09:47,940 --> 00:09:50,099 und wir wollen ja eigentlich 278 00:09:50,100 --> 00:09:51,509 Code ausführen. Aber wie kann ich denn 279 00:09:51,510 --> 00:09:53,579 jetzt mit einem Exploit 280 00:09:53,580 --> 00:09:55,139 den eigentlich nur erlaubt, 281 00:09:55,140 --> 00:09:56,549 Speicherbereich zu lesen und zu 282 00:09:56,550 --> 00:09:58,299 schreiben? Wie kann ich denn da jetzt mit 283 00:09:58,300 --> 00:10:00,269 dem Programm Plus übernehmen? 284 00:10:01,710 --> 00:10:04,439 Und da ist die Antwort ganz klar 285 00:10:04,440 --> 00:10:05,460 mittels VTB Hebels. 286 00:10:08,960 --> 00:10:10,519 So was. Was ist eine VTB? 287 00:10:11,690 --> 00:10:13,129 In jeder objektorientierten 288 00:10:13,130 --> 00:10:15,199 Programmiersprache, in der 289 00:10:15,200 --> 00:10:16,909 quasi Object Instanzen zur Laufzeit 290 00:10:16,910 --> 00:10:19,249 angelegt werden, werden also 291 00:10:19,250 --> 00:10:21,210 Tablets verwendet, um. 292 00:10:23,450 --> 00:10:24,979 Wir haben zu einen, zu einem haben wir 293 00:10:24,980 --> 00:10:26,539 quasi für jedes Objekt. 294 00:10:26,540 --> 00:10:27,859 Jedes Objekt hat ja Eigenschaften und 295 00:10:27,860 --> 00:10:30,019 Methoden und die Instanz 296 00:10:30,020 --> 00:10:32,179 des Objektes, die hip oder irgendwo 297 00:10:32,180 --> 00:10:33,180 im Speicher liegt. 298 00:10:35,450 --> 00:10:37,699 Die diese die Eigenschaften vom Objekt 299 00:10:37,700 --> 00:10:39,259 selber, die liegen halt quasi auch mit 300 00:10:39,260 --> 00:10:40,260 auf dem Hieb. 301 00:10:41,030 --> 00:10:43,279 Was? Was durchaus Sinn macht. 302 00:10:43,280 --> 00:10:45,389 Aber die Vorteile der Methoden, dass wir 303 00:10:45,390 --> 00:10:47,779 halt halt relativ schwachsinnig 304 00:10:47,780 --> 00:10:49,909 für jede, für jede Methode, die 305 00:10:49,910 --> 00:10:51,139 hat ihn zum Objekt benutzt wird. 306 00:10:51,140 --> 00:10:52,579 Wenn ich alle drei Instanzen von einem 307 00:10:52,580 --> 00:10:54,259 und demselben Objekt habe, macht das 308 00:10:54,260 --> 00:10:55,669 natürlich relativ wenig Sinn. 309 00:10:55,670 --> 00:10:57,469 Diesen Code und diesen Code bereichert 310 00:10:57,470 --> 00:10:58,819 auch für jeden, die für jede Objekt 311 00:10:58,820 --> 00:11:00,319 Instanz wieder mit in den Speicher zu 312 00:11:00,320 --> 00:11:02,389 packen. Und deswegen wird 313 00:11:02,390 --> 00:11:04,729 der Code der Methoden 314 00:11:04,730 --> 00:11:07,639 halt im IM 315 00:11:07,640 --> 00:11:09,799 im Red Execute Speicherbereich 316 00:11:09,800 --> 00:11:11,899 abgelegt und in 317 00:11:11,900 --> 00:11:13,849 den Objekten selber, die auf dem Ghibli, 318 00:11:13,850 --> 00:11:15,559 die auf dem Chip liegen, die wir lesen, 319 00:11:15,560 --> 00:11:16,459 schreiben können. 320 00:11:16,460 --> 00:11:18,019 Da gibt es einfach nur eine Referenz zu 321 00:11:18,020 --> 00:11:20,419 dieser Tabelle, wo halt quasi 322 00:11:20,420 --> 00:11:22,189 die verschiedenen Methoden im Speicher 323 00:11:22,190 --> 00:11:23,190 liegen. 324 00:11:25,780 --> 00:11:27,909 So aber mit dem Wissen, dass wir halt 325 00:11:27,910 --> 00:11:29,019 ähm, 326 00:11:29,020 --> 00:11:31,389 dass die VTB selber 327 00:11:31,390 --> 00:11:32,799 mit dem Wissen, dass sie VTB selber in 328 00:11:32,800 --> 00:11:34,389 einem Speicherbereich liegt, den wir nur 329 00:11:34,390 --> 00:11:36,489 lesen und ausführen können, der Pointer 330 00:11:36,490 --> 00:11:38,829 zu dieser Tabelle aber in dem Bereich 331 00:11:38,830 --> 00:11:40,899 liegt, den wir lesen 332 00:11:40,900 --> 00:11:41,409 und 333 00:11:41,410 --> 00:11:44,049 beschreiben können, um 334 00:11:44,050 --> 00:11:45,489 mit diesem Wissen können wir natürlich 335 00:11:45,490 --> 00:11:47,769 hingehen und diese VTB einfach 336 00:11:47,770 --> 00:11:48,770 austauschen. 337 00:11:49,970 --> 00:11:51,490 Mit einer VTB, die halt 338 00:11:52,820 --> 00:11:55,009 ja die Sachen enthält, die uns 339 00:11:55,010 --> 00:11:57,349 zu nutzen sind, die wir halt ausnutzen 340 00:11:57,350 --> 00:11:59,539 können. Und daraufhin habe ich dann quasi 341 00:11:59,540 --> 00:12:01,880 folgenden folgenden Plan geschmiedet. 342 00:12:04,310 --> 00:12:06,289 Das erste, was wir machen müssen, ist 343 00:12:06,290 --> 00:12:08,539 jetzt Reinhold erst mal ganz viele 344 00:12:08,540 --> 00:12:09,559 Objekte auf den Job 345 00:12:10,670 --> 00:12:12,349 suchen, dann halt eins dieser Objekte 346 00:12:13,370 --> 00:12:15,079 finden. Die finden die VTB von dem 347 00:12:15,080 --> 00:12:17,149 Objekt, tauschen die aus 348 00:12:17,150 --> 00:12:19,369 und versuchen dann die Rope Execution 349 00:12:19,370 --> 00:12:20,370 zu triggern, 350 00:12:21,800 --> 00:12:23,509 um Objekte auf dem HIP sprayen. 351 00:12:23,510 --> 00:12:24,919 Dadurch, dass wir uns hier im JavaScript 352 00:12:24,920 --> 00:12:27,289 bewegen, ist relativ einfach. 353 00:12:27,290 --> 00:12:28,699 Ich bin dann halt einfach hingegangen und 354 00:12:28,700 --> 00:12:30,829 habe um ganz viele Text 355 00:12:30,830 --> 00:12:33,169 Areas gesprayt und habe in diesen Text 356 00:12:33,170 --> 00:12:35,419 Areas in der Eigenschaft 357 00:12:35,420 --> 00:12:37,519 Rostrot Code reingeschrieben 358 00:12:37,520 --> 00:12:39,649 wird. Code ist halt ein Wert von bei dem 359 00:12:39,650 --> 00:12:40,999 bin ich halt ausgegangen. 360 00:12:41,000 --> 00:12:42,469 Der ist halt auf dem HIP nicht ganz so 361 00:12:42,470 --> 00:12:43,470 oft zu finden. 362 00:12:46,600 --> 00:12:48,689 Und somit haben wir schon 363 00:12:48,690 --> 00:12:50,279 mal erst mal ganz viele Objekte auch auf 364 00:12:50,280 --> 00:12:51,280 dem HIP gesprayt. 365 00:12:55,640 --> 00:12:56,869 Als nächstes müssen wir das Objekt 366 00:12:56,870 --> 00:12:58,369 finden, also eines dieser Objekte, die 367 00:12:58,370 --> 00:12:59,659 wir gesprüht haben, müssen wir natürlich 368 00:12:59,660 --> 00:13:01,039 auf dem Hieb finden. 369 00:13:01,040 --> 00:13:03,349 Und wenn wir dieses Hip Spring betreiben, 370 00:13:03,350 --> 00:13:05,149 dann wird natürlich nicht dann, wenn die 371 00:13:05,150 --> 00:13:06,379 Objekte natürlich nicht hintereinander 372 00:13:06,380 --> 00:13:08,629 auf dem Speicher abgelegt, sondern 373 00:13:08,630 --> 00:13:09,949 die werden halt irgendwie wild verteilt. 374 00:13:09,950 --> 00:13:11,449 Und das ist der Grund, warum wir jetzt 375 00:13:11,450 --> 00:13:13,219 über den Yip gehen müssen und eins dieser 376 00:13:13,220 --> 00:13:14,220 Objekte finden müssen. 377 00:13:15,500 --> 00:13:17,659 Das Suchen der Objekte ist halt auch 378 00:13:17,660 --> 00:13:18,660 nicht wirklich schwer. 379 00:13:19,560 --> 00:13:21,649 Ganz ganz oben sehen wir halt, 380 00:13:21,650 --> 00:13:23,659 dass ich mit dieser Base Funktion, dieses 381 00:13:23,660 --> 00:13:25,189 Array, was wir zum Auslesen benutzen. 382 00:13:25,190 --> 00:13:26,429 Das setzt sich halt einfach an den Haken, 383 00:13:26,430 --> 00:13:28,639 an den Anfang vom Hieb und dann, 384 00:13:28,640 --> 00:13:30,859 wenn ich ihn in 4 Byte 385 00:13:30,860 --> 00:13:33,109 schritten über den hier drüber 386 00:13:33,110 --> 00:13:35,209 und und 387 00:13:35,210 --> 00:13:37,460 versuch den Wert der Code zu finden. 388 00:13:39,590 --> 00:13:40,969 Wenn ich diesen Wert gefunden 389 00:13:40,970 --> 00:13:43,069 habe, dann 390 00:13:43,070 --> 00:13:45,499 ermittle ich mir halt die Startposition 391 00:13:45,500 --> 00:13:47,029 vor meinem von meinem Objekt, weil die 392 00:13:47,030 --> 00:13:48,289 brauche ich für den brauche ich zu einem 393 00:13:48,290 --> 00:13:50,509 späteren Zeitpunkt und änder diese 394 00:13:50,510 --> 00:13:52,340 und ändert diesen Wert im Wettbewerb. 395 00:13:54,650 --> 00:13:56,690 Das tue ich, weil 396 00:13:57,830 --> 00:13:59,269 wenn ich jetzt dieses z.B. 397 00:13:59,270 --> 00:14:01,280 wenn ich jetzt den Code in der umändern, 398 00:14:03,080 --> 00:14:04,339 dann 399 00:14:04,340 --> 00:14:05,899 muss ich natürlich. 400 00:14:05,900 --> 00:14:06,859 Dann muss ich. Ja, ich muss natürlich 401 00:14:06,860 --> 00:14:08,059 irgendwie rausfinden. 402 00:14:08,060 --> 00:14:09,609 Ich weiß ja nicht in meinem. 403 00:14:09,610 --> 00:14:11,089 In meinem Array, den ich GesprAche habe. 404 00:14:11,090 --> 00:14:13,579 Ich weiß jetzt nicht welche, 405 00:14:13,580 --> 00:14:15,079 welches Objekt ich geändert habe. 406 00:14:15,080 --> 00:14:16,789 Also die Eigenschaft von welchem, von 407 00:14:16,790 --> 00:14:18,979 welchem Index nehme ich ab 408 00:14:18,980 --> 00:14:20,689 da abgeändert habe. 409 00:14:20,690 --> 00:14:23,599 Und somit gehe ich nun halt quasi 410 00:14:23,600 --> 00:14:24,949 im nächsten Schritt einfach wieder über 411 00:14:24,950 --> 00:14:27,049 mein Array und guck in 412 00:14:27,050 --> 00:14:28,969 welchem Objekt steht denn jetzt in der 413 00:14:28,970 --> 00:14:31,099 Eigenschaft der drin? 414 00:14:31,100 --> 00:14:33,109 Und somit kenne ich und an der Stelle bin 415 00:14:33,110 --> 00:14:34,729 ich dann halt einfach sicher, dass ich, 416 00:14:34,730 --> 00:14:36,169 dass ich die Speicher Adresse von meinem 417 00:14:36,170 --> 00:14:38,509 Objekt kenne. Und ich kenne halt auch den 418 00:14:38,510 --> 00:14:40,819 Index von meinem Objekt immer in meinem 419 00:14:40,820 --> 00:14:41,820 gesprayt up 420 00:14:42,920 --> 00:14:44,329 und dann zum Schluss gehe ich halt 421 00:14:44,330 --> 00:14:45,559 einfach nochmal hin und da 422 00:14:46,640 --> 00:14:49,099 und in diesem Wettbewerb in 423 00:14:49,100 --> 00:14:51,229 den Code Make up und prüft dann halt 424 00:14:51,230 --> 00:14:52,219 noch mal 425 00:14:52,220 --> 00:14:52,909 im 426 00:14:52,910 --> 00:14:54,889 in der Speicher Adresse, die ich ja quasi 427 00:14:54,890 --> 00:14:56,509 ermittelt habe. Ich les die Nummer aus 428 00:14:56,510 --> 00:14:57,609 und wenn ich da dann wirklich Code bei 429 00:14:57,610 --> 00:14:59,179 drinstehen hat, dann bin ich mir sicher, 430 00:14:59,180 --> 00:15:00,529 ich kenne jetzt den Index von meinem 431 00:15:00,530 --> 00:15:02,389 Objekt in Speicher und ich kenne halt 432 00:15:02,390 --> 00:15:03,309 auch die. 433 00:15:03,310 --> 00:15:04,729 Also ich kenne die. Ich kenne das Offset 434 00:15:04,730 --> 00:15:06,439 von meinem Speicher und ich kenne ich 435 00:15:06,440 --> 00:15:07,819 kenne halt auch den Index in meinem 436 00:15:07,820 --> 00:15:08,820 Array. 437 00:15:11,760 --> 00:15:13,169 Nachdem wir das gemacht haben, kommt als 438 00:15:13,170 --> 00:15:15,029 nächstes müssen wir als nächstes die VTB 439 00:15:15,030 --> 00:15:16,829 des Objekts finden, damit wir diese 440 00:15:16,830 --> 00:15:18,600 später ersetzen können. 441 00:15:21,090 --> 00:15:22,259 Die VTB finden. 442 00:15:22,260 --> 00:15:24,179 Zu finden ist halt relativ einfach. 443 00:15:24,180 --> 00:15:26,459 Wir kennen ja wir kennen die 444 00:15:26,460 --> 00:15:27,989 die Adresse im Speicher von und von 445 00:15:27,990 --> 00:15:29,759 unserem Objekt Instanz. 446 00:15:29,760 --> 00:15:32,159 Und da wir ja gerade gesehen 447 00:15:32,160 --> 00:15:34,139 haben, dass die VTB von einem Objekt 448 00:15:34,140 --> 00:15:36,239 immer im Code Bereich liegt, der halt 449 00:15:36,240 --> 00:15:37,649 nur gelesen und nur ausgeführt werden 450 00:15:37,650 --> 00:15:39,239 kann, muss sich halt an der Stelle 451 00:15:39,240 --> 00:15:40,679 einfach nur nach einem Pointer in so 452 00:15:40,680 --> 00:15:43,769 einem Code Bereich suchen und 453 00:15:43,770 --> 00:15:45,629 das ist halt relativ einfach. 454 00:15:45,630 --> 00:15:46,979 Sobald ich einen Pointer gefunden habe, 455 00:15:46,980 --> 00:15:49,169 habe ich einfach geguckt was was steht 456 00:15:49,170 --> 00:15:50,459 an dieser Stelle im Speicher. 457 00:15:50,460 --> 00:15:51,929 Und wenn ich dann halt quasi so was 458 00:15:51,930 --> 00:15:53,189 gefunden habe. 459 00:15:53,190 --> 00:15:54,719 Daran erkennt man halt relativ einfach. 460 00:15:54,720 --> 00:15:56,699 Man sieht jetzt zwei Blöcke und mir ist 461 00:15:56,700 --> 00:15:58,829 halt nichts anderes als ein Array von von 462 00:15:58,830 --> 00:16:01,049 Offset, die halt irgendwo in den 463 00:16:01,050 --> 00:16:02,939 Bereich rein rein zeigen. 464 00:16:02,940 --> 00:16:04,979 Und wenn man so was sieht, dann weiß man 465 00:16:04,980 --> 00:16:07,229 in der Regel Okay, das ist Def Table 466 00:16:07,230 --> 00:16:09,149 und somit haben wir auch den den Pointer 467 00:16:09,150 --> 00:16:10,649 profitabel im Objekt gefunden. 468 00:16:15,280 --> 00:16:16,280 So. 469 00:16:18,680 --> 00:16:21,469 Wie triggern wir denn jetzt als nächstes 470 00:16:21,470 --> 00:16:22,660 die Execution? 471 00:16:24,770 --> 00:16:27,110 Diese Methode mit der VTB, 472 00:16:28,580 --> 00:16:30,919 die Sorgfalt, quasi die Methode 473 00:16:30,920 --> 00:16:31,939 mit der VTB. 474 00:16:31,940 --> 00:16:33,169 Hier sorgt man quasi dafür, 475 00:16:34,730 --> 00:16:36,349 dass wir genau ein Gadget ausführen 476 00:16:36,350 --> 00:16:37,350 können. 477 00:16:37,910 --> 00:16:40,099 Und dieses Gadget muss dann natürlich ein 478 00:16:40,100 --> 00:16:42,319 Gadget sein, das dem steckt Pointer und 479 00:16:42,320 --> 00:16:43,499 unter unserer Kontrolle bringt. 480 00:16:43,500 --> 00:16:44,779 Da wir Rob Execution haben 481 00:16:44,780 --> 00:16:45,780 möchten 482 00:16:46,640 --> 00:16:48,769 und es gab jetzt quasi in 483 00:16:48,770 --> 00:16:50,659 all diesen Modulen, die ich ausgelegten 484 00:16:50,660 --> 00:16:52,819 gelesen habe, wirklich nur ein 485 00:16:52,820 --> 00:16:54,499 Gadget, was ich noch was dafür geeignet 486 00:16:54,500 --> 00:16:56,039 war. Und das war natürlich und das war 487 00:16:56,040 --> 00:16:58,549 Push x Pop resp. 488 00:16:58,550 --> 00:17:00,649 Was nichts anderes macht, als den Wert 489 00:17:00,650 --> 00:17:02,719 vom Register r x in 490 00:17:02,720 --> 00:17:04,939 den Registern, also in den Stick Pointer 491 00:17:04,940 --> 00:17:06,049 Register einzuschreiben. 492 00:17:07,400 --> 00:17:09,469 Und somit wäre dann 493 00:17:09,470 --> 00:17:11,179 quasi bei der nächsten Instruktion unser 494 00:17:11,180 --> 00:17:13,338 Stack Pointer auf unsere Chain 495 00:17:13,339 --> 00:17:15,769 und die Ausführung könnte weitergehen. 496 00:17:16,880 --> 00:17:18,318 So, jetzt stehen wir aber vor dem 497 00:17:18,319 --> 00:17:19,319 nächsten Problem. 498 00:17:21,550 --> 00:17:23,108 Wir können nur speichern lesen und wir 499 00:17:23,109 --> 00:17:24,639 können Speicher lesen und schreiben. 500 00:17:24,640 --> 00:17:25,629 Wir sind aber nicht in der Lage 501 00:17:25,630 --> 00:17:27,460 irgendwelche CPU Register auszulesen. 502 00:17:29,830 --> 00:17:31,899 Und das war dann halt wirklich so der 503 00:17:31,900 --> 00:17:33,789 Punkt, wo ich wirklich kurz vorm 504 00:17:33,790 --> 00:17:35,589 verzweifeln war, weil ich habe da jetzt 505 00:17:35,590 --> 00:17:37,509 mehrere Monate Arbeit reingesteckt und 506 00:17:37,510 --> 00:17:38,469 ich wusste halt einfach nicht mehr 507 00:17:38,470 --> 00:17:39,470 weiter. 508 00:17:41,080 --> 00:17:43,149 Und dann hat mich halt ein Kollege 509 00:17:43,150 --> 00:17:45,369 darauf hingewiesen, sagte zu mir Na, das 510 00:17:45,370 --> 00:17:47,499 ist doch ein FreeBSD, was 511 00:17:47,500 --> 00:17:49,419 auf der PS4 läuft. 512 00:17:49,420 --> 00:17:50,740 Versucht er doch einfach dieses 513 00:17:51,760 --> 00:17:53,889 Versuche doch einfach diese Testumgebung 514 00:17:53,890 --> 00:17:56,679 in der virtuellen Maschine nachzubilden. 515 00:17:56,680 --> 00:17:59,019 Und genau das habe ich dann auch. 516 00:17:59,020 --> 00:18:00,420 Genau das habe ich dann auch getan. 517 00:18:04,280 --> 00:18:06,439 Und zwar habe ich mir eine PCB in den 518 00:18:06,440 --> 00:18:08,659 neuen VM aufgesetzt, die dann 519 00:18:08,660 --> 00:18:10,999 zufälligerweise und zu meinem Glück 520 00:18:11,000 --> 00:18:13,399 mit einer alten Midori Version kam, 521 00:18:13,400 --> 00:18:15,499 die halt quasi auch für den selben 522 00:18:15,500 --> 00:18:16,519 Bug anfällig war. 523 00:18:17,960 --> 00:18:20,119 Und dann muss ich jetzt natürlich noch 524 00:18:20,120 --> 00:18:22,399 hingehen und den Exploit 525 00:18:22,400 --> 00:18:24,469 von der PS4 auf den 526 00:18:24,470 --> 00:18:26,209 PC portieren. 527 00:18:26,210 --> 00:18:27,589 Das war aber nicht wirklich sehr 528 00:18:27,590 --> 00:18:29,859 kompliziert, weil man halt am PC mit 529 00:18:29,860 --> 00:18:32,029 GdB und so weiter diese 530 00:18:32,030 --> 00:18:34,039 Offsets Unterschiede die es da so gibt 531 00:18:34,040 --> 00:18:35,719 relativ relativ einfach ausmachen, 532 00:18:35,720 --> 00:18:37,029 ausfindig machen kann. 533 00:18:37,030 --> 00:18:40,249 Und ja, 534 00:18:40,250 --> 00:18:42,289 dann habe ich mir ein Breakpoint an genau 535 00:18:42,290 --> 00:18:44,119 der richtigen Stelle gesetzt. 536 00:18:44,120 --> 00:18:45,099 Hat die Ausführung. 537 00:18:45,100 --> 00:18:47,719 Habe versucht die Rubik zu triggern 538 00:18:47,720 --> 00:18:49,909 am PC selber und 539 00:18:49,910 --> 00:18:51,919 konnte dann halt und durfte dann 540 00:18:51,920 --> 00:18:52,920 feststellen, 541 00:18:54,770 --> 00:18:56,909 dass er x 542 00:18:56,910 --> 00:18:59,749 x Register den wir brauchen genau 543 00:18:59,750 --> 00:19:01,819 auf die VTB zeigt. 544 00:19:01,820 --> 00:19:04,009 Was natürlich eine super Sache für 545 00:19:04,010 --> 00:19:05,929 uns ist, weil das bedeutet, dass wir 546 00:19:05,930 --> 00:19:08,089 genau an dieser Stelle, also genau in 547 00:19:08,090 --> 00:19:09,259 die VTB bzw. 548 00:19:09,260 --> 00:19:10,999 die FAQ Vorteile, die wir lesen, 549 00:19:11,000 --> 00:19:11,899 schreiben können. 550 00:19:11,900 --> 00:19:12,799 Da können wir jetzt unsere. 551 00:19:12,800 --> 00:19:14,479 Da können wir unsere Gadgets platzieren. 552 00:19:21,000 --> 00:19:23,579 Und diese Selektion Staat 553 00:19:23,580 --> 00:19:24,580 ist 554 00:19:25,740 --> 00:19:27,849 ist der Eintrag 30 von dieser Fake 555 00:19:27,850 --> 00:19:29,699 Portable. Das bedeutet, dass alles was 556 00:19:29,700 --> 00:19:31,649 vor 30 kommt, von uns erst mal benutzt 557 00:19:31,650 --> 00:19:33,869 werden kann, um eine kleine 558 00:19:33,870 --> 00:19:35,010 Roxane auszuführen. 559 00:19:44,440 --> 00:19:45,609 Sumpf. 560 00:19:45,610 --> 00:19:47,499 Und genau das 561 00:19:48,910 --> 00:19:50,799 tue ich an der Stelle als allererstes 562 00:19:50,800 --> 00:19:53,289 gehe ich hin und such mir die. 563 00:19:54,570 --> 00:19:56,259 Ja genau und hol mir die, hol mir die 564 00:19:56,260 --> 00:19:57,819 Speicher Stelle und mir die Speicher 565 00:19:57,820 --> 00:19:58,820 Adresse der VTB. 566 00:20:00,700 --> 00:20:01,700 Als nächstes 567 00:20:02,890 --> 00:20:04,599 lege ich halt die Fake Portable im 568 00:20:04,600 --> 00:20:07,029 Speicher an und um Platz 569 00:20:07,030 --> 00:20:08,709 innerhalb der Fake Portable. 570 00:20:08,710 --> 00:20:10,839 Überall unser Gadget. 571 00:20:10,840 --> 00:20:12,939 Der halt in den Wert von Rex 572 00:20:12,940 --> 00:20:14,229 in den Spiegel verschiebt. 573 00:20:14,230 --> 00:20:16,089 Einfach um sicher zu sein. 574 00:20:16,090 --> 00:20:17,199 Ich hätte jetzt einfach nur den 575 00:20:17,200 --> 00:20:18,219 dreißigsten Eintrag ändern 576 00:20:18,220 --> 00:20:19,839 können, aber. 577 00:20:22,890 --> 00:20:24,039 Ich glaube ich glaube ich war einfach zu 578 00:20:24,040 --> 00:20:25,749 faul rauszufinden, ob es wirklich ein 30 579 00:20:25,750 --> 00:20:27,219 ist oder nicht. Dann habe ich mir gedacht 580 00:20:27,220 --> 00:20:29,319 ja, viel hilft, viel ändert er das Ding 581 00:20:29,320 --> 00:20:30,320 halt einfach komplett ab, 582 00:20:31,480 --> 00:20:33,579 denn wir brauchen ja nur die ersten drei 583 00:20:33,580 --> 00:20:34,989 Einträge um um 584 00:20:34,990 --> 00:20:35,949 unsere 585 00:20:35,950 --> 00:20:38,259 kleine robbt Shantanu noch mal zu einer 5 586 00:20:38,260 --> 00:20:39,729 von einer etwas größeren Rodschenkow zu, 587 00:20:39,730 --> 00:20:41,079 um zu schieben um zu schubsen. 588 00:20:47,930 --> 00:20:49,469 Aber auf jeden Fall die Facebook Tabelle 589 00:20:49,470 --> 00:20:52,589 wird vorbereitet und ganz zum Schluss 590 00:20:52,590 --> 00:20:54,719 ja, er setzt sich dann den 591 00:20:54,720 --> 00:20:56,819 Wert der originalen Tabelle mit dem Wert 592 00:20:56,820 --> 00:20:58,519 von von von der Tabelle. 593 00:21:02,600 --> 00:21:04,879 So sauber 594 00:21:04,880 --> 00:21:06,799 wie gerade im Beispiel, wie gerade im 595 00:21:06,800 --> 00:21:07,800 Beispiel schon erwähnt 596 00:21:10,220 --> 00:21:11,959 kann, wenn die Rippchen an der Stelle 597 00:21:11,960 --> 00:21:12,960 steht, 598 00:21:14,060 --> 00:21:15,499 kann die rot sein, wenn die quasi an der 599 00:21:15,500 --> 00:21:17,810 Stelle steht, wo sie steht um. 600 00:21:24,410 --> 00:21:25,849 Die Drachin ist quasi 601 00:21:27,650 --> 00:21:29,719 maximal so groß, wie unsere VTB groß 602 00:21:29,720 --> 00:21:31,249 ist. Das bedeutet, wir können nicht 603 00:21:31,250 --> 00:21:33,379 wirklich viele Gadgets 604 00:21:33,380 --> 00:21:34,380 dahin platzieren. 605 00:21:36,740 --> 00:21:38,329 Was wiederum bedeutet, wenn wir eine 606 00:21:38,330 --> 00:21:40,429 größere Rutsche haben wollen 607 00:21:40,430 --> 00:21:41,929 oder eine größere Rotation ausführen 608 00:21:41,930 --> 00:21:43,339 möchten, müssen wir natürlich 609 00:21:44,360 --> 00:21:46,489 eine zweite, also unsere echte Royal halt 610 00:21:46,490 --> 00:21:47,449 irgendwo anders in den Speicher 611 00:21:47,450 --> 00:21:49,249 hinschieben und dann mit den mit den 612 00:21:49,250 --> 00:21:51,049 ersten paar Gadgets, die wir ausführen, 613 00:21:51,050 --> 00:21:52,969 den Stack Pointer zu dieser richtigen 614 00:21:52,970 --> 00:21:55,489 Rodschenkow hinschieben 615 00:21:55,490 --> 00:21:56,490 und. 616 00:22:00,340 --> 00:22:02,079 Ja und genau das tun wir ja quasi hier in 617 00:22:02,080 --> 00:22:04,299 dem Code ganz am Anfang 618 00:22:05,530 --> 00:22:07,719 sieht man halt wie 619 00:22:07,720 --> 00:22:09,789 ja ganz am Anfang geh ich halt zu unserer 620 00:22:09,790 --> 00:22:12,039 Facebook Tabelle hin und ersetze 621 00:22:12,040 --> 00:22:14,059 die ersten drei Gadgets das erste Mal 622 00:22:14,060 --> 00:22:16,119 mit, das erste Mal mit einem Knopf. 623 00:22:16,120 --> 00:22:18,009 Da passiert da, dann passiert gar nichts. 624 00:22:18,010 --> 00:22:19,869 Und das zweite macht einen Pop resp. 625 00:22:19,870 --> 00:22:22,509 Rap-Szene. Und dieses zweite Gadget 626 00:22:22,510 --> 00:22:24,669 sorgt hat quasi dafür, 627 00:22:24,670 --> 00:22:26,779 dass unsere 628 00:22:26,780 --> 00:22:29,349 dieses zweite Rachedurst Pathologin, 629 00:22:29,350 --> 00:22:31,889 das dritte Gadget sogar quasi dafür, dass 630 00:22:31,890 --> 00:22:34,359 das die ESP Adresse halt wieder woanders 631 00:22:34,360 --> 00:22:35,360 hin zeigt auf dem HIP. 632 00:22:37,780 --> 00:22:39,999 Und zwar auf unsere zweite 633 00:22:40,000 --> 00:22:42,189 Rap-Szene, die wir halt unten, 634 00:22:42,190 --> 00:22:43,839 die Welt unten sehen, die halt auch erst 635 00:22:43,840 --> 00:22:44,970 mal nichts anderes macht als 636 00:22:46,210 --> 00:22:47,970 einfach nur ein endlos Loop. 637 00:22:49,150 --> 00:22:50,409 Erst mal ein paar Noobs und dann halt ein 638 00:22:50,410 --> 00:22:51,939 finales Loop. So, warum mache ich das? 639 00:22:51,940 --> 00:22:53,229 Warum mache ich das auf diese Art und 640 00:22:53,230 --> 00:22:54,230 Weise? 641 00:22:56,850 --> 00:22:59,009 Weil wenn ich halt quasi. 642 00:22:59,010 --> 00:23:00,599 Ich könnte das endlos Love hat quasi auch 643 00:23:00,600 --> 00:23:02,939 direkt an der ersten Stelle reinpacken. 644 00:23:02,940 --> 00:23:04,169 Aber dann haben sie natürlich das Problem. 645 00:23:04,170 --> 00:23:05,519 Jetzt weiß ich nicht, läuft meine Roche 646 00:23:05,520 --> 00:23:06,809 jetzt wirklich durch oder? 647 00:23:06,810 --> 00:23:08,669 Oder ist sie oder wird halt wirklich nur 648 00:23:08,670 --> 00:23:10,709 das erste Gadget ausgeführt? 649 00:23:10,710 --> 00:23:12,539 Und genau aus diesem Grund lege ich halt 650 00:23:12,540 --> 00:23:13,589 erst mal ein paar Loops an. 651 00:23:13,590 --> 00:23:14,909 Und wenn ich dann halt unten in so einem 652 00:23:14,910 --> 00:23:16,079 Club lande, dann weiß ich Okay, die 653 00:23:16,080 --> 00:23:18,239 Gadgets davor, die wurden halt quasi 654 00:23:18,240 --> 00:23:19,240 auch ausgeführt. 655 00:23:24,520 --> 00:23:26,179 Wie kann ich denn, nachdem ich das Ganze 656 00:23:26,180 --> 00:23:27,789 jetzt vorbereitet habe? 657 00:23:27,790 --> 00:23:29,019 Ich habe ja quasi 658 00:23:29,020 --> 00:23:30,020 die 659 00:23:30,460 --> 00:23:31,879 ich habe ja quasi die ganzen Speicher 660 00:23:31,880 --> 00:23:34,479 Adressen gefunden, habe die Faxen Tabelle 661 00:23:34,480 --> 00:23:37,569 mit einer Facebook Tabelle ausgetauscht. 662 00:23:37,570 --> 00:23:39,309 Wie kann ich da jetzt kontrollieren, dass 663 00:23:39,310 --> 00:23:40,479 meine Rogoshin halt auch wirklich 664 00:23:40,480 --> 00:23:41,979 getriggert wird? 665 00:23:41,980 --> 00:23:44,349 Und die Antwort ist halt relativ 666 00:23:44,350 --> 00:23:45,350 einfach. 667 00:23:46,540 --> 00:23:48,490 Ich habe ganz unten zum Schluss. 668 00:23:50,050 --> 00:23:51,549 Da gibt es dieses App, das macht nichts 669 00:23:51,550 --> 00:23:53,979 anderes, als auf dem 670 00:23:53,980 --> 00:23:56,439 Display eine PS4 angeschlossen 671 00:23:56,440 --> 00:23:57,489 ist, 672 00:23:57,490 --> 00:23:58,490 um 673 00:23:59,170 --> 00:24:00,729 dieses Feld auszugeben. 674 00:24:00,730 --> 00:24:02,859 Und in einer idealen Welt, wo halt 675 00:24:02,860 --> 00:24:04,899 diese wo dieses Triggern der robbt schön 676 00:24:04,900 --> 00:24:05,900 funktioniert hat, 677 00:24:07,150 --> 00:24:08,379 darf diese Zeile natürlich nicht 678 00:24:08,380 --> 00:24:09,380 ausgeführt werden. 679 00:24:10,300 --> 00:24:12,549 Es wird quasi ich hole mir ganz oben 680 00:24:12,550 --> 00:24:14,649 das Objekt, also das Objekt mit dem 681 00:24:14,650 --> 00:24:16,479 Index, den ich ermittelt habe und trigger 682 00:24:16,480 --> 00:24:18,429 halt einfach dieses Set Selection Start. 683 00:24:18,430 --> 00:24:20,619 Und wenn dieses Feld nicht ausgeführt 684 00:24:20,620 --> 00:24:22,749 wird und dieses Feld nicht ausgeführt 685 00:24:22,750 --> 00:24:24,099 wird, dann hat alles funktioniert. 686 00:24:24,100 --> 00:24:26,169 Und in meinem Fall war es Gott sei 687 00:24:26,170 --> 00:24:28,479 Dank so, dass das halt problemlos 688 00:24:28,480 --> 00:24:29,480 funktioniert hat. 689 00:24:31,320 --> 00:24:33,390 Wir haben in den Folien davor gesehen, 690 00:24:35,880 --> 00:24:37,979 wie müde, wie mühselig es quasi 691 00:24:37,980 --> 00:24:40,079 sein kann, eine Roxane auf diese Art und 692 00:24:40,080 --> 00:24:41,080 Weise auszuführen. 693 00:24:42,450 --> 00:24:43,769 Das macht natürlich. Das macht natürlich 694 00:24:43,770 --> 00:24:44,849 wenig Spaß, erst recht, wenn die 695 00:24:44,850 --> 00:24:46,439 Rothstein den Rückstand hat, viel, viel 696 00:24:46,440 --> 00:24:47,440 größer wird. 697 00:24:49,750 --> 00:24:51,729 Und aus diesem Grund bin ich quasi 698 00:24:51,730 --> 00:24:53,189 hingegangen und habe mir so ein kleines 699 00:24:53,190 --> 00:24:54,880 hat mir so ein kleines Framework. 700 00:24:56,060 --> 00:24:57,430 Mir hat mir so ein kleines Framework 701 00:24:59,350 --> 00:25:01,599 gebaut, mit dem ich wohl 702 00:25:01,600 --> 00:25:03,519 im Framework selber habe ich halt quasi 703 00:25:03,520 --> 00:25:04,989 die Adressen zu den verschiedenen Gadgets 704 00:25:04,990 --> 00:25:07,089 definiert, sodass ich dann halt zu einem 705 00:25:07,090 --> 00:25:09,039 späteren Zeitpunkt einfach in der Lage 706 00:25:09,040 --> 00:25:11,109 war, mit mir mit dem Framework 707 00:25:11,110 --> 00:25:13,089 halt quasi meine Gadgets, also ein 708 00:25:13,090 --> 00:25:15,189 bisschen leserlich zu schreiben und so in 709 00:25:15,190 --> 00:25:17,499 der Lage war, halt auch ein paar etwas 710 00:25:17,500 --> 00:25:19,629 komplexere Obszönes auszuführen. 711 00:25:19,630 --> 00:25:21,759 In dem Fall, was diese Blockchain 712 00:25:21,760 --> 00:25:22,989 hier macht. 713 00:25:22,990 --> 00:25:24,999 Die macht nichts anderes als die öffnet 714 00:25:25,000 --> 00:25:27,099 halt quasi ganz oben, 715 00:25:27,100 --> 00:25:29,379 ganz oben öffnet die halt quasi die, 716 00:25:29,380 --> 00:25:30,380 die weiß Ordner 717 00:25:31,600 --> 00:25:34,000 ließ den aus, macht dann Socket auf 718 00:25:35,680 --> 00:25:37,869 und schickt das was ausgelesen 719 00:25:37,870 --> 00:25:39,579 wurde halt wieder zum PC zurück. 720 00:25:41,020 --> 00:25:42,939 Das ist halt alles nicht wirklich schön 721 00:25:42,940 --> 00:25:44,079 und 722 00:25:44,080 --> 00:25:45,999 auch nicht leserlich, aber es 723 00:25:46,000 --> 00:25:47,769 funktioniert halt. 724 00:25:47,770 --> 00:25:49,839 Und somit konnte man und somit war ich in 725 00:25:49,840 --> 00:25:52,179 der Lage eigene James über 726 00:25:52,180 --> 00:25:53,319 Video Apps auszuführen. 727 00:25:56,400 --> 00:25:58,439 Ja, jetzt gibt es natürlich. 728 00:25:58,440 --> 00:25:59,440 Jetzt gibt es natürlich. 729 00:26:03,400 --> 00:26:04,689 Es gibt natürlich noch einige Dinge, die 730 00:26:04,690 --> 00:26:06,459 mit Videos nicht ganz so schön sind. 731 00:26:07,830 --> 00:26:09,729 Video Apps benötigen natürlich hat immer 732 00:26:09,730 --> 00:26:12,069 PSN Zugriff, was 733 00:26:12,070 --> 00:26:13,089 eine sehr unschöne Sache ist. 734 00:26:13,090 --> 00:26:14,469 Das bedeutet nämlich immer, dass man auf 735 00:26:14,470 --> 00:26:16,749 der letzten Filmversion sein muss 736 00:26:16,750 --> 00:26:17,979 und man muss halt online sein. 737 00:26:17,980 --> 00:26:19,749 Und jedes Mal wenn das Ding abstürzt 738 00:26:19,750 --> 00:26:22,469 werden halt sofort Crash Logs an 739 00:26:22,470 --> 00:26:25,479 an Sony raus gesendet und 740 00:26:25,480 --> 00:26:27,459 dementsprechend können die Dinger halt 741 00:26:27,460 --> 00:26:29,079 relativ schnell gefixt werden, wenn sie 742 00:26:29,080 --> 00:26:30,080 denn gefixt werden. 743 00:26:31,600 --> 00:26:33,469 Dann haben Video Apps auch kein Zugriff 744 00:26:33,470 --> 00:26:35,919 auf auf den Just in time Compiler, 745 00:26:35,920 --> 00:26:37,869 den man halt aus dem Browser kennt. 746 00:26:37,870 --> 00:26:40,149 Das ist aber ab Version 3 15 sowieso 747 00:26:40,150 --> 00:26:42,159 nicht mehr ganz so relevant, denn ob 748 00:26:42,160 --> 00:26:44,200 diese denn ich glaube irgendwann 749 00:26:45,490 --> 00:26:47,679 gegen Firma 2.0 750 00:26:47,680 --> 00:26:49,029 hatten sowieso normale Apps keinen 751 00:26:49,030 --> 00:26:51,219 Zugriff auf den Compiler. 752 00:26:51,220 --> 00:26:52,480 Von daher muss man halt damit leben. 753 00:26:53,500 --> 00:26:55,449 Ja, man unterstützen Video Apps kein 754 00:26:55,450 --> 00:26:58,059 Trading, was natürlich 755 00:26:58,060 --> 00:26:59,499 auch sehr unschön ist. 756 00:26:59,500 --> 00:27:00,729 Was bedeutet natürlich, dass man nicht 757 00:27:00,730 --> 00:27:02,859 alle, nicht alle Arten von Exploits 758 00:27:02,860 --> 00:27:03,759 wirklich ausführen kann. 759 00:27:03,760 --> 00:27:05,199 Zum Beispiel wenn man Connections hat, 760 00:27:05,200 --> 00:27:06,969 die man, die man irgendwie dann noch 761 00:27:06,970 --> 00:27:08,769 danach noch triggern möchte, wo man halt 762 00:27:08,770 --> 00:27:10,209 verschiedene Threads braucht, um halt den 763 00:27:10,210 --> 00:27:11,259 Kontext mal auszuführen. 764 00:27:13,150 --> 00:27:14,469 Das ist dann natürlich auch eher 765 00:27:14,470 --> 00:27:17,049 suboptimal, aber wenn man 766 00:27:17,050 --> 00:27:18,759 den Kontext nur triggern möchte, der halt 767 00:27:18,760 --> 00:27:20,969 keiner, der da hat keine 768 00:27:20,970 --> 00:27:23,089 keine Threads benötigt, ist 769 00:27:23,090 --> 00:27:24,090 vollkommen okay. 770 00:27:25,900 --> 00:27:27,789 Dann hat man natürlich noch das Problem 771 00:27:27,790 --> 00:27:29,859 Video Apps haben quasi 772 00:27:29,860 --> 00:27:30,999 die laufen mit einer Sandbox wie der 773 00:27:31,000 --> 00:27:32,439 Browser auch. 774 00:27:32,440 --> 00:27:33,759 Nichtsdestotrotz sie sind halt trotzdem 775 00:27:33,760 --> 00:27:34,929 noch ein bisschen eingeschränkter als der 776 00:27:34,930 --> 00:27:36,039 Browser. Das heißt, man hat auch nicht 777 00:27:36,040 --> 00:27:38,169 auf alle Devices Zugriff, wo man die 778 00:27:38,170 --> 00:27:39,369 man natürlich auch noch im Browser hat. 779 00:27:39,370 --> 00:27:41,439 Das heißt die, die ja die die 780 00:27:41,440 --> 00:27:43,389 Angriffs Oberfläche, die man vielleicht 781 00:27:43,390 --> 00:27:45,489 quasi noch die man hat, vielleicht noch 782 00:27:45,490 --> 00:27:46,929 mit einem Browser Exploit hat. 783 00:27:46,930 --> 00:27:49,209 Die fallen mit Video Apps natürlich 784 00:27:49,210 --> 00:27:50,210 auch noch direkt weg. 785 00:27:52,000 --> 00:27:53,440 Was sie jetzt nicht auf der Folie steht. 786 00:27:54,850 --> 00:27:56,819 Videos haben auch keinen Zugriff auf auf 787 00:27:56,820 --> 00:27:58,149 den Lippen. Philipp ist halt quasi die 788 00:27:58,150 --> 00:28:00,399 dynamische Kompilation, die dynamische 789 00:28:00,400 --> 00:28:01,599 Bibliotheken bzw. 790 00:28:01,600 --> 00:28:03,399 Funktionsaufruf zur Laufzeit, auf den man 791 00:28:03,400 --> 00:28:04,599 halt auch im Browser Zugriff hat, 792 00:28:06,200 --> 00:28:07,569 also viel bedeutet. Man kann halt quasi 793 00:28:07,570 --> 00:28:09,639 bei Videos keine Zusatz Module zur 794 00:28:09,640 --> 00:28:11,559 Laufzeit laden, um dann irgendwelche 795 00:28:11,560 --> 00:28:13,119 weiteren Funktionen auszuführen, 796 00:28:14,920 --> 00:28:16,989 die halt nicht mit in der App kompiliert 797 00:28:16,990 --> 00:28:19,239 sind. Das kann man zum Beispiel 798 00:28:19,240 --> 00:28:20,829 mit einem Browser Export machen. 799 00:28:20,830 --> 00:28:22,339 Das ist natürlich super, wenn man da halt 800 00:28:22,340 --> 00:28:24,309 einmal Code Execution hat und man möchte 801 00:28:24,310 --> 00:28:25,899 halt gewisse Funktionen ausführen, die 802 00:28:25,900 --> 00:28:27,309 halt ganz normal für unser Land 803 00:28:28,750 --> 00:28:29,979 normalerweise zu haben sind. 804 00:28:29,980 --> 00:28:31,659 Da kann man sich halt einfach das Modul 805 00:28:31,660 --> 00:28:33,819 bzw. die die Library die Funktion 806 00:28:33,820 --> 00:28:35,529 enthält, zur Laufzeit laden. 807 00:28:35,530 --> 00:28:37,779 Und das geht bei Video Apps 808 00:28:37,780 --> 00:28:38,979 natürlich nicht. 809 00:28:38,980 --> 00:28:39,980 Was halt natürlich auch 810 00:28:41,260 --> 00:28:42,759 doof ist. 811 00:28:42,760 --> 00:28:44,499 Und dann kommt natürlich noch dazu. 812 00:28:44,500 --> 00:28:45,849 Dadurch, dass es halt eine App ist, 813 00:28:47,050 --> 00:28:48,639 kann ja ganz einfach per Update gefixt 814 00:28:48,640 --> 00:28:49,640 werden. 815 00:28:50,170 --> 00:28:52,269 Ob ob sie jetzt per Update fix werden 816 00:28:52,270 --> 00:28:53,270 oder nicht, 817 00:28:55,690 --> 00:28:57,129 weiß ich nicht. Die Methode, die ist es 818 00:28:57,130 --> 00:28:58,599 also. Wie gesagt, die ist auch aus 15, 819 00:28:58,600 --> 00:28:59,889 ich habe sie damals entwickelt. 820 00:28:59,890 --> 00:29:01,479 Ich weiß auch gar nicht, ob das jetzt 821 00:29:01,480 --> 00:29:03,219 noch läuft. Ich wüsste nicht, warum 822 00:29:03,220 --> 00:29:04,719 nicht. Man kann es ausprobieren. 823 00:29:06,760 --> 00:29:08,079 Ja, das ist halt so ein bisschen die 824 00:29:08,080 --> 00:29:09,129 Nachteile, die man hat. Aber 825 00:29:09,130 --> 00:29:11,139 nichtsdestotrotz man darf nicht vergessen 826 00:29:11,140 --> 00:29:13,689 dadurch, dass man halt wirklich komplette 827 00:29:13,690 --> 00:29:16,150 User nennt, Code Execution erlangt, 828 00:29:18,460 --> 00:29:20,079 ist das ganze natürlich vollkommen okay, 829 00:29:20,080 --> 00:29:22,119 um halten können zu triggern. 830 00:29:22,120 --> 00:29:23,499 Das ist ja wirklich, das ist nur der 831 00:29:23,500 --> 00:29:25,659 Einstieg, der Einstiegspunkt. 832 00:29:25,660 --> 00:29:26,710 Und ja. 833 00:29:31,860 --> 00:29:34,259 Ja jetzt auch ein bisschen schneller 834 00:29:34,260 --> 00:29:36,599 durch als gedacht 835 00:29:36,600 --> 00:29:37,600 um. 836 00:29:39,360 --> 00:29:40,529 Ich weiß gar nicht, ob ich was vergessen 837 00:29:40,530 --> 00:29:42,089 habe, ich hoffe nicht. 838 00:29:43,980 --> 00:29:44,980 Aber ja 839 00:29:47,050 --> 00:29:47,399 ja, 840 00:29:47,400 --> 00:29:48,599 dann bedanke ich mich erst mal! 841 00:29:54,230 --> 00:29:55,310 Und falls noch Fragen 842 00:29:56,900 --> 00:29:58,099 dazu würde ich auch gerade kommen. 843 00:29:58,100 --> 00:29:59,299 Erstmal vielen Dank an dich. 844 00:30:00,380 --> 00:30:01,999 Wenn es Fragen gibt ihr findet 2 845 00:30:02,000 --> 00:30:03,559 Mikrofone dort im Publikum. 846 00:30:03,560 --> 00:30:05,629 Könnt euch dort dahinter stellen 847 00:30:05,630 --> 00:30:07,940 und dann die Fragen stellen. 848 00:30:12,190 --> 00:30:13,269 Wenn nicht, fange ich mal an. 849 00:30:13,270 --> 00:30:16,419 Du hattest geschrieben, dass 850 00:30:16,420 --> 00:30:18,789 die PS4 von deiner Frau ein Geschenk 851 00:30:18,790 --> 00:30:20,859 war. Ja, hat sie denn gesagt, als du 852 00:30:20,860 --> 00:30:21,909 angefangen hast, die PS4 853 00:30:21,910 --> 00:30:23,019 auseinanderzunehmen? 854 00:30:23,020 --> 00:30:25,089 Die fand ja 855 00:30:25,090 --> 00:30:26,090 genau, du hast ja nicht mehr alles, 856 00:30:28,240 --> 00:30:29,859 was ich jetzt halt auch im Vortrag nicht 857 00:30:29,860 --> 00:30:30,860 gesagt habe. 858 00:30:31,300 --> 00:30:32,859 Ich habe ihr ausgepackt und ich habe ihr 859 00:30:32,860 --> 00:30:34,029 nicht so von angemacht, sondern ich habe 860 00:30:34,030 --> 00:30:35,030 die sofort aufgeschraubt. 861 00:30:37,810 --> 00:30:39,639 Man fand sie auch nicht so lustig, aber 862 00:30:39,640 --> 00:30:41,709 es ist halt so, was 863 00:30:41,710 --> 00:30:42,710 Hacker halt so tun. 864 00:30:43,750 --> 00:30:45,219 Hast du dahinten eine Frage? 865 00:30:45,220 --> 00:30:46,839 Dann das Mikrofon bitte. 866 00:30:47,990 --> 00:30:50,169 Hi, eine Frage wie bist du auf die Idee 867 00:30:50,170 --> 00:30:52,330 gekommen, explizit Video Apps zu nehmen? 868 00:30:53,350 --> 00:30:55,749 Hinweise oder es gab gar keine Hinweise 869 00:30:55,750 --> 00:30:56,709 darauf? 870 00:30:56,710 --> 00:30:57,759 Es war ganz einfach ich 871 00:30:59,290 --> 00:31:01,149 gerade. Ich habe ganz am Anfang einfach 872 00:31:01,150 --> 00:31:02,709 sämtliche Pakete sämtlichen Netzwerk 873 00:31:02,710 --> 00:31:05,019 Traffic mitgeschnitten und 874 00:31:05,020 --> 00:31:06,609 habe dann wirklich sämtliche Apps einmal 875 00:31:06,610 --> 00:31:08,799 ausprobiert, alle Video Apps Spiele 876 00:31:08,800 --> 00:31:10,269 gestartet und so weiter und so fort. 877 00:31:10,270 --> 00:31:12,819 Und Video Videos waren halt die einzigen, 878 00:31:12,820 --> 00:31:15,099 wo der Traffic halt nicht 879 00:31:15,100 --> 00:31:17,169 SSL verschlüsselt war und da 880 00:31:17,170 --> 00:31:18,229 konnte man es lesen. 881 00:31:18,230 --> 00:31:20,319 Und das hat dann natürlich auch 882 00:31:20,320 --> 00:31:22,029 verraten, dass es da eine alte Webcast 883 00:31:22,030 --> 00:31:24,099 Version das war eine alte 884 00:31:24,100 --> 00:31:25,689 Web gibt Versionen zum Einsatz gekommen 885 00:31:25,690 --> 00:31:27,849 ist. Sehr cool, aber. 886 00:31:30,270 --> 00:31:31,199 Danke schön! 887 00:31:31,200 --> 00:31:32,699 Gibt es noch weitere Fragen? 888 00:31:34,590 --> 00:31:36,629 Wenn nicht, dann nochmal herzlichen Dank, 889 00:31:36,630 --> 00:31:38,789 großen Applaus und dann 890 00:31:38,790 --> 00:31:40,859 geht es um 13 Uhr weiter 891 00:31:40,860 --> 00:31:41,860 mit Neusprech 892 00:31:52,620 --> 00:31:53,620 und.