Contents

Säkerhetspodcasten #191 - Ostrukturerat V.46

Lyssna

mp3

Innehåll

I dagens avsnitt diskuterar panelen den senaste tidens nyheter, bland annat Gunnebo, Bring Your Own Island, NAT Slipstreaming och the return of the Ping of Death.

Inspelat: 2020-11-04. Längd: 00:54:17.

AI transkribering

AI försöker förstå oss… Ha överseende med galna feltranskriberingar.

1 00:00:00,000 --> 00:00:01,920 Hej och välkommen till Säkerhetspodcasten.

2 00:00:01,980 --> 00:00:03,340 Jag som pratade till Johan Rybbenmöller.

3 00:00:03,460 --> 00:00:05,160 Med mig idag har jag Mattias Idhage.

4 00:00:05,740 --> 00:00:06,340 Yay, yay!

5 00:00:06,800 --> 00:00:08,120 Jesper Larsson.

6 00:00:08,420 --> 00:00:08,940 Absolut!

7 00:00:09,360 --> 00:00:10,320 Och Peter Magnusson.

8 00:00:11,000 --> 00:00:12,580 Peter, det är mycket grej.

9 00:00:13,340 --> 00:00:16,420 Rickard är borta på assignment.

10 00:00:17,480 --> 00:00:17,640 Ja.

11 00:00:17,960 --> 00:00:19,260 Så vi förklarar oss utan honom.

12 00:00:19,560 --> 00:00:21,600 Vi ska nämna att vi är sponsrade av Shored.

13 00:00:21,720 --> 00:00:22,940 Läs med honom på shored.se.

14 00:00:23,120 --> 00:00:27,180 Vi är också sponsrade av Bordfors Consulting som ni hittar på bordfors.se.

15 00:00:27,180 --> 00:00:32,040 Och av 0x4a som ni hittar på 0x4a.se.

16 00:00:32,600 --> 00:00:36,940 Kunde vi inte säga något roligare än att Rickard var i hennes majestäts hemliga tjänst?

17 00:00:37,060 --> 00:00:37,660 Eller någonting sånt?

18 00:00:38,060 --> 00:00:39,360 Vi fick inte säga det, Peter.

19 00:00:39,440 --> 00:00:40,040 Vi fick inte säga det.

20 00:00:40,520 --> 00:00:40,780 Fuck.

21 00:00:41,900 --> 00:00:43,280 Det är hemlig tjänst av en anledning.

22 00:00:43,760 --> 00:00:47,780 Det vi kan säga är att det idag är den 4 november.

23 00:00:48,180 --> 00:00:49,100 Så är det faktiskt.

24 00:00:49,440 --> 00:00:54,540 Vi kan även säga att man kan prata med oss genom att kommunicera med kontakt

25 00:00:54,540 --> 00:00:56,680 på 1-sakerhetspodcasten.se

26 00:00:56,680 --> 00:00:57,820 eller på Twitter

27 00:00:57,820 --> 00:00:59,580 att sakpodcasten, om man vill det.

28 00:00:59,820 --> 00:01:00,540 Det får man gärna göra.

29 00:01:00,980 --> 00:01:03,680 Så är det också. All feedback som är negativ

30 00:01:03,680 --> 00:01:04,700 vill vi inte ha.

31 00:01:05,300 --> 00:01:06,680 Vi vill ha all feedback.

32 00:01:06,680 --> 00:01:08,300 Vi svarar på allting vi får.

33 00:01:08,880 --> 00:01:09,920 Gör vi det? Vem gör det?

34 00:01:10,280 --> 00:01:11,180 Det gör vi typ.

35 00:01:12,320 --> 00:01:15,280 Nu sist så svarar Peter otroligt bra.

36 00:01:15,380 --> 00:01:16,700 Jag älskar det.

37 00:01:17,360 --> 00:01:18,580 Jag vet inte om han kan säga det här.

38 00:01:20,280 --> 00:01:21,980 Vi får lite förfrågningar

39 00:01:21,980 --> 00:01:24,180 tidsomtätt ifrån olika leverantörer

40 00:01:24,180 --> 00:01:25,500 som gärna vill vara med.

41 00:01:26,680 --> 00:01:29,500 De vill gärna vara med för att marknadsföra

42 00:01:29,500 --> 00:01:30,000 vissa saker.

43 00:01:30,840 --> 00:01:33,280 Vi har ju tagit den ståndpunkten

44 00:01:33,280 --> 00:01:35,120 ganska tidigt att vi inte kommer göra det.

45 00:01:37,080 --> 00:01:38,640 Peter skrev ett väldigt bra

46 00:01:38,640 --> 00:01:40,720 medlande tillbaka den här gången.

47 00:01:40,860 --> 00:01:42,680 Vi är alldeles för oseriösa för er.

48 00:01:42,920 --> 00:01:43,680 Ta någon annan.

49 00:01:45,080 --> 00:01:45,880 Det är helt sant.

50 00:01:45,880 --> 00:01:47,140 Det är helt sant.

51 00:01:49,480 --> 00:01:51,420 Vi går inte in mer på det, tänker jag.

52 00:01:51,480 --> 00:01:54,320 Om du vill att en vd ska få en bra

53 00:01:54,320 --> 00:01:56,660 gestaltning av sina grejer,

54 00:01:56,680 --> 00:01:59,540 och dyka upp i ett seriöst sammanhang

55 00:01:59,540 --> 00:02:01,880 så är det kanske inte helt rätt forum.

56 00:02:02,480 --> 00:02:03,740 Nej, men däremot så kan vi ju inte säga

57 00:02:03,740 --> 00:02:05,380 att allting går att sälja sig för pengar.

58 00:02:06,500 --> 00:02:08,580 Så det är bara att kasta pengar på oss

59 00:02:08,580 --> 00:02:10,600 så kan vi prata om vad det nu är.

60 00:02:11,520 --> 00:02:12,980 Det finns andra sätt

61 00:02:12,980 --> 00:02:14,680 att blidka panelen.

62 00:02:16,240 --> 00:02:17,680 Man kan till exempel göra som

63 00:02:17,680 --> 00:02:19,140 en okänd välgörare

64 00:02:19,140 --> 00:02:21,240 som helt enkelt spankulerar in

65 00:02:21,240 --> 00:02:22,640 på e-shortkontoret och lämnar det

66 00:02:22,640 --> 00:02:23,820 i en mystisk påse.

67 00:02:24,900 --> 00:02:26,600 Vi har ännu inte lyckats

68 00:02:26,600 --> 00:02:29,100 inspektera den här påsen

69 00:02:29,100 --> 00:02:30,660 eftersom vi är i covid-tider.

70 00:02:30,840 --> 00:02:33,040 Men från en agent på plats

71 00:02:33,040 --> 00:02:35,340 så har jag fått besked om att det innehåller

72 00:02:35,340 --> 00:02:37,800 en sån bryggd

73 00:02:37,800 --> 00:02:39,480 som görs av humle

74 00:02:39,480 --> 00:02:40,360 och vatten och sånt.

75 00:02:40,820 --> 00:02:42,220 Mäktigt. Det låter fröligt.

76 00:02:42,780 --> 00:02:44,380 Så vi ska återkomma med detaljer

77 00:02:44,380 --> 00:02:46,860 när vi har haft möjligheten

78 00:02:46,860 --> 00:02:48,660 att avnjuta de här.

79 00:02:48,960 --> 00:02:50,540 Och sådana handlingar är ju någonting

80 00:02:50,540 --> 00:02:52,700 som lätt gör att

81 00:02:52,700 --> 00:02:54,580 vi hamnar på god fot

82 00:02:54,580 --> 00:02:55,940 med sådana individer.

83 00:02:56,600 --> 00:02:59,160 Definitivt. Det där var ett otroligt bra

84 00:02:59,160 --> 00:03:01,320 initiativ. Ja, det är väldigt fint

85 00:03:01,320 --> 00:03:02,880 när det händer. Det händer ibland.

86 00:03:02,880 --> 00:03:03,400 Det gör det faktiskt.

87 00:03:05,480 --> 00:03:06,600 Det är väldigt roligt.

88 00:03:07,020 --> 00:03:07,860 Vi blir väldigt glada.

89 00:03:08,640 --> 00:03:10,180 Jag kommer ihåg en magnumflaska champagne

90 00:03:10,180 --> 00:03:12,660 och massa god ost och skärp

91 00:03:12,660 --> 00:03:14,820 som också bara dök upp helt random.

92 00:03:15,340 --> 00:03:17,100 Ja, rysk öl och godis.

93 00:03:17,360 --> 00:03:18,180 Ja, det har vi också fått.

94 00:03:18,300 --> 00:03:21,000 Den var ju otroligt märklig, det godiset.

95 00:03:21,420 --> 00:03:22,880 Det var nog bara Peter som tyckte det var fantastiskt.

96 00:03:25,140 --> 00:03:25,620 Men

97 00:03:25,620 --> 00:03:28,440 tack så mycket för det, helt enkelt, kära lyssnare.

98 00:03:29,180 --> 00:03:30,640 Vi uppskattas.

99 00:03:30,960 --> 00:03:32,560 Vi kan väl ta och hoppa

100 00:03:32,560 --> 00:03:34,860 rakt in i den senaste tidens nyheter.

101 00:03:35,440 --> 00:03:36,220 Du kan väl börja, Mattias.

102 00:03:37,660 --> 00:03:38,060 Jajamän.

103 00:03:39,740 --> 00:03:40,520 Dagsfärs, höll jag på att säga.

104 00:03:40,520 --> 00:03:42,580 Jag tror det var igår

105 00:03:42,580 --> 00:03:44,360 eller någonting jag såg. Jag hittade det här på

106 00:03:44,360 --> 00:03:45,500 The Internet.

107 00:03:46,920 --> 00:03:48,480 It caught my eye.

108 00:03:49,360 --> 00:03:50,580 För det var en kille på Twitter

109 00:03:50,580 --> 00:03:52,800 som heter HackerFantastic. Han brukar skriva bra saker.

110 00:03:53,460 --> 00:03:54,760 Så jag tittade på vad det var han höll på

111 00:03:54,760 --> 00:03:55,580 att pilla med och då var det

112 00:03:55,620 --> 00:03:58,580 en CV som heter 2020-14-8-7-1.

113 00:03:59,740 --> 00:04:00,620 Men det var ju bara

114 00:04:00,620 --> 00:04:01,800 början på resan detta då.

115 00:04:02,420 --> 00:04:04,380 Det var ju inte så lätt att det bara var CVn

116 00:04:04,380 --> 00:04:06,660 som var rolig här. CVn är en

117 00:04:06,660 --> 00:04:08,300 PAM, alltså

118 00:04:08,300 --> 00:04:10,820 Plugable Authentication

119 00:04:10,820 --> 00:04:12,380 Module-problematik

120 00:04:12,380 --> 00:04:13,200 i Solaris.

121 00:04:15,800 --> 00:04:16,900 På ett väldigt bra ställe.

122 00:04:18,240 --> 00:04:18,860 Solaris 10

123 00:04:18,860 --> 00:04:20,400 och 11. Och om jag fattar

124 00:04:20,400 --> 00:04:22,460 det hela rätt så, i det här fallet så är det

125 00:04:22,460 --> 00:04:24,420 SSH de har framförallt fokuserat på.

126 00:04:24,500 --> 00:04:25,300 Men jag fattar som att den,

127 00:04:25,620 --> 00:04:27,740 det här var användbart över flera olika protokoll.

128 00:04:28,180 --> 00:04:30,360 Men på sätt och sätt att det har använts

129 00:04:30,360 --> 00:04:31,280 så är det via SSH då.

130 00:04:32,420 --> 00:04:34,560 Och det räcker alltså att du har nätverksaccess

131 00:04:34,560 --> 00:04:36,720 till en sån här burk

132 00:04:36,720 --> 00:04:38,100 som har den här sårbarheten.

133 00:04:38,280 --> 00:04:40,500 Och så kan du oautentiserat ramla rätt in.

134 00:04:41,980 --> 00:04:42,820 Det är

135 00:04:42,820 --> 00:04:43,680 någon

136 00:04:43,680 --> 00:04:45,860 parser som har

137 00:04:45,860 --> 00:04:47,320 en

138 00:04:47,320 --> 00:04:50,120 parameterstorlek på ljusen är in på

139 00:04:50,120 --> 00:04:51,380 bara 512 bytes.

140 00:04:51,980 --> 00:04:54,380 Och så kan du overflowa den buffern då.

141 00:04:54,380 --> 00:04:56,220 Så det är bara smacka in

142 00:04:56,220 --> 00:04:57,700 en massa goa tecken

143 00:04:57,700 --> 00:04:59,600 och så får du ett overflow på det.

144 00:05:00,020 --> 00:05:01,660 Det var lite svårare än så.

145 00:05:01,840 --> 00:05:04,280 Det var lite sån här

146 00:05:04,280 --> 00:05:06,320 NX-flaggor och lite

147 00:05:06,320 --> 00:05:08,560 ASLR

148 00:05:08,560 --> 00:05:10,140 och sånt där också. Men det var en ganska

149 00:05:10,140 --> 00:05:11,880 straightforward enligt uppgift.

150 00:05:13,560 --> 00:05:14,320 Men det var

151 00:05:14,320 --> 00:05:15,860 som sagt bara så det började. Jag tyckte det var

152 00:05:15,860 --> 00:05:18,040 en kul bugg att se mer på.

153 00:05:18,280 --> 00:05:20,420 För SSH, det är ju jobbigt

154 00:05:20,420 --> 00:05:22,400 om det finns unauthenticated bypass

155 00:05:22,400 --> 00:05:22,840 på dem då.

156 00:05:24,380 --> 00:05:26,120 Det var först och främst bara Solaris 10 och 11.

157 00:05:27,340 --> 00:05:28,180 Men hur

158 00:05:28,180 --> 00:05:29,300 hittade man då detta?

159 00:05:31,060 --> 00:05:32,080 Det kom oss

160 00:05:32,080 --> 00:05:34,020 världen till känna genom att

161 00:05:34,020 --> 00:05:36,200 Oracle gick ut med en

162 00:05:36,200 --> 00:05:38,040 monsterpatch som patchade

163 00:05:38,040 --> 00:05:39,880 jag tror det var typ 200

164 00:05:39,880 --> 00:05:42,180 olika säkerhetspatcher eller någonting i Solaris 10 och 11.

165 00:05:42,620 --> 00:05:44,340 Och det här var bara en av dem då.

166 00:05:45,180 --> 00:05:46,520 Och googlar man på den här CVn

167 00:05:46,520 --> 00:05:48,060 så lyckas man hitta att det är

168 00:05:48,060 --> 00:05:50,220 Mandiant som har hittat någonting.

169 00:05:51,700 --> 00:05:52,380 Och de har

170 00:05:52,380 --> 00:05:54,180 spårat en grupp som heter

171 00:05:54,380 --> 00:05:55,680 UNC1945.

172 00:05:56,080 --> 00:05:58,040 Jag har inte lyckats hitta någon attribution

173 00:05:58,040 --> 00:06:00,540 var de kommer ifrån. Men de verkar

174 00:06:00,540 --> 00:06:02,240 vara grymt proffsiga.

175 00:06:03,380 --> 00:06:04,460 De fokuserar

176 00:06:04,460 --> 00:06:06,120 på finansiella

177 00:06:06,120 --> 00:06:08,800 spelare tror jag. Och även telekombolag.

178 00:06:08,900 --> 00:06:10,480 Och just Solaris 10 och 11

179 00:06:10,480 --> 00:06:11,940 då är de experter på. Men de är även

180 00:06:11,940 --> 00:06:13,920 grymt duktiga på Windows-miljöer.

181 00:06:14,560 --> 00:06:16,080 Så att det de var imponerade av

182 00:06:16,080 --> 00:06:18,040 med Mandiant var hur enkelt de rörde sig

183 00:06:18,040 --> 00:06:20,080 mellan olika miljöer. Och hur

184 00:06:20,080 --> 00:06:21,000 förberedda de var.

185 00:06:21,840 --> 00:06:22,880 För olika saker.

186 00:06:24,380 --> 00:06:26,100 I det här fallet så hittade de

187 00:06:26,100 --> 00:06:28,460 eller upptäckte någonting som var UNC1945

188 00:06:28,460 --> 00:06:30,380 liknande. Sent

189 00:06:30,380 --> 00:06:31,280 2018.

190 00:06:32,900 --> 00:06:34,100 Hos en

191 00:06:34,100 --> 00:06:35,520 kund gissar jag på.

192 00:06:36,600 --> 00:06:38,380 Då hade de gått in lite osäkert

193 00:06:38,380 --> 00:06:40,160 i exakt hur. Men via SSH i alla fall.

194 00:06:40,640 --> 00:06:42,540 Kanske redan då via den här

195 00:06:42,540 --> 00:06:44,400 sårbarheten. Men det var lite oklart.

196 00:06:45,000 --> 00:06:46,380 Men de installerade i alla fall en bakdörr.

197 00:06:47,220 --> 00:06:48,200 Och sen använde de den

198 00:06:48,200 --> 00:06:50,040 bakdörren först

199 00:06:50,040 --> 00:06:51,520 i mitten på 2020.

200 00:06:52,520 --> 00:06:54,240 För att bygga lite SSH-pågående.

201 00:06:54,380 --> 00:06:56,020 Port forwarding vidare in i miljön.

202 00:06:56,580 --> 00:06:58,100 Och när de väl kom in där då så

203 00:06:58,100 --> 00:07:00,420 droppade de Evil Sun.

204 00:07:00,760 --> 00:07:02,660 Som då är namnet på den här

205 00:07:02,660 --> 00:07:04,220 CV’en kan man säga.

206 00:07:04,460 --> 00:07:06,060 Eller de droppade en malware

207 00:07:06,060 --> 00:07:07,720 som hade

208 00:07:07,720 --> 00:07:10,640 en Zero Day

209 00:07:10,640 --> 00:07:11,820 som var den här CV

210 00:07:11,820 --> 00:07:13,140 2020-1487.

211 00:07:14,280 --> 00:07:16,000 Och den hade de köpt

212 00:07:16,000 --> 00:07:17,680 på Darknet.

213 00:07:17,840 --> 00:07:19,460 Bara några månader tidigare.

214 00:07:19,680 --> 00:07:20,900 För 3000 dollar.

215 00:07:21,580 --> 00:07:23,900 Det är i alla fall bedömningen. För det fanns då en

216 00:07:24,380 --> 00:07:25,880 SSH

217 00:07:25,880 --> 00:07:26,820 Demon

218 00:07:26,820 --> 00:07:29,780 Authentication Bypass till Salu

219 00:07:29,780 --> 00:07:31,400 för 3000 dollar i april

220 00:07:31,400 --> 00:07:32,740 2020.

221 00:07:33,460 --> 00:07:35,760 Så de bedömde att det var den som de köpte

222 00:07:35,760 --> 00:07:37,640 och inkorporerade då i Evil Sun

223 00:07:37,640 --> 00:07:38,660 och kastade iväg här.

224 00:07:39,900 --> 00:07:42,260 Men det var bara så det började.

225 00:07:42,760 --> 00:07:43,840 För det som var kul med

226 00:07:43,840 --> 00:07:44,720 UNC

227 00:07:44,720 --> 00:07:47,000 1945 var att

228 00:07:47,000 --> 00:07:49,680 deras nästa steg

229 00:07:49,680 --> 00:07:51,540 var att de droppade in

230 00:07:51,540 --> 00:07:53,980 QEMU.

231 00:07:54,380 --> 00:07:55,860 Så den här virtualiseringsmotorn.

232 00:07:56,280 --> 00:07:58,740 Och skickade in en VM där

233 00:07:58,740 --> 00:08:01,360 byggd på Tiny Core Linux

234 00:08:01,360 --> 00:08:03,000 med alla tools

235 00:08:03,000 --> 00:08:04,420 färdigkompilerade som de behövde.

236 00:08:05,800 --> 00:08:06,920 Och utifrån den

237 00:08:06,920 --> 00:08:09,400 så gick de sedan vidare in i nätet.

238 00:08:09,760 --> 00:08:10,960 Så deras metod var

239 00:08:10,960 --> 00:08:12,260 att få ett foothold,

240 00:08:12,900 --> 00:08:15,000 köra en virtuell maskin där med alla dina tools

241 00:08:15,000 --> 00:08:15,900 och springa vidare.

242 00:08:16,840 --> 00:08:18,240 Och det här tyckte Mandiant var…

243 00:08:18,240 --> 00:08:20,100 Inte det är grymt smart.

244 00:08:20,600 --> 00:08:22,120 För då har de verktygen

245 00:08:22,120 --> 00:08:24,340 även om de skulle komma till en arm

246 00:08:24,380 --> 00:08:26,460 server eller vad som helst.

247 00:08:26,940 --> 00:08:28,560 Eftersom de kör allt emulerat.

248 00:08:29,520 --> 00:08:29,920 Exakt.

249 00:08:30,020 --> 00:08:31,400 Och det var här det började bli riktigt roligt.

250 00:08:31,560 --> 00:08:33,300 För att Mandiant tycker att det här är

251 00:08:33,300 --> 00:08:35,440 nästa, the next gen

252 00:08:35,440 --> 00:08:37,760 för hur attackgruppen funkar.

253 00:08:38,960 --> 00:08:40,180 För att förr

254 00:08:40,180 --> 00:08:41,020 in the old days

255 00:08:41,020 --> 00:08:43,760 så tog du in någonstans och så laddade du upp

256 00:08:43,760 --> 00:08:45,300 dina binärer och så körde du dem.

257 00:08:45,400 --> 00:08:47,340 Men då kunde ju någon smart

258 00:08:47,340 --> 00:08:49,740 blue team detektera de här binärerna

259 00:08:49,740 --> 00:08:51,060 när de kom in. Så det var ingen bra.

260 00:08:51,900 --> 00:08:53,980 Så för ett par år sedan så bildades stränden

261 00:08:54,380 --> 00:08:56,060 living off the land.

262 00:08:56,340 --> 00:08:57,760 Du jobbar bara med local tools

263 00:08:57,760 --> 00:09:00,000 som finns i miljön redan. Typiskt PowerShell.

264 00:09:00,900 --> 00:09:02,180 Men nu har ju då

265 00:09:02,180 --> 00:09:03,800 blue teams blivit så bra så att de

266 00:09:03,800 --> 00:09:06,300 detekterar när man kör PowerShell på läskiga saker.

267 00:09:06,940 --> 00:09:07,960 Så under 2018

268 00:09:07,960 --> 00:09:09,100 så kom

269 00:09:09,100 --> 00:09:12,340 attackarkitekturen

270 00:09:12,340 --> 00:09:14,700 bring your own land

271 00:09:14,700 --> 00:09:16,560 som var baserat på

272 00:09:16,560 --> 00:09:18,200 .NET assemblies

273 00:09:18,200 --> 00:09:19,440 som körde i minnet.

274 00:09:19,800 --> 00:09:21,960 Så det tyckte de var det. Du tar med dig dina tools

275 00:09:21,960 --> 00:09:24,360 men inte som binärer och du kör dem bara i minnet.

276 00:09:24,380 --> 00:09:25,880 Det var det coola. Och det här

277 00:09:25,880 --> 00:09:28,220 år 2020 är nu nästa steg.

278 00:09:28,640 --> 00:09:30,260 Bring your own island.

279 00:09:30,820 --> 00:09:32,280 Det vill säga en VM som kör

280 00:09:32,280 --> 00:09:33,320 in i QEMU.

281 00:09:35,420 --> 00:09:36,560 Så att man kan säga

282 00:09:36,560 --> 00:09:38,380 jag har aldrig läst en sån

283 00:09:38,920 --> 00:09:42,040 en rapport som har så mycket

284 00:09:42,040 --> 00:09:43,960 lovord för sin motståndare som

285 00:09:43,960 --> 00:09:46,300 Mandians rapport om just UNC 1945.

286 00:09:46,840 --> 00:09:48,480 De trycker flera gånger på hur sjukt

287 00:09:48,480 --> 00:09:49,680 duktiga och proffsiga de är.

288 00:09:50,180 --> 00:09:52,340 Hur välbyggda miljöerna är

289 00:09:52,340 --> 00:09:53,440 och hur snyggt de har tagit sig fram.

290 00:09:54,380 --> 00:09:56,380 Mandiant har inte lyckats lista ut

291 00:09:56,380 --> 00:09:57,700 på vad målet var.

292 00:09:58,160 --> 00:09:59,800 De exfiltrerade lite klient

293 00:09:59,800 --> 00:10:02,620 credentials och sånt men vad de kunde se

294 00:10:02,620 --> 00:10:04,480 så var det ingen data de skickade vidare.

295 00:10:05,600 --> 00:10:06,300 Så antingen är

296 00:10:06,300 --> 00:10:08,440 UNC 1945 så jävla bra som

297 00:10:08,440 --> 00:10:10,420 Mandiant inte ens har upptäckt det eller så har de

298 00:10:10,420 --> 00:10:12,320 bara än så länge gjort lite recon.

299 00:10:13,000 --> 00:10:14,880 På ett mål som de har varit inne på

300 00:10:14,880 --> 00:10:16,820 så upptäcktes

301 00:10:16,820 --> 00:10:17,540 ransomware

302 00:10:17,540 --> 00:10:20,420 av en känd sträng men deras bedömning

303 00:10:20,420 --> 00:10:22,340 är att det var inte UNC 1945

304 00:10:22,340 --> 00:10:24,380 som gjorde det utan förmodligen så var UNC 1945

305 00:10:24,380 --> 00:10:26,040 färdiga med det målet

306 00:10:26,040 --> 00:10:28,240 och sålde accessen vidare till någon annan.

307 00:10:28,840 --> 00:10:30,300 Men det här är ju spekulation

308 00:10:30,300 --> 00:10:30,760 givetvis.

309 00:10:32,500 --> 00:10:34,560 Så det om det

310 00:10:34,560 --> 00:10:35,960 jag tror inte jag hade någonting

311 00:10:35,960 --> 00:10:38,280 mer att säga om den egentligen

312 00:10:38,280 --> 00:10:39,420 faktiskt.

313 00:10:40,520 --> 00:10:41,960 Jag är inte

314 00:10:41,960 --> 00:10:44,020 superduktig på hur PAM

315 00:10:44,020 --> 00:10:46,160 funkar. Är det någon som vet det bättre än mig?

316 00:10:47,300 --> 00:10:48,300 Alltså jag kan säga

317 00:10:48,300 --> 00:10:50,620 något korkat om du har en fråga.

318 00:10:50,640 --> 00:10:51,780 Ja men det är exakt samma idé.

319 00:10:52,680 --> 00:10:53,840 Hur funkar det?

320 00:10:54,380 --> 00:10:55,980 Jag såg till exempel att det här bara funkade

321 00:10:55,980 --> 00:10:57,580 när man körde Keyboard Interactive.

322 00:10:58,040 --> 00:10:58,580 Vad fan är det?

323 00:11:00,240 --> 00:11:01,680 Keyboard Interactive är att du

324 00:11:01,680 --> 00:11:03,840 är Keyboard Interactive så är det att du får

325 00:11:03,840 --> 00:11:05,940 snacka med tangentbordet.

326 00:11:07,940 --> 00:11:09,880 För du kan logga in i SSO

327 00:11:09,880 --> 00:11:10,740 antingen

328 00:11:10,740 --> 00:11:13,900 med nyckel eller med

329 00:11:13,900 --> 00:11:16,420 lösenord eller Keyboard Interactive

330 00:11:16,420 --> 00:11:17,180 då du

331 00:11:17,180 --> 00:11:19,280 kopplar in en

332 00:11:19,280 --> 00:11:22,260 alltså vad du gör på tangentbordet

333 00:11:22,260 --> 00:11:24,260 går vidare in till inloggningssystemet.

334 00:11:24,380 --> 00:11:26,180 Ja du menar du skickar

335 00:11:26,180 --> 00:11:28,040 inte med allting i första

336 00:11:28,040 --> 00:11:30,000 kommandoraden utan du jobbar

337 00:11:30,000 --> 00:11:31,380 interaktivt mot demonen.

338 00:11:33,560 --> 00:11:35,960 När du ska mata in lösenordet.

339 00:11:36,420 --> 00:11:38,200 Variant ett är att du skjuter över

340 00:11:38,200 --> 00:11:40,360 lösenordet över SSO-protokollet.

341 00:11:41,220 --> 00:11:41,400 Ja.

342 00:11:41,840 --> 00:11:43,860 Variant två är att du

343 00:11:43,860 --> 00:11:45,080 typ har

344 00:11:45,080 --> 00:11:48,200 typ telnet liknande terminal

345 00:11:48,200 --> 00:11:50,300 eller vad man ska säga. Du interaktivt matar

346 00:11:50,300 --> 00:11:51,960 in tangentbordet

347 00:11:51,960 --> 00:11:52,920 in i andra sidan.

348 00:11:52,920 --> 00:11:53,400 Ja.

349 00:11:54,380 --> 00:11:57,380 Så det är två olika sätt att mata in lösenordet

350 00:11:57,380 --> 00:11:58,920 över SSO som

351 00:11:58,920 --> 00:12:00,880 krigande standarder.

352 00:12:01,620 --> 00:12:02,640 Och även de här

353 00:12:02,640 --> 00:12:04,660 PAM-modulerna går ju att plugga till andra saker

354 00:12:04,660 --> 00:12:05,800 så du kan ju ha en annan

355 00:12:05,800 --> 00:12:08,900 autorisationsdel i en PAM-modul till exempel.

356 00:12:10,380 --> 00:12:11,340 Så det kan vara någon annan

357 00:12:11,340 --> 00:12:12,920 som säger att det är okej.

358 00:12:13,940 --> 00:12:14,720 Beroende på hur din

359 00:12:14,720 --> 00:12:16,640 SSO-konfiguration ser ut. Det vill säga att du kanske har

360 00:12:16,640 --> 00:12:18,860 en multifaktor-pryl

361 00:12:18,860 --> 00:12:19,960 eller att du har en

362 00:12:19,960 --> 00:12:22,360 sammel-authentication

363 00:12:22,360 --> 00:12:24,180 eller att du har någon OAuth-pryl.

364 00:12:24,380 --> 00:12:26,100 Så det går ju att plugga i lite

365 00:12:26,100 --> 00:12:26,680 hur man vill.

366 00:12:27,080 --> 00:12:29,140 Ja, en vanlig variant är väl typ

367 00:12:29,140 --> 00:12:31,600 om du har en fjärrindloggning

368 00:12:31,600 --> 00:12:34,220 eller typ ett Microsoft

369 00:12:34,220 --> 00:12:35,740 AD eller något motsvarande

370 00:12:35,740 --> 00:12:38,420 så finns ju inte lösenordet

371 00:12:38,420 --> 00:12:40,260 på servern och då behöver du en

372 00:12:40,980 --> 00:12:42,340 PAM-modul för att länka ihop

373 00:12:42,340 --> 00:12:44,260 det i många Unix-distributioner.

374 00:12:45,480 --> 00:12:45,580 Ja.

375 00:12:45,980 --> 00:12:47,940 Så PAM-modulen är bara ett API

376 00:12:47,940 --> 00:12:50,140 för hur du skriver en

377 00:12:50,140 --> 00:12:52,560 Linux-motsvarigheten

378 00:12:52,560 --> 00:12:54,220 till en del L-filer som

379 00:12:54,220 --> 00:12:56,260 förstås av inloggningssystemet.

380 00:12:57,800 --> 00:12:58,260 För intresserade

381 00:12:59,000 --> 00:13:00,200 lyssnare så kan jag meddela åt

382 00:13:00,200 --> 00:13:02,460 det här var ju då, under Keyboard Interactive

383 00:13:02,460 --> 00:13:03,820 så körde de då PAM

384 00:13:03,820 --> 00:13:05,880 underscore SM underscore

385 00:13:05,880 --> 00:13:07,800 authenticate och den i sin tur kallar

386 00:13:07,800 --> 00:13:10,380 PAM get user som i sin tur kallar

387 00:13:10,380 --> 00:13:12,480 parse user name

388 00:13:12,480 --> 00:13:13,940 och det var där det gick dåligt då.

389 00:13:15,560 --> 00:13:16,320 De nämnde

390 00:13:16,320 --> 00:13:18,100 att det här var Multiple Protocols

391 00:13:18,100 --> 00:13:20,100 så det är inte bara SSH som

392 00:13:20,100 --> 00:13:22,240 kan göra, kasta in

393 00:13:22,240 --> 00:13:23,960 PAM-moduler i sin auth-stream då

394 00:13:23,960 --> 00:13:24,360 visar jag på.

395 00:13:24,360 --> 00:13:25,960 Men det är väl förmodligen den

396 00:13:25,960 --> 00:13:28,300 overflowen finns väl tillgänglig

397 00:13:28,300 --> 00:13:30,220 på fysisystemet och används säkert

398 00:13:30,220 --> 00:13:32,520 av andra demoner också.

399 00:13:32,960 --> 00:13:34,780 Ja men telnet och konsolen

400 00:13:34,780 --> 00:13:35,680 och allt möjligt

401 00:13:35,680 --> 00:13:38,860 ändrar du ur default-PAM-inställningen

402 00:13:38,860 --> 00:13:39,980 så är det ju alla

403 00:13:39,980 --> 00:13:42,360 normala inloggningar till systemet.

404 00:13:43,400 --> 00:13:44,680 Om det nu är exakt

405 00:13:44,680 --> 00:13:46,420 den, för det finns ju flera men vi har ju inte

406 00:13:46,420 --> 00:13:48,360 läst i detalj men det verkar rimligt.

407 00:13:48,600 --> 00:13:48,840 Absolut.

408 00:13:51,840 --> 00:13:52,120 Gött.

409 00:13:52,120 --> 00:13:53,160 Så är det med det.

410 00:13:53,960 --> 00:13:56,340 Så om ni kör Solaris 10.11

411 00:13:56,340 --> 00:13:58,100 speciellt exponerat mot internet

412 00:13:58,100 --> 00:13:59,840 så patcha för helvete

413 00:13:59,840 --> 00:14:01,520 Oracles oktoberpatch.

414 00:14:02,160 --> 00:14:03,520 Ja det finns en patch redan.

415 00:14:04,400 --> 00:14:06,980 Ja, den kommer i oktober så det är coolt.

416 00:14:09,580 --> 00:14:11,040 Spännande, det lät intressant.

417 00:14:11,720 --> 00:14:12,940 På CVR

418 00:14:12,940 --> 00:14:14,280 så har jag två stycken

419 00:14:14,280 --> 00:14:15,480 jag skulle kunna prata om.

420 00:14:16,000 --> 00:14:17,280 Tycker jag att du ska göra det.

421 00:14:17,420 --> 00:14:19,560 Jag sa till de andra att jag skulle prata om en

422 00:14:19,560 --> 00:14:22,160 men sen hittade jag en till som var ännu mer spännande.

423 00:14:22,720 --> 00:14:23,940 Den här är gammal.

424 00:14:23,960 --> 00:14:25,480 Den kommer i juli tror jag.

425 00:14:25,640 --> 00:14:28,020 Vi borde ha pratat om den här men med vetningen

426 00:14:28,020 --> 00:14:30,160 så har vi inte pratat

427 00:14:30,160 --> 00:14:31,440 om Cigared

428 00:14:31,440 --> 00:14:32,260 CVE

429 00:14:32,260 --> 00:14:36,040 2020-1350.

430 00:14:37,740 --> 00:14:39,760 Nej, det är ingen e-klocka från podden.

431 00:14:42,180 --> 00:14:44,420 För 17 år sedan så implementerade

432 00:14:44,420 --> 00:14:45,880 man ju DNS-säck

433 00:14:45,880 --> 00:14:47,180 i Windows.

434 00:14:47,520 --> 00:14:50,120 DNS-säck är ju bra för det gör ju världen säker.

435 00:14:50,920 --> 00:14:52,000 Så du får säkerhet.

436 00:14:52,000 --> 00:14:53,920 Så då är vi överens om DNS-säck.

437 00:14:53,960 --> 00:14:56,260 DNS-säck är bra och det finns inga

438 00:14:56,260 --> 00:14:57,580 som helst problem att implementera.

439 00:14:58,960 --> 00:15:00,420 Det är inte samma sak alltid.

440 00:15:02,060 --> 00:15:04,420 Jag ser vart vi är på väg här.

441 00:15:04,440 --> 00:15:06,040 Microsoft själva har väl sagt

442 00:15:06,040 --> 00:15:12,280 security functions

443 00:15:12,280 --> 00:15:13,600 are not secure functions.

444 00:15:13,740 --> 00:15:14,460 Eller vad är det de brukar säga?

445 00:15:15,360 --> 00:15:15,740 Japp.

446 00:15:17,580 --> 00:15:19,840 Så tydligen kunde man skriva en liten kul

447 00:15:19,840 --> 00:15:22,020 DNS-fråga som då

448 00:15:22,020 --> 00:15:23,780 genom att studsa runt i lite

449 00:15:23,780 --> 00:15:25,780 olika delar inne i Windows

450 00:15:25,780 --> 00:15:27,820 kunde bli en

451 00:15:27,820 --> 00:15:28,520 buffer overflow.

452 00:15:30,520 --> 00:15:31,040 Klassisk

453 00:15:31,040 --> 00:15:33,800 sån här Windows

454 00:15:33,800 --> 00:15:34,900 och Linux sårbarhet.

455 00:15:35,040 --> 00:15:37,520 Men det finns någonting som är ännu mer fint

456 00:15:37,520 --> 00:15:39,780 med den här. Bortsett från att det är en sårbarhet

457 00:15:39,780 --> 00:15:41,360 i

458 00:15:41,360 --> 00:15:43,660 DNS-säck som är

459 00:15:43,660 --> 00:15:46,080 en viktig säkerhetsfunktion

460 00:15:46,080 --> 00:15:47,720 och som vi försöker

461 00:15:47,720 --> 00:15:48,460 för alla att köra.

462 00:15:50,720 --> 00:15:51,780 Och att det är roligt

463 00:15:51,780 --> 00:15:53,440 med säkerhetshåll inne i sånt.

464 00:15:53,780 --> 00:15:56,520 Och det är

465 00:15:56,520 --> 00:15:57,840 till och med så att vi skulle kunna säga

466 00:15:57,840 --> 00:16:00,180 att Bill Gates

467 00:16:00,180 --> 00:16:02,420 personligen är ansvarig

468 00:16:02,420 --> 00:16:03,240 för det här hålet.

469 00:16:04,080 --> 00:16:05,220 Det är nämligen så att

470 00:16:05,220 --> 00:16:08,360 om din

471 00:16:08,360 --> 00:16:10,920 DNS-säcksignatur

472 00:16:10,920 --> 00:16:12,520 är större än 64

473 00:16:12,520 --> 00:16:14,380 kilobytes så får du en buffer overflow.

474 00:16:15,100 --> 00:16:16,180 Och vi vet ju att

475 00:16:16,180 --> 00:16:18,420 det var Bill Gates som sa till folket

476 00:16:18,420 --> 00:16:19,560 att

477 00:16:19,560 --> 00:16:22,420 640 kanske han sa.

478 00:16:22,420 --> 00:16:23,220 Men han sa att 64

479 00:16:23,780 --> 00:16:25,480 kilobyte och en nolla där

480 00:16:25,480 --> 00:16:26,880 är återbeen off for everyone.

481 00:16:27,640 --> 00:16:29,800 Så jag tror att någon lyssnade för noga

482 00:16:29,800 --> 00:16:32,140 på Bill Gates när han kodade

483 00:16:32,140 --> 00:16:33,680 och då införde att

484 00:16:33,680 --> 00:16:35,340 bara 64 kilobyte ska räcka.

485 00:16:36,300 --> 00:16:37,680 Ja, men det låter som

486 00:16:37,680 --> 00:16:38,840 en rimligt antagande.

487 00:16:38,920 --> 00:16:41,560 Det är en stark tes jag för här va?

488 00:16:42,000 --> 00:16:42,780 Mm, det känner jag.

489 00:16:43,240 --> 00:16:45,560 Jag håller på och funderar på

490 00:16:45,560 --> 00:16:47,420 någonting och så där.

491 00:16:47,540 --> 00:16:48,680 Och så tänkte jag säga till folket

492 00:16:48,680 --> 00:16:52,060 att implementera DNS-säck

493 00:16:52,060 --> 00:16:53,440 då så har ni

494 00:16:53,780 --> 00:16:54,900 säkerhet på en DNS.

495 00:16:56,060 --> 00:16:57,220 Och så

496 00:16:57,220 --> 00:17:00,040 började jag liksom såhär, någonstans där

497 00:17:00,040 --> 00:17:01,400 så tror jag, tänkte såhär

498 00:17:01,400 --> 00:17:03,600 tänk vad roligt om det skulle finnas

499 00:17:03,600 --> 00:17:06,240 ett säkerhetshål i DNS-säck.

500 00:17:06,780 --> 00:17:07,240 Och typ bara

501 00:17:07,240 --> 00:17:09,680 skrev in typ DNS-säck, CVE

502 00:17:09,680 --> 00:17:12,200 eller någonting. Och så kom jag till den här

503 00:17:12,200 --> 00:17:13,040 och den är liksom

504 00:17:13,040 --> 00:17:14,720 den är från i år

505 00:17:14,720 --> 00:17:17,180 och den liksom

506 00:17:17,180 --> 00:17:20,000 den fet tog jag över

507 00:17:20,000 --> 00:17:21,800 Windows helt och hållet tydligen.

508 00:17:22,900 --> 00:17:23,440 Jag hinner aldrig.

509 00:17:23,780 --> 00:17:25,060 Nästa fråga där litegrann, det var

510 00:17:25,060 --> 00:17:27,700 vilken buffer var det som var overflowade

511 00:17:27,700 --> 00:17:28,360 och vad hände sen?

512 00:17:29,720 --> 00:17:32,200 Det är någonting inne i

513 00:17:32,200 --> 00:17:35,000 sigwire read-funktionen

514 00:17:35,000 --> 00:17:36,400 har en sub-function

515 00:17:36,400 --> 00:17:38,400 som kod rrallocateex

516 00:17:39,060 --> 00:17:40,260 som gör

517 00:17:40,260 --> 00:17:41,280 någonting med

518 00:17:41,280 --> 00:17:43,600 den gamla sub-funktionen.

519 00:17:44,600 --> 00:17:46,600 Men i vilket kontext är det här då?

520 00:17:46,680 --> 00:17:47,980 Är det i en fråga?

521 00:17:48,220 --> 00:17:49,940 Eller är det alltså…

522 00:17:49,940 --> 00:17:52,400 Nej, jag tror att du äger DNS-resolven

523 00:17:52,400 --> 00:17:54,060 om jag har fattat rätt.

524 00:17:54,380 --> 00:17:58,220 Så när en SIG

525 00:17:58,220 --> 00:17:59,840 som är en Signature Record

526 00:17:59,840 --> 00:18:02,480 ska parsas så går Windows sönder.

527 00:18:04,180 --> 00:18:05,200 Det låter obra.

528 00:18:05,700 --> 00:18:06,740 Det låter obra, va?

529 00:18:07,540 --> 00:18:08,600 Det tycker jag verkligen.

530 00:18:09,580 --> 00:18:11,540 Ni hörde det här först. Typiskt obra.

531 00:18:12,040 --> 00:18:13,940 Så du får en

532 00:18:13,940 --> 00:18:16,380 overflow i dns.exe

533 00:18:16,380 --> 00:18:17,620 och lite annat sådär.

534 00:18:20,280 --> 00:18:22,380 Vi borde ju ha rapporterat om den här

535 00:18:22,400 --> 00:18:24,400 i juli, men jag tyckte i varje fall att

536 00:18:24,400 --> 00:18:26,360 när jag av en tillfällighet

537 00:18:26,360 --> 00:18:28,520 snubblade över den här så tyckte jag att det var för roligt.

538 00:18:28,980 --> 00:18:30,360 Jag tror vi var sommarlediga då.

539 00:18:30,960 --> 00:18:32,440 Ah, det kan vara en sakning jag har där.

540 00:18:32,440 --> 00:18:34,560 Nej, så den

541 00:18:34,560 --> 00:18:35,980 tyckte jag var hysteriskt rolig.

542 00:18:36,480 --> 00:18:38,160 Sen på…

543 00:18:38,160 --> 00:18:40,140 Det som jag hade tänkt

544 00:18:40,140 --> 00:18:42,500 säga någonting om, det var ju

545 00:18:42,500 --> 00:18:44,340 egentligen då det mycket tråkigare

546 00:18:44,340 --> 00:18:45,160 CV

547 00:18:45,160 --> 00:18:47,020 2020

548 00:18:47,020 --> 00:18:50,640 16898. Och nu efter att ha pratat

549 00:18:50,640 --> 00:18:52,200 om den här andra så vet jag inte om jag har

550 00:18:52,200 --> 00:18:53,460 klarat av att prata om något som är

551 00:18:53,460 --> 00:18:55,620 så mycket mindre roligt, men

552 00:18:55,620 --> 00:18:57,900 den här är ändå lite rolig för att

553 00:18:57,900 --> 00:18:58,940 kommer ni ihåg

554 00:18:58,940 --> 00:19:02,240 typ på Windows-tiden och så

555 00:19:02,240 --> 00:19:04,340 man hade en speciell

556 00:19:04,340 --> 00:19:06,200 ping som man kunde skicka ut och sen

557 00:19:06,200 --> 00:19:08,340 dog alla Windows XP-maskiner

558 00:19:08,340 --> 00:19:09,780 och sådär. Ping of Death?

559 00:19:10,020 --> 00:19:12,440 Ja, Blue Screen of Death-pingen

560 00:19:12,440 --> 00:19:13,200 och sådär liksom.

561 00:19:13,440 --> 00:19:15,420 Det var ju snor länge sedan.

562 00:19:15,780 --> 00:19:17,920 Ja, men den är ett lus igen.

563 00:19:18,800 --> 00:19:19,640 It’s back.

564 00:19:20,180 --> 00:19:22,160 Vi har en ny CV då du

565 00:19:22,200 --> 00:19:24,060 för vi har ju fått en ny till

566 00:19:24,060 --> 00:19:26,180 IP-stack som heter IPv6

567 00:19:26,180 --> 00:19:27,880 och den ska ju få in stöd igen.

568 00:19:28,100 --> 00:19:30,100 Så det här hålet

569 00:19:30,100 --> 00:19:31,960 som Microsoft liksom

570 00:19:31,960 --> 00:19:33,860 hade så jäkla svårt att få bort från

571 00:19:33,860 --> 00:19:36,120 de hade väl Ping of Death i

572 00:19:36,120 --> 00:19:38,780 typ någon supergammal

573 00:19:38,780 --> 00:19:40,440 Windows-version och sen återuppfann

574 00:19:40,440 --> 00:19:42,240 den i Windows 98

575 00:19:42,240 --> 00:19:43,500 och sen återuppfann de i XP.

576 00:19:44,660 --> 00:19:46,200 Men den lever igen nu.

577 00:19:46,340 --> 00:19:48,280 Den finns på moderna Windows-datorer.

578 00:19:48,780 --> 00:19:50,000 På IPv6.

579 00:19:51,060 --> 00:19:52,180 Vilken CV var det?

580 00:19:52,200 --> 00:19:55,200 Där sa du 20-20-16-8-9-8.

581 00:19:55,380 --> 00:19:56,280 Ja, kan du dem inte

582 00:19:56,280 --> 00:19:56,820 utan till?

583 00:19:58,300 --> 00:20:00,420 Men för övrigt, vi slänger oss

584 00:20:00,420 --> 00:20:02,500 med sådana coola ord. Vad står CV för?

585 00:20:03,140 --> 00:20:04,220 De omställda lyssnarna som

586 00:20:04,220 --> 00:20:06,120 inte vet. Är det typ

587 00:20:06,120 --> 00:20:08,260 Common Vulnerability Enumeration

588 00:20:08,260 --> 00:20:09,740 eller? Jajamensan. Nej.

589 00:20:10,020 --> 00:20:11,840 Common Vulnerabilities and Exposures.

590 00:20:12,520 --> 00:20:13,460 Är det så? Okej.

591 00:20:15,620 --> 00:20:17,620 Men välkända sårbarheter

592 00:20:17,620 --> 00:20:18,680 på svenska.

593 00:20:18,680 --> 00:20:18,780 Ja.

594 00:20:20,460 --> 00:20:20,860 Yes.

595 00:20:22,200 --> 00:20:23,340 Var du klar med den där, Peter?

596 00:20:23,980 --> 00:20:25,920 Ja, om du inte ställer någon

597 00:20:25,920 --> 00:20:28,480 smart fråga till mig som jag kanske

598 00:20:28,480 --> 00:20:30,280 kan fuskläsa mig någonting till.

599 00:20:30,820 --> 00:20:32,520 Men du, var detta den här?

600 00:20:32,740 --> 00:20:34,420 Ja, det var någon ICMP-grej, va?

601 00:20:34,700 --> 00:20:35,200 Var det inte det?

602 00:20:35,440 --> 00:20:38,000 Ja, alltså det är verkligen i

603 00:20:38,000 --> 00:20:40,200 jag tror verkligen det är i

604 00:20:40,200 --> 00:20:41,480 ping-paketen de här

605 00:20:41,480 --> 00:20:44,100 echo-request och så

606 00:20:44,100 --> 00:20:45,640 tror jag, men jag

607 00:20:45,640 --> 00:20:48,020 har inte så koll.

608 00:20:48,720 --> 00:20:50,020 Jag för mig att jag läste

609 00:20:50,020 --> 00:20:51,400 den här. Hur fan kunde jag glömma den?

610 00:20:52,200 --> 00:20:52,600 Mäktig.

611 00:20:53,860 --> 00:20:55,760 Men vi går vidare. Jag tänkte nämligen på

612 00:20:55,760 --> 00:20:58,480 en grej du sa där med secure functions

613 00:20:58,480 --> 00:21:00,240 eller, ja, vad du nu sa.

614 00:21:00,840 --> 00:21:02,960 Security functions are not secure functions.

615 00:21:03,240 --> 00:21:04,780 Ja, och då kommer jag på

616 00:21:04,780 --> 00:21:06,800 att man kan ju anpassa det

617 00:21:06,800 --> 00:21:08,300 genom att säga att security companies

618 00:21:08,300 --> 00:21:09,560 are not secure companies.

619 00:21:10,460 --> 00:21:12,220 Oh, nu var du taskig.

620 00:21:12,760 --> 00:21:14,540 Ja, men det visade sig ju vara

621 00:21:14,540 --> 00:21:16,220 sant i fallet

622 00:21:16,220 --> 00:21:17,560 Gunnebo Group.

623 00:21:19,740 --> 00:21:20,960 Som ni kanske känner till.

624 00:21:20,960 --> 00:21:21,900 Vi, jag,

625 00:21:22,200 --> 00:21:23,720 har ju definitivt sett deras logga

626 00:21:23,720 --> 00:21:24,880 vid tillfälle.

627 00:21:26,600 --> 00:21:28,060 Har ni koll på vilka Gunnebo är?

628 00:21:28,500 --> 00:21:30,700 Ja. Fysisk säkerhet,

629 00:21:30,800 --> 00:21:31,500 staket och grind.

630 00:21:31,980 --> 00:21:34,500 Precis. De är en stor

631 00:21:34,500 --> 00:21:36,720 spelare. Finns i 25 länder.

632 00:21:37,260 --> 00:21:38,240 Över 4 000

633 00:21:38,240 --> 00:21:39,580 anställda och så vidare.

634 00:21:41,080 --> 00:21:42,620 De har haft en dålig dag på jobbet.

635 00:21:42,980 --> 00:21:44,700 Ja, de blev lite ägda.

636 00:21:46,180 --> 00:21:46,780 Men inte

637 00:21:46,780 --> 00:21:48,440 av någon fräck DNS-säck.

638 00:21:49,320 --> 00:21:51,480 Nej, men vi kommer till det.

639 00:21:51,560 --> 00:21:52,160 Men det var så,

640 00:21:52,200 --> 00:21:54,300 att Brian Krebs

641 00:21:54,300 --> 00:21:56,360 var såklart involverad

642 00:21:56,360 --> 00:21:56,700 i det här.

643 00:21:58,420 --> 00:22:00,140 Han fick något tips från en firma som heter

644 00:22:00,140 --> 00:22:01,520 Hold Security och

645 00:22:01,520 --> 00:22:03,800 försökte sedan få tag på

646 00:22:03,800 --> 00:22:06,100 Gunnebo. Det var nämligen så att de hade

647 00:22:06,100 --> 00:22:08,640 sett en finansiell transaktion

648 00:22:08,640 --> 00:22:10,000 mellan en känd

649 00:22:10,000 --> 00:22:12,380 ondskefull hacker

650 00:22:12,380 --> 00:22:14,500 och en cybercrime-grupp

651 00:22:14,500 --> 00:22:16,660 som rörde

652 00:22:16,660 --> 00:22:18,140 Gunnebo. Detta var

653 00:22:18,140 --> 00:22:20,060 i mars. Eller i mars

654 00:22:20,060 --> 00:22:21,940 snarare så fick han tag på Gunnebo.

655 00:22:22,200 --> 00:22:23,940 Det här är lite kul, för när det här

656 00:22:23,940 --> 00:22:25,880 exploderade på Twitter för

657 00:22:25,880 --> 00:22:28,200 kanske en vecka sedan ungefär

658 00:22:28,200 --> 00:22:30,240 när vi spelade in detta, så

659 00:22:30,240 --> 00:22:32,220 gick jag tillbaka till

660 00:22:32,220 --> 00:22:34,420 i Twitter till mina mentions

661 00:22:34,420 --> 00:22:36,360 i mars. Då var det bland annat

662 00:22:36,360 --> 00:22:38,740 Brian Krebs som sökte

663 00:22:38,740 --> 00:22:40,520 någon som kanske hade en kontakt

664 00:22:40,520 --> 00:22:41,780 på Gunnebo i Sverige

665 00:22:41,780 --> 00:22:43,780 där jag bland annat var ärtad.

666 00:22:44,720 --> 00:22:45,740 Men det missade jag.

667 00:22:46,900 --> 00:22:48,440 Sen kände inte jag någon på Gunnebo heller

668 00:22:48,440 --> 00:22:49,860 så det hade varit poänglöst, men lite kul.

669 00:22:50,660 --> 00:22:51,780 Så du är ansvarig,

670 00:22:52,200 --> 00:22:53,780 för allt hemskt som har hänt

671 00:22:53,780 --> 00:22:56,860 i den kontentan då. Det var ditt fel på det hela taget.

672 00:22:57,320 --> 00:22:58,320 Han fick tag i dem på

673 00:22:58,320 --> 00:22:58,940 en annan person.

674 00:22:58,940 --> 00:23:02,200 Eller var det så att du hade något att dölja så därför valde du

675 00:23:02,200 --> 00:23:03,040 att inte svara?

676 00:23:05,680 --> 00:23:06,080 Avslöjad!

677 00:23:06,640 --> 00:23:08,540 I can neither confirm nor deny.

678 00:23:11,080 --> 00:23:12,660 Men i alla fall, det var ju så att

679 00:23:12,660 --> 00:23:14,780 de blev lite ägda helt enkelt.

680 00:23:14,780 --> 00:23:16,720 Och de fick en hel del

681 00:23:16,720 --> 00:23:17,700 information stulen.

682 00:23:18,360 --> 00:23:20,680 När man bestämt 38 000 dokument.

683 00:23:21,320 --> 00:23:22,160 Och det här är ju

684 00:23:22,200 --> 00:23:23,200 lite allt möjligt.

685 00:23:23,200 --> 00:23:25,280 Det är allt från ritningar

686 00:23:25,280 --> 00:23:26,960 till finansiella dokument

687 00:23:26,960 --> 00:23:30,500 till så här, var är våra övervakningskameror placerade?

688 00:23:30,500 --> 00:23:31,900 Hur ser det här bankvalvet ut?

689 00:23:31,900 --> 00:23:32,900 Och så vidare, och så vidare.

690 00:23:34,400 --> 00:23:35,780 För en massa olika kunder då.

691 00:23:36,960 --> 00:23:39,320 Och det är ju kanske inte skitbra.

692 00:23:40,500 --> 00:23:41,120 Kan man väl säga.

693 00:23:41,120 --> 00:23:44,120 Gunnebo har haft en dålig,

694 00:23:44,120 --> 00:23:45,120 ett par dåliga veckor.

695 00:23:45,700 --> 00:23:47,540 Och framförallt så är det ju pinsamt då

696 00:23:47,540 --> 00:23:51,440 när det kom ut hur det här intrånget skedde.

697 00:23:52,200 --> 00:23:53,480 Nämligen så att

698 00:23:53,480 --> 00:23:55,520 det var RDP

699 00:23:55,520 --> 00:23:56,660 mot internet.

700 00:23:57,220 --> 00:23:59,460 Med det fantastiska lösnordet

701 00:23:59,460 --> 00:24:01,240 password 01.

702 00:24:02,200 --> 00:24:02,520 Ja.

703 00:24:03,900 --> 00:24:04,820 Det är helt otroligt.

704 00:24:05,440 --> 00:24:07,140 Det är verifierat att det var så det gick till?

705 00:24:07,980 --> 00:24:08,540 Ja.

706 00:24:09,340 --> 00:24:10,200 Och det är ju inte

707 00:24:10,200 --> 00:24:13,540 security companies

708 00:24:13,540 --> 00:24:14,540 eller något security companies.

709 00:24:14,680 --> 00:24:15,560 Helt tydligt.

710 00:24:16,240 --> 00:24:17,520 Sen var det väl också så att

711 00:24:17,520 --> 00:24:20,060 den dumpen då som

712 00:24:20,060 --> 00:24:21,440 läckte.

713 00:24:22,200 --> 00:24:25,280 Den låg väl på Mega-sajten helt öppen

714 00:24:25,280 --> 00:24:27,320 i flera veckor innan någon plockade bort den.

715 00:24:27,320 --> 00:24:28,600 Flera månader till och med tror jag.

716 00:24:28,600 --> 00:24:29,120 Ja.

717 00:24:29,120 --> 00:24:32,180 Det var någon som var inne.

718 00:24:32,180 --> 00:24:34,480 Jag var inne och kollade runt lite på Darkweb häromdagen.

719 00:24:34,480 --> 00:24:37,300 Och kikade på en sajt där det brukar läggas upp sådana dumpar.

720 00:24:37,560 --> 00:24:40,640 Och där fanns det då en länk till den här Mega-sajten.

721 00:24:40,640 --> 00:24:42,160 Nu är den dumpen nedplockad.

722 00:24:42,160 --> 00:24:43,700 Det var den även när jag kollade.

723 00:24:43,960 --> 00:24:45,500 Men den låg uppe under lång tid.

724 00:24:46,520 --> 00:24:50,880 Så att det finns nog en hel del människor som har den här informationen nu.

725 00:24:51,120 --> 00:24:52,160 Jag har också sett nu att.

726 00:24:52,200 --> 00:24:56,040 Diverse journalister har börjat gräva igenom de här dokumenten och.

727 00:24:56,560 --> 00:24:58,600 Publicerade intressanta saker.

728 00:24:58,600 --> 00:24:59,620 Det var något.

729 00:24:59,880 --> 00:25:02,180 Någon rum som det bara står weapons på.

730 00:25:02,440 --> 00:25:07,040 Ja men det var någon centralbanks ritning såg vi också.

731 00:25:07,040 --> 00:25:09,100 Centralbanken i Kazakstan tror jag det var eller någonting.

732 00:25:09,360 --> 00:25:10,120 Ja exakt.

733 00:25:10,380 --> 00:25:12,160 Där har vi vapenskåp och sånt.

734 00:25:12,680 --> 00:25:17,040 Men jag såg någonting i, jag tror det var tidigare idag. Jag hann inte läsa det men det antyddes att.

735 00:25:17,280 --> 00:25:21,380 Gunnobo hade vetat om det här problemet och inte åtgärdat det.

736 00:25:22,200 --> 00:25:25,520 De hade låtit det läggas kvar medvetet i typ över en månad.

737 00:25:26,300 --> 00:25:29,620 Ja jag har inte helt följt med där i de sista turerna.

738 00:25:29,880 --> 00:25:32,440 Jag vet att de har ju gått ut nu och sagt att ja vi har.

739 00:25:32,700 --> 00:25:35,000 Spenderat över fyra miljoner.

740 00:25:35,260 --> 00:25:38,840 Kronor eller dollar på det här sen det började men det var ju då i typ.

741 00:25:39,100 --> 00:25:45,240 Ongoing cost så jag antar att det är väl en hel del upprensning av ransomware och sånt vilket jag misstänker att de blev infekterade med.

742 00:25:45,240 --> 00:25:46,780 Men jag är inte på fötter där riktigt.

743 00:25:47,040 --> 00:25:49,600 Så jag vill inte låta det bo osagt.

744 00:25:50,880 --> 00:25:52,160 Men ja.

745 00:25:52,160 --> 00:25:54,980 Det ser ju inte skitbra ut kan man väl säga.

746 00:25:57,800 --> 00:26:05,720 Nej och sen har de varit så publika med vad som har hänt liksom de har varit ganska tysta med det va?

747 00:26:05,980 --> 00:26:08,800 Jag tror inte att det har varit jättebra krishantering från deras sida.

748 00:26:11,100 --> 00:26:11,880 Helt enkelt.

749 00:26:12,120 --> 00:26:13,160 Nej sjukt roligt.

750 00:26:13,920 --> 00:26:14,440 Sjukt roligt.

751 00:26:15,460 --> 00:26:19,560 Det är svårt att säga något bra och smart i ett sånt läge liksom.

752 00:26:20,320 --> 00:26:22,120 Nej det är väl bara mer kalpa liksom.

753 00:26:22,160 --> 00:26:29,080 Men det är ju inte så smart att låta en sån här grej fortgå om det nu är det de har gjort och sedan försöka svepa det under mattan.

754 00:26:29,320 --> 00:26:30,100 Det är ju inte heller särskilt

755 00:26:30,860 --> 00:26:33,420 intelligent. Det har vi sett några gånger förut. Det brukar inte gå bra.

756 00:26:36,240 --> 00:26:40,080 Så vi får väl hoppas att de lär sig sin läxa på det här och kanske får

757 00:26:40,840 --> 00:26:43,920 ägna lite mer resurser åt sin it-säkerhet.

758 00:26:44,440 --> 00:26:45,460 Ja eller hur?

759 00:26:45,960 --> 00:26:46,740 Ja roligt.

760 00:26:47,760 --> 00:26:51,600 Men vi hade väl en tes eller var det jag som hade en tes att

761 00:26:52,160 --> 00:26:54,460 säkerhet skulle bli mer synligt.

762 00:26:55,240 --> 00:26:58,560 Jag kanske hade menat att det skulle bli kommunicerat brett och så men

763 00:26:59,080 --> 00:27:02,400 i det här fallet så blir det ju återigen att

764 00:27:03,420 --> 00:27:04,200 att liksom

765 00:27:04,700 --> 00:27:07,260 nu kanske de är fysisk säkerhet snarare än

766 00:27:07,520 --> 00:27:09,320 traditionell it-säkerhet men

767 00:27:10,080 --> 00:27:14,440 att säkerhet att man bryr sig om det och det blir kommunicerat brett.

768 00:27:16,220 --> 00:27:18,780 Här får ju liksom

769 00:27:20,060 --> 00:27:22,120 människor som aldrig någonsin har

770 00:27:22,420 --> 00:27:24,980 varit intresserade av it-säkerhet få gärna höra om det här

771 00:27:25,240 --> 00:27:26,520 på nyheterna kort och gott.

772 00:27:27,800 --> 00:27:28,560 Ja precis.

773 00:27:29,080 --> 00:27:31,880 Det plockas väl upp mer. Det finns väl ett större allmänintresse för det nu?

774 00:27:33,420 --> 00:27:36,760 Ja och angriparna publicerar mycket mer.

775 00:27:38,040 --> 00:27:38,540 Absolut.

776 00:27:38,800 --> 00:27:45,960 Det gick ju tidigt rykte om att det var ett ransomförfarande det vill säga att en hackergrupp sa att vi har de här dokumenten vi kommer läcka dem om ni inte betalar.

777 00:27:46,220 --> 00:27:49,800 Jag vet inte om det är bekräftat på något sätt men det var något som

778 00:27:50,320 --> 00:27:51,600 fanns i eten.

779 00:27:52,160 --> 00:27:58,300 Det vill säga att någon har infiltrerat, byggt ihop den här dumpen och sedan sagt ge oss pengar annars kommer vi släppa det

780 00:27:58,560 --> 00:28:00,860 varvid då företaget Gunnebo har sagt nej.

781 00:28:01,120 --> 00:28:01,880 Och så släppte de det.

782 00:28:02,660 --> 00:28:05,720 Det här är ingenting jag har några belägg för det är bara något jag har hört.

783 00:28:06,760 --> 00:28:11,100 Den andra frågan är ju om folk betalar.

784 00:28:11,360 --> 00:28:12,120 Hur

785 00:28:12,900 --> 00:28:17,500 bra är sådana här hackergrupper på att faktiskt stå sitt ord och inte publicera ändå?

786 00:28:18,020 --> 00:28:20,580 Så är det ju. Ja absolut.

787 00:28:20,840 --> 00:28:21,860 De har ju en dumpen.

788 00:28:21,860 --> 00:28:22,880 Hur vet man att den tas bort?

789 00:28:23,140 --> 00:28:25,700 Inte så troligt men de klarar ju PR

790 00:28:26,220 --> 00:28:28,520 eller det här lose of face-grejen liksom.

791 00:28:29,280 --> 00:28:32,360 Däremot en rolig grej som jag hittade som jag kom över

792 00:28:32,860 --> 00:28:33,380 precis nu.

793 00:28:34,140 --> 00:28:35,420 Deloitte.

794 00:28:37,220 --> 00:28:39,520 DeloitteHackerIQ.com

795 00:28:40,040 --> 00:28:41,060 Fantastiskt roligt.

796 00:28:41,580 --> 00:28:42,860 Test your hacker IQ.

797 00:28:43,620 --> 00:28:44,380 En

798 00:28:45,420 --> 00:28:47,720 anti-proprietary på Twitter.

799 00:28:48,480 --> 00:28:49,260 Hey Deloitte.

800 00:28:49,760 --> 00:28:51,820 What exactly is my hacker IQ now?

801 00:28:52,120 --> 00:28:53,660 I en Twitter

802 00:28:54,160 --> 00:28:54,940 post då.

803 00:28:55,440 --> 00:29:00,820 Där de publicerar bilderna på hackerIQ.com slash .git slash config.

804 00:29:04,140 --> 00:29:04,660 Och sen

805 00:29:04,920 --> 00:29:06,960 app.config.config.yaml.

806 00:29:07,220 --> 00:29:09,020 Kan det vara så att det ligger ett

807 00:29:09,260 --> 00:29:10,800 databaslösenord där och väntar?

808 00:29:11,320 --> 00:29:13,100 Ja det är något helt omöjligt.

809 00:29:13,360 --> 00:29:14,900 Fy fan vad pinsamt

810 00:29:15,160 --> 00:29:16,700 för Deloitte.

811 00:29:16,940 --> 00:29:17,980 Och deras hacker IQ.

812 00:29:18,220 --> 00:29:20,280 Men en otroligt rolig tweet.

813 00:29:20,540 --> 00:29:21,820 Följer min test.

814 00:29:22,120 --> 00:29:23,660 Med secure companies och så vidare.

815 00:29:24,160 --> 00:29:24,940 Lite så.

816 00:29:25,180 --> 00:29:27,240 Ska jag gå in på det jag tänkte prata om?

817 00:29:27,500 --> 00:29:28,000 Gör det.

818 00:29:28,260 --> 00:29:30,300 Det är ju så att Sami Kam…

819 00:29:30,560 --> 00:29:31,580 Vad hette han?

820 00:29:31,840 --> 00:29:32,360 Kamkar.

821 00:29:32,620 --> 00:29:33,640 Kamkar hette han va?

822 00:29:33,900 --> 00:29:35,420 Har ju varit i farten igen.

823 00:29:36,200 --> 00:29:38,240 Han släppte ju…

824 00:29:39,520 --> 00:29:45,920 Nu ska vi se här. Jag måste fuska lite tror jag. Han var väl på Black Hat… Vad kan det ha varit?

825 00:29:46,700 --> 00:29:48,220 Ja men…

826 00:29:49,260 --> 00:29:49,760 2010?

827 00:29:50,020 --> 00:29:50,540 Kanske?

828 00:29:50,540 --> 00:29:53,360 Ja, det där låter jag vara lite osagt men…

829 00:29:53,620 --> 00:29:57,960 Säg att han var där 2010 och då presenterade han någonting som han kallade för nattpinning.

830 00:29:59,500 --> 00:30:02,060 Och nattpinning var egentligen att han kunde kringgå…

831 00:30:02,820 --> 00:30:06,420 Ja, han kunde abusa natt helt enkelt för att

832 00:30:06,660 --> 00:30:10,260 göra ondsinta saker. Vi ska inte gå in för mycket detaljer där.

833 00:30:10,500 --> 00:30:14,100 Han har ju dock spunnit vidare på den här lilla tesen och

834 00:30:14,340 --> 00:30:16,140 kommit fram till en väldigt rolig attack

835 00:30:16,660 --> 00:30:17,160 som har…

836 00:30:18,180 --> 00:30:18,700 Som…

837 00:30:18,960 --> 00:30:20,500 Som när man tittar på den första gången

838 00:30:20,540 --> 00:30:23,620 så är det… Ja, den är nog inte så avancerad men det är ganska mycket rörliga bitar i den.

839 00:30:23,860 --> 00:30:26,420 Som är döpt till natt slipstreaming.

840 00:30:28,480 --> 00:30:31,300 Natt då, för de som inte känner till det kan vi ge en…

841 00:30:31,540 --> 00:30:36,160 Vi får göra en snabb summering här för det här kommer ta lång tid att prata igenom annars. Men natt är ju då

842 00:30:36,420 --> 00:30:41,020 network address translation, det vill säga det som ser till att

843 00:30:41,280 --> 00:30:46,900 du som… Du på ditt interna trygga nätverk kan prata mot det stora stygga internet och se till att

844 00:30:47,420 --> 00:30:49,720 de där sessionerna och portarna och

845 00:30:49,980 --> 00:30:53,560 alla de där konstiga grejerna i nätverkslagret ska hitta till rätt delar.

846 00:30:53,820 --> 00:30:57,920 Den får dina flera interna IP-adresser att se ut som en extern?

847 00:30:58,680 --> 00:31:04,060 Ja, absolut. Men den ska också hålla koll på alla sessioner då så att routern som då gör den här magin vet

848 00:31:04,320 --> 00:31:06,100 vilken som hör till vad, så att säga.

849 00:31:07,120 --> 00:31:07,900 Och det…

850 00:31:08,400 --> 00:31:09,680 Vi kan börja där.

851 00:31:09,940 --> 00:31:12,000 Så natt slipstreaming är…

852 00:31:12,240 --> 00:31:14,300 Alltså vad som händer här är då egentligen att vi kan

853 00:31:14,560 --> 00:31:15,320 ta sig i… Vi kan

854 00:31:15,580 --> 00:31:16,860 göra din brandvägg

855 00:31:17,120 --> 00:31:19,420 helt meningslöst. Vi kan få liksom…

856 00:31:19,980 --> 00:31:24,080 Din interna adress att prata med vad vi vill på utsidan.

857 00:31:24,840 --> 00:31:27,660 Och det är potentiellt ganska dumt då.

858 00:31:28,420 --> 00:31:32,260 Och hur går det här till då? Jo, man har hittat en väldigt rolig…

859 00:31:32,520 --> 00:31:35,340 en roligt sätt att utnyttja en…

860 00:31:35,840 --> 00:31:37,120 en gammal

861 00:31:37,640 --> 00:31:43,780 hjälpreda i nätverkslagret som heter Application Level Gateway, alltså ALG som man pratar om i

862 00:31:44,300 --> 00:31:47,120 nätverksvärlden.

863 00:31:47,360 --> 00:31:48,900 Och de är egentligen inbyggda i

864 00:31:48,900 --> 00:31:51,460 i stort sett alla brandväggar eller routrar.

865 00:31:51,980 --> 00:31:53,500 Och då

866 00:31:53,760 --> 00:31:55,560 hjälper det dig att…

867 00:31:56,060 --> 00:31:57,100 Vad ska man säga?

868 00:31:57,340 --> 00:31:59,660 Hjälper dig att hitta till…

869 00:32:00,420 --> 00:32:00,940 Ja…

870 00:32:01,180 --> 00:32:02,220 Säg att du har…

871 00:32:02,460 --> 00:32:04,520 Hur fan ska man förklara vad en ALG är?

872 00:32:04,780 --> 00:32:09,900 Ni får hjälpa mig här. Men till exempel om vi ska prata med mer än ett protokoll så att vi initierar kanske en

873 00:32:10,140 --> 00:32:13,220 anslutning över port 80 men vi ska sedan prata om någonting annat.

874 00:32:13,740 --> 00:32:16,800 Du menar alltså sådana här smart

875 00:32:17,320 --> 00:32:18,860 parsling av protokoll som FTP

876 00:32:19,160 --> 00:32:19,660 och sådant?

877 00:32:20,180 --> 00:32:27,100 Precis FTP eller IRC men framför allt då konferenstelefoner såhär H323 och

878 00:32:27,340 --> 00:32:30,160 SIP i det här fallet som man har exploitat här då.

879 00:32:31,700 --> 00:32:34,780 Så egentligen hela idén är att

880 00:32:35,540 --> 00:32:38,860 du hoppar in på… Jag lurar in dig på en

881 00:32:39,380 --> 00:32:43,480 på en hemsk sajt som visar massa fina bilder på

882 00:32:43,740 --> 00:32:44,240 hundar.

883 00:32:44,760 --> 00:32:48,860 Och då är första idén är att jag måste ha din intern adress på något

884 00:32:49,160 --> 00:32:51,980 sätt och den kan jag få på många olika sätt.

885 00:32:52,220 --> 00:32:55,300 I det här fallet så påvisar man typ

886 00:32:55,560 --> 00:32:58,380 WebRTC

887 00:32:58,880 --> 00:33:02,980 men också en bild då som… Ja, vi kan ta det i ordning här.

888 00:33:03,240 --> 00:33:04,780 Det är så jävla mycket så jag försöker

889 00:33:05,020 --> 00:33:08,100 summera. Det går dåligt men vi får ta det från början egentligen.

890 00:33:08,620 --> 00:33:09,640 Ja,

891 00:33:09,900 --> 00:33:14,760 hur som helst. Vi behöver läcka den interna adressen så att vi vet vad det är vi ska

892 00:33:15,260 --> 00:33:18,860 göra med insidan egentligen. Vi måste veta vart du kommer från på insidan.

893 00:33:19,160 --> 00:33:22,480 Din lokala IP-adress.

894 00:33:22,740 --> 00:33:23,500 That makes sense.

895 00:33:24,280 --> 00:33:26,580 Så den vill vi extrakta först då.

896 00:33:28,620 --> 00:33:30,160 Och när vi har lyckats få tag i den

897 00:33:30,420 --> 00:33:31,960 då kan vi

898 00:33:32,220 --> 00:33:33,740 göra massa roliga saker.

899 00:33:34,520 --> 00:33:36,060 Då kan vi

900 00:33:38,100 --> 00:33:39,120 bygga ett

901 00:33:39,380 --> 00:33:42,200 POST-paket, alltså ett HTTP-paket

902 00:33:42,960 --> 00:33:44,240 som vi

903 00:33:44,760 --> 00:33:47,320 craftar på ett väldigt, väldigt, väldigt fint sätt.

904 00:33:47,820 --> 00:33:48,600

905 00:33:48,860 --> 00:33:51,160 vi ser till då att utnyttja…

906 00:33:53,720 --> 00:33:55,260 Ja, hur fan ska jag förklara det här då?

907 00:33:57,040 --> 00:34:01,660 Jo, men vi gör ett väldigt stort HTTP POST-paket. Det är väl egentligen det vi gör.

908 00:34:03,200 --> 00:34:06,780 Som tvingar egentligen…

909 00:34:09,600 --> 00:34:14,720 Vad ska man säga? Den delar upp sig på flera paket. Det är så jävla svårt att prata svenska här också.

910 00:34:15,220 --> 00:34:18,560 Den behöver splitta paketet flera mindre delar för att…

911 00:34:18,860 --> 00:34:20,400 Ja, den segmenterar det egentligen.

912 00:34:20,900 --> 00:34:22,440 Så att du får liksom…

913 00:34:22,700 --> 00:34:23,720 Du får flera delar.

914 00:34:24,240 --> 00:34:26,280 Och då har man delat upp det här paketet på så sätt att

915 00:34:26,540 --> 00:34:27,820 precis där den delar sig

916 00:34:29,100 --> 00:34:31,400 då har vi byggt ett helt ZIP-paket.

917 00:34:33,700 --> 00:34:37,540 Som då gör då att när det här breakar så

918 00:34:37,800 --> 00:34:41,640 hamnar POST-data med alla HTTP-headrar och hela den bröten i ett eget paket.

919 00:34:42,400 --> 00:34:44,720 Och ZIP-paketet blir då helt intakt.

920 00:34:46,760 --> 00:34:48,560 Utan några HTTP-headrar.

921 00:34:48,860 --> 00:34:49,620 Överhuvudtaget.

922 00:34:49,880 --> 00:34:50,400 Mm.

923 00:34:50,640 --> 00:34:53,980 Vilket då gör att det kommer att användas.

924 00:34:57,040 --> 00:34:57,560 Ja.

925 00:34:58,080 --> 00:35:01,140 Men är det här lite som packet-in-packet-grejer?

926 00:35:01,400 --> 00:35:03,700 Ja, men lite som packet-in-packet är det ju.

927 00:35:03,960 --> 00:35:04,480 Verkligen.

928 00:35:05,240 --> 00:35:07,280 Men i det här fallet så använder man…

929 00:35:07,540 --> 00:35:09,840 Gör man det med ett ZIP-paket och då öppnar man

930 00:35:10,880 --> 00:35:11,900 en UDP-port egentligen.

931 00:35:12,160 --> 00:35:14,960 Och då skickar man det över tun-protokollet.

932 00:35:15,480 --> 00:35:17,280 Så det här är alltså…

933 00:35:17,520 --> 00:35:18,560 Alla som tycker att sånt här är lite…

934 00:35:18,860 --> 00:35:20,640 Kul ska verkligen in och läsa för han har gjort…

935 00:35:20,900 --> 00:35:22,440 Han är ju känd för att göra jävligt bra research.

936 00:35:22,700 --> 00:35:26,280 Så att han har skrivit otroligt väl detaljerat exakt hur det här funkar.

937 00:35:26,800 --> 00:35:28,840 Men det det gör egentligen är att man…

938 00:35:29,360 --> 00:35:34,720 När det här ZIP-paketet kommer då, det här ZIP-register som är en del av att nu ska vi börja snacka liksom.

939 00:35:35,240 --> 00:35:37,540 Då kommer den att träffa en ALG.

940 00:35:38,060 --> 00:35:42,400 Som då kan öppna en TCP eller en UDP-port definierat…

941 00:35:42,660 --> 00:35:43,180 Liksom…

942 00:35:44,960 --> 00:35:46,000 Definierat av oss liksom.

943 00:35:46,240 --> 00:35:47,280 Så att…

944 00:35:47,280 --> 00:35:48,300 Ja…

945 00:35:48,560 --> 00:35:54,700 Vi kan då öppna en session genom brandväggen som ser ut att komma från insidan fast den gör inte det för det är vi som har skickat den dit.

946 00:35:56,500 --> 00:35:58,280 Så då gör vi liksom en port-forward

947 00:35:58,540 --> 00:36:02,380 som vi bestämmer genom att någon bara går in på våran hemsida.

948 00:36:04,180 --> 00:36:08,020 Jag vet ju på den gamla tiden fanns det såna här grejer.

949 00:36:08,780 --> 00:36:12,120 Om man kunde låtsas vara en FTP-server så kunde man få…

950 00:36:13,400 --> 00:36:16,460 Kunde man få brandväggar öppna sig typiskt om…

951 00:36:16,460 --> 00:36:19,280 Om man på något sätt kunde få något launchat på…

952 00:36:19,540 --> 00:36:22,100 R21 som FTP ligger på eller någonting sådär.

953 00:36:22,340 --> 00:36:26,440 Så kunde du lura en brandvägg på en server att släppa…

954 00:36:27,460 --> 00:36:36,180 Släppa blocken och låta dig komma igenom då om du kunde ljuga och säga att servern vill öppna en port.

955 00:36:36,420 --> 00:36:39,760 Just genom att då lura brandväggen och göra dynamiska öppningar.

956 00:36:40,260 --> 00:36:41,800 Men här har han…

957 00:36:42,060 --> 00:36:46,420 Det låter som att han gör det här fast det är jävligt mycket fler skumma grejer.

958 00:36:46,460 --> 00:36:48,260 Att kombinera det i en jävla…

959 00:36:48,500 --> 00:36:49,540 Lyckade röra.

960 00:36:49,780 --> 00:36:54,900 Och det här är nog bara början. Just ALG-implementationen är ju olika från…

961 00:36:55,160 --> 00:36:57,460 De hanterar saker och ting på olika sätt.

962 00:36:57,720 --> 00:36:59,520 Men just i natt, det är ju väldigt

963 00:36:59,780 --> 00:37:01,560 tacksamt att attackera för det…

964 00:37:01,820 --> 00:37:05,140 Det ligger mycket svartkonstmagi bakom där i hela

965 00:37:05,660 --> 00:37:06,420 idén med natt.

966 00:37:06,680 --> 00:37:09,500 För att göra det enkelt för att

967 00:37:10,520 --> 00:37:13,340 kommunicera från insida till utsida egentligen och göra det

968 00:37:13,860 --> 00:37:16,420 med många, många, många sessioner och trådar.

969 00:37:16,720 --> 00:37:18,000 För de som befinner sig…

970 00:37:18,260 --> 00:37:20,560 Han delade det här på

971 00:37:21,320 --> 00:37:22,100 Zip.

972 00:37:24,400 --> 00:37:26,960 Zip i kombination med WebRTC.

973 00:37:27,220 --> 00:37:28,740 Var det nödvändigt?

974 00:37:29,000 --> 00:37:35,140 Ja, det är nödvändigt för att kunna skicka den här ZipRegister-grejen så behöver vi veta den interna

975 00:37:35,400 --> 00:37:36,180 IP-adressen.

976 00:37:36,420 --> 00:37:41,540 Som läckte via någon god bugg i WebRTC-hanteringen.

977 00:37:42,060 --> 00:37:42,580 Ja.

978 00:37:42,820 --> 00:37:44,620 Och sen tror jag att han har

979 00:37:44,880 --> 00:37:45,900 även i sin

980 00:37:45,900 --> 00:37:48,980 bloggpost här så tror jag även att han har lagt upp en…

981 00:37:49,220 --> 00:37:52,820 Om han nu inte lyckats använda en WebRTC då för att få ut det här liksom.

982 00:37:53,580 --> 00:37:57,940 Då kan man göra en timingattack med att han embeddar

983 00:37:58,440 --> 00:38:01,520 alla permutationer på lokala LAN egentligen.

984 00:38:02,540 --> 00:38:04,340 I en bild.

985 00:38:04,580 --> 00:38:08,180 Och då kan han jämföra responset så då blir det typ en timingattack där egentligen.

986 00:38:08,420 --> 00:38:13,540 För att bestämma vilken konfiguration använder du på insidan.

987 00:38:14,320 --> 00:38:15,600 Så det är ganska snyggt.

988 00:38:15,600 --> 00:38:16,880 Två sätt att komma fram till det då.

989 00:38:17,400 --> 00:38:19,700 Och sen utnyttjar han då egentligen idén om att

990 00:38:19,960 --> 00:38:24,560 ett TCP-paket kan vara så stort och så precis där det bryter då ser han till

991 00:38:25,080 --> 00:38:28,140 att stoppa in Zip-paketet vilket är skitfint alltså.

992 00:38:28,400 --> 00:38:29,420 Det är jättesnyggt.

993 00:38:30,440 --> 00:38:36,600 Men han angriper dels någon bugg i

994 00:38:37,620 --> 00:38:40,440 parsningen av

995 00:38:41,720 --> 00:38:45,300 TCP och HTTP2 i de här grunkorna då va?

996 00:38:45,600 --> 00:38:49,960 HTTP2 vet jag inte om det är involverat här.

997 00:38:50,460 --> 00:38:53,800 Zipen via en post pratar du om?

998 00:38:54,040 --> 00:38:56,360 HTTP post request det är bara ett

999 00:38:56,600 --> 00:39:00,700 ett vanligt post request som kommer från sajten liksom min onda sajt.

1000 00:39:01,720 --> 00:39:05,820 Men det är viktigt att den är exakt lika stor. Men jag tänker att det här borde ju kunna…

1001 00:39:08,120 --> 00:39:13,240 Det blir liksom en exploit lokalt på min maskin för jag tar emot det som webb ju.

1002 00:39:13,500 --> 00:39:15,040 Och det kommer inte stoppas någonstans.

1003 00:39:15,600 --> 00:39:20,460 Och sen så är det ju min lokala implementation av TCP-IP som

1004 00:39:21,240 --> 00:39:23,800 eller IP egentligen som säger att

1005 00:39:24,040 --> 00:39:26,360 det här paketet är för stort så vi måste dela upp det.

1006 00:39:27,880 --> 00:39:29,680 Det är ju där magin kommer då.

1007 00:39:30,960 --> 00:39:34,800 Ja så grundgrejen är väl att du har en tråkig brandlägg.

1008 00:39:35,320 --> 00:39:36,840 Det är väl första steget.

1009 00:39:38,120 --> 00:39:41,460 Ja en brandlägg som är sårbar för den här typen av attack menar du?

1010 00:39:41,960 --> 00:39:42,480 Ja.

1011 00:39:42,740 --> 00:39:45,560 Ja men så är det ju och det visar sig ganska många ändå.

1012 00:39:45,860 --> 00:39:46,880 Jag trodde initialt att det var

1013 00:39:47,140 --> 00:39:53,020 det var gamla, bara gamla adresser alltså application level gateways som

1014 00:39:53,280 --> 00:39:57,380 implementationer som var sårbara men det visar sig ganska många moderna som är det också.

1015 00:39:57,880 --> 00:40:00,700 Vilket är ganska kul så att det här är ju liksom en

1016 00:40:01,480 --> 00:40:04,540 ganska fräck natt pinholing som då

1017 00:40:04,800 --> 00:40:06,600 ja men det blir en port forwarding egentligen

1018 00:40:07,100 --> 00:40:08,640 som ser ut att komma på

1019 00:40:08,900 --> 00:40:13,000 från insidan men den gör inte det för att det är vi som har full kontroll.

1020 00:40:13,000 --> 00:40:17,600 Så det här är coolt, det är riktigt coolt.

1021 00:40:18,120 --> 00:40:22,720 Ja i alla fall men den var rätt stor och lite komplicerad den här.

1022 00:40:22,980 --> 00:40:29,640 Det är väldigt många rörliga delar och det jag säger nu är en otrolig summering för att det ska liksom få plats i poddformat.

1023 00:40:29,900 --> 00:40:33,740 Men sami.pl släpps slipstream där finns hela write-upen

1024 00:40:34,240 --> 00:40:37,060 med summering och alla detaljer.

1025 00:40:37,580 --> 00:40:42,700 Det kanske är en timmes läsning men det är, eller en timme är det inte men det är en stund läsning.

1026 00:40:42,700 --> 00:40:44,740 Men det är väldigt väldigt

1027 00:40:45,260 --> 00:40:46,020 bra.

1028 00:40:46,800 --> 00:40:47,300 Väldigt kul.

1029 00:40:47,820 --> 00:40:48,840 Har ni dykt upp

1030 00:40:49,360 --> 00:40:52,680 några patchar eller workarounds eller någonting?

1031 00:40:52,940 --> 00:40:57,540 Jag har inte följt det så mycket, jag har mest tittat på vad det är som händer och det här är ju

1032 00:40:57,800 --> 00:40:59,860 som Peter var inne på det här med packet till packet

1033 00:41:00,880 --> 00:41:01,900 pryl då liksom.

1034 00:41:02,420 --> 00:41:07,020 Så jag vet inte om det har kommit så mycket patchar.

1035 00:41:07,780 --> 00:41:09,320 Ett övergripande.

1036 00:41:09,840 --> 00:41:11,380 Fortfarande ganska early day ja.

1037 00:41:12,700 --> 00:41:22,180 Ett övergripande problem med sådana här nattbrandväggar och så är ju att många är ju övergivna och patchas inte.

1038 00:41:22,940 --> 00:41:26,780 Det är ju sämre när du har ett hål i Windows

1039 00:41:27,540 --> 00:41:29,860 så har du ju god sannolikhet att du får en fix.

1040 00:41:31,640 --> 00:41:33,440 Här är det

1041 00:41:35,220 --> 00:41:41,120 det är nog många som inte patchar sina och ännu fler som det finns inga patchar att få.

1042 00:41:41,120 --> 00:41:45,980 Jag vet att jag bytte ut min utrustning för att

1043 00:41:48,040 --> 00:41:51,880 den teoretiskt sett hade fått patchar men det gick inte att installera någon patch.

1044 00:41:52,640 --> 00:41:53,920 Ja, snyggt.

1045 00:41:54,680 --> 00:41:58,520 Peter, hade du en uppdatering på din Crypto-grej från förra gången?

1046 00:41:58,780 --> 00:42:00,840 Ja, det tänkte jag.

1047 00:42:02,620 --> 00:42:06,720 Jag snackade ju om CRO-logon

1048 00:42:07,480 --> 00:42:09,540 förut.

1049 00:42:10,040 --> 00:42:11,080 Förra gången vi spelade in den.

1050 00:42:11,380 --> 00:42:12,400 Ja, just det.

1051 00:42:12,920 --> 00:42:17,000 Jag kände mig inte riktigt nöjd där och det kliade ju i fingrarna efteråt.

1052 00:42:17,780 --> 00:42:19,560 Jag behöver titta mer på det för jag tänkte att

1053 00:42:21,100 --> 00:42:23,160 den dök ju inte min förklaring.

1054 00:42:24,180 --> 00:42:26,740 Det finns ju ett par grejer man kan säga där. Det ena är ju att

1055 00:42:27,500 --> 00:42:31,600 det verkar ju vara någon key derivation grunkar de har tänkt inträffa.

1056 00:42:31,860 --> 00:42:32,880 Och då finns det ju

1057 00:42:33,140 --> 00:42:38,760 KDF-algoritmer men det är ju inte en… Men vänta, är vi på den där knepiga…

1058 00:42:39,020 --> 00:42:40,300 Vad heter den?

1059 00:42:40,560 --> 00:42:41,320 Vad hette den?

1060 00:42:41,580 --> 00:42:42,860 CRO-logon.

1061 00:42:43,380 --> 00:42:47,720 Crypto-mode som var i ciphertext-feedback…

1062 00:42:47,980 --> 00:42:49,260 Någonting, någonting.

1063 00:42:50,800 --> 00:42:56,940 Ciphertext-feedback… Vad står fan B för? Block-cypher eller någonting?

1064 00:42:57,960 --> 00:42:58,980 Det borde jag veta.

1065 00:42:59,500 --> 00:43:02,580 Var det AIS, CFB eller något där? Eller vad var det i botten?

1066 00:43:03,340 --> 00:43:10,000 Ja, det var AIS men det spelar ingen roll. Felet är helt lokaliserat i CFB-modet.

1067 00:43:10,820 --> 00:43:11,320 Mm.

1068 00:43:14,900 --> 00:43:16,440 Så…

1069 00:43:16,700 --> 00:43:20,020 Jag nöjde mig inte riktigt utan jag tänkte det att

1070 00:43:21,820 --> 00:43:23,100 i sådana här lägen

1071 00:43:23,620 --> 00:43:25,660 så får man ju liksom ta

1072 00:43:27,200 --> 00:43:28,480 och pocka det hela.

1073 00:43:28,980 --> 00:43:30,520 Har du liksom…

1074 00:43:31,300 --> 00:43:32,820 Har du kunnat skriva

1075 00:43:33,340 --> 00:43:37,440 kod eller göra ett exempel där du verkligen fattar? Då kanske du har förstått.

1076 00:43:38,200 --> 00:43:38,980 Ehm…

1077 00:43:40,300 --> 00:43:47,460 Och det är ju egentligen mycket enklare när man ser det i kod och kan skriva ut steg för steg vad som händer.

1078 00:43:47,980 --> 00:43:48,500 För…

1079 00:43:49,260 --> 00:43:50,800 Det är ju inte så jävla avancerat.

1080 00:43:52,840 --> 00:43:57,200 Den här CFB-historien som de har…

1081 00:43:58,980 --> 00:44:03,340 Den gör bara så att den för varje gång den har krypterat en byte…

1082 00:44:03,600 --> 00:44:07,440 För det är ju CFB-8 som är åtta bitar. För varje byte den har krypterad

1083 00:44:08,460 --> 00:44:10,260 så skickar den…

1084 00:44:10,520 --> 00:44:11,020 ut…

1085 00:44:12,300 --> 00:44:14,360 det krypterade och gör…

1086 00:44:15,120 --> 00:44:17,180 plockar in det i det interna läget.

1087 00:44:17,420 --> 00:44:20,500 Så den skiftar då ett läge som är 00000

1088 00:44:21,020 --> 00:44:22,040 tar den och skiftar.

1089 00:44:22,540 --> 00:44:23,320 Ehm…

1090 00:44:23,820 --> 00:44:27,920 Och i Zero Logon så har Microsoft då tagit

1091 00:44:28,180 --> 00:44:29,460 det här läget som

1092 00:44:30,220 --> 00:44:32,280 vars interna state är bara nullor.

1093 00:44:33,560 --> 00:44:36,880 Sen har Microsoft hårdkodat att

1094 00:44:37,400 --> 00:44:40,220 initialiseringsvektorn, det vill säga vad du

1095 00:44:40,520 --> 00:44:41,280 startar med liksom.

1096 00:44:42,060 --> 00:44:43,080 Det är bara nollor.

1097 00:44:44,100 --> 00:44:44,860 Och sen

1098 00:44:45,120 --> 00:44:47,940 kommer angriparen och när han då ska

1099 00:44:48,700 --> 00:44:52,800 ange vad liksom… vad är liksom hans lilla

1100 00:44:53,580 --> 00:44:59,980 plaintext och plaintexten utgör då liksom något slumpmässigt state och ska in och ha klockan och lite annat.

1101 00:45:00,480 --> 00:45:03,560 Då svarar han att jo, allting är bara nollor här.

1102 00:45:04,060 --> 00:45:05,600 Så du har en

1103 00:45:05,860 --> 00:45:08,420 okänd nyckel som angripar, du vet inte vad den är.

1104 00:45:09,440 --> 00:45:09,960 Ehm…

1105 00:45:10,260 --> 00:45:15,380 Du har ett state som alltid startar med noll för det är liksom… det är per specifikation.

1106 00:45:15,900 --> 00:45:19,220 Du har en IV som Microsoft har hårdkodat till noll.

1107 00:45:19,980 --> 00:45:21,020 Och…

1108 00:45:21,780 --> 00:45:26,380 Du har en plaintext som angripar och den säger noll så det är sjukt många nollor inblandade här.

1109 00:45:27,420 --> 00:45:34,320 Varje gång du krypterar någonting då, då kör du en NOES-operation och så bryr du dig bara om resultatet av en byte.

1110 00:45:35,340 --> 00:45:38,420 Som kommer från det du krypterade ut.

1111 00:45:38,420 --> 00:45:41,240 Och den biten trycker du in där.

1112 00:45:42,260 --> 00:45:43,020 Och…

1113 00:45:44,560 --> 00:45:48,400 För varje värde i en byte så har du ju möjligheten att

1114 00:45:48,660 --> 00:45:51,220 det är 1 genom 256 så att det blev

1115 00:45:51,740 --> 00:45:52,760 ett visst värde.

1116 00:45:53,520 --> 00:45:54,300 Om då

1117 00:45:55,060 --> 00:45:56,860 resultatet blir en nolla

1118 00:45:57,360 --> 00:45:59,920 då tar du och uppdaterar ditt state som bara är nollor

1119 00:46:00,180 --> 00:46:01,200 med en nolla.

1120 00:46:02,220 --> 00:46:06,320 Och sen fortsätter du så. Så du låser hela kryptot hela för evigt

1121 00:46:06,840 --> 00:46:08,120 bara vad kvar i statet 0.

1122 00:46:08,420 --> 00:46:12,260 Och sen går allting helt sönder i det här.

1123 00:46:16,100 --> 00:46:17,120 Så det här var ju

1124 00:46:17,380 --> 00:46:19,420 sjukt intressant då tänkte jag och så

1125 00:46:19,680 --> 00:46:25,820 började jag ju då, alltså innan jag ens skrev en hård kod så började jag ju då liksom bara diskutera lite bland annat

1126 00:46:26,080 --> 00:46:29,660 Joakim på vårat jobb då han kan krypto och verkade tycka att det var lite jobbigt och

1127 00:46:30,440 --> 00:46:32,220 ställer dumma frågor eller så liksom men

1128 00:46:32,480 --> 00:46:33,760 jag ville bara veta såhär

1129 00:46:35,820 --> 00:46:36,320 Om

1130 00:46:36,320 --> 00:46:39,900 om någon kunde liksom bara helt ta sönder

1131 00:46:40,160 --> 00:46:41,180 CFB mode

1132 00:46:41,440 --> 00:46:46,560 som är något av de här gamla moden som vi inte har så bra koll på.

1133 00:46:47,320 --> 00:46:49,120 Många människor har inte lärt sig det så bra.

1134 00:46:50,140 --> 00:46:53,480 Finns det inte fler modes som kan ha ett problem?

1135 00:46:53,720 --> 00:46:59,360 Innan jag ens började skriva någonting så vill jag veta finns det fler grejer som är kul att kolla på och efter ett tag så kom jag fram till det att

1136 00:46:59,880 --> 00:47:05,240 man kanske kunde kolla på OFB för att det är ju ungefär samma sak. Det är väldigt väldigt snarlikt.

1137 00:47:06,320 --> 00:47:09,900 Efter ett tag då så hade jag ju klart ett demo som visade på att

1138 00:47:10,160 --> 00:47:14,000 jo men CFB är ju helt trasigt så som i Xero Logon.

1139 00:47:15,540 --> 00:47:17,840 Men OFB är ju också helt trasigt

1140 00:47:18,360 --> 00:47:21,160 för de är ju nästan nästan exakt samma sak.

1141 00:47:23,220 --> 00:47:24,240 Och vet du vad?

1142 00:47:24,500 --> 00:47:29,360 Sen när jag då hade ett demo så funderade jag på, jag kanske ska upp det här i Wikipedia och bara liksom

1143 00:47:29,880 --> 00:47:32,180 se till att det finns någon information där

1144 00:47:32,680 --> 00:47:36,020 om att det inte bara är CFB som är helt trasigt. Även OFB är ju helt trasigt.

1145 00:47:36,320 --> 00:47:39,900 Men vet du vad Wikipedia hävdar?

1146 00:47:41,960 --> 00:47:44,260 Wikipedia hävdar att

1147 00:47:46,820 --> 00:47:52,960 Davis, Dee och Pekin, några författare

1148 00:47:53,220 --> 00:47:55,780 skrev 1983 skrivet

1149 00:47:56,280 --> 00:47:58,080 The Average Cycle Sizes of

1150 00:47:58,840 --> 00:48:03,460 Keystream in Output Feedback Encipherment.

1151 00:48:04,480 --> 00:48:05,000 Och

1152 00:48:05,000 --> 00:48:10,120 jag har inte läst den här eftersom att man behöver betala pengar för tillgång till det här.

1153 00:48:10,640 --> 00:48:13,440 Men någon som påstår att jag läst den har då alltså skrivit

1154 00:48:13,960 --> 00:48:15,760 för urminnes tidigare sedan att

1155 00:48:16,260 --> 00:48:20,620 i den här så har de här nissarna konstaterat att det här problemet finns ju.

1156 00:48:22,160 --> 00:48:22,660

1157 00:48:23,440 --> 00:48:24,200 den

1158 00:48:24,460 --> 00:48:27,780 buggen som utnyttjas i Xero Logon

1159 00:48:29,320 --> 00:48:33,160 den är typ nästan identisk med

1160 00:48:33,920 --> 00:48:34,960 vad några nissar

1161 00:48:35,260 --> 00:48:37,820 1983 konstaterade var helt trasigt.

1162 00:48:38,580 --> 00:48:40,120 För just att du

1163 00:48:40,640 --> 00:48:43,960 om du sätter plaintexten till lika med noll som är

1164 00:48:44,980 --> 00:48:48,560 det som gjordes i Xero Logon exploitet

1165 00:48:49,600 --> 00:48:55,740 då är CFB och OFB de blir precis samma sak. Om plaintexten är noll så gör de

1166 00:48:56,500 --> 00:48:59,840 Men är det problemet här att IV inte ska vara noll?

1167 00:49:02,400 --> 00:49:04,700 För plaintexten styr angriparen över.

1168 00:49:05,760 --> 00:49:08,320 Ja jag skulle säga så här

1169 00:49:09,600 --> 00:49:15,760 Vad någon påstår på Wikipedia är att man helt lade ner alla trunkerade lägen av

1170 00:49:16,000 --> 00:49:18,060 OFB för att det är helt trasigt.

1171 00:49:21,380 --> 00:49:27,520 Och det är väl egentligen det väsentligen samma som man kan dra som slutsats om CFB att den är helt livsfarlig

1172 00:49:28,040 --> 00:49:30,080 för att

1173 00:49:30,860 --> 00:49:34,700 vissa kombinationer av plaintext med IV är typiskt att

1174 00:49:35,000 --> 00:49:36,020 plaintexten är

1175 00:49:37,040 --> 00:49:39,100 väldigt lik IVen

1176 00:49:39,360 --> 00:49:44,480 skapar massa variationer då cifret kommer gå sönder.

1177 00:49:45,240 --> 00:49:48,560 Så just den här IV lika med noll, plaintext lika med noll

1178 00:49:50,360 --> 00:49:52,920 det är ett specialfall då det går sönder men det

1179 00:49:53,180 --> 00:49:54,960 finns definitivt många fler.

1180 00:49:55,220 --> 00:49:56,000 Till exempel om

1181 00:49:56,500 --> 00:49:58,560 IV bara är nio år och

1182 00:49:59,840 --> 00:50:04,960 plaintexten är jättemånga nio år så kommer du förr eller senare förmodligen få att du får ett

1183 00:50:05,260 --> 00:50:06,020 nio år.

1184 00:50:06,540 --> 00:50:08,580 Det finns

1185 00:50:08,840 --> 00:50:10,640 det var någon som hade skrivit om det

1186 00:50:11,140 --> 00:50:13,200 om det var på Naked Security eller någonting

1187 00:50:13,440 --> 00:50:17,540 så skrev de lite mer generellt om vad som är trasigt i CFB, alltså

1188 00:50:17,800 --> 00:50:19,600 fler fall då det blir trasigt.

1189 00:50:21,900 --> 00:50:25,480 Men väsentligen så är alltså det här tydligen

1190 00:50:26,760 --> 00:50:27,780 det verkar vara

1191 00:50:28,300 --> 00:50:31,120 ett problem som någon har hittat

1192 00:50:31,360 --> 00:50:32,900 1983

1193 00:50:33,420 --> 00:50:34,960 som utnyttjades i

1194 00:50:35,220 --> 00:50:35,980 exploits.

1195 00:50:36,500 --> 00:50:39,820 Det var kanske inte 100% samma sak men det är nästan

1196 00:50:40,340 --> 00:50:42,900 99% samma sak vad någon

1197 00:50:43,160 --> 00:50:47,240 forskare skrev 1983 i det vi fick problem med

1198 00:50:47,500 --> 00:50:48,520 2020.

1199 00:50:52,120 --> 00:50:55,180 Är det 37 år senare eller någonting som vi

1200 00:50:55,440 --> 00:50:58,000 återupptäcker någonting som någon glad

1201 00:50:58,520 --> 00:51:03,380 forskarsnubbe konstaterar. Det här är trasigt, gör inte så här, säger en glad vetenskapsman.

1202 00:51:03,640 --> 00:51:09,520 Och så sitter vi människor här 2020 såhär, oj det var konstigt, det var inte så bra.

1203 00:51:09,780 --> 00:51:14,380 Så om man ska hitta roliga sårbarheter sätter jag och läser kryptopapper från 80-talet.

1204 00:51:14,900 --> 00:51:21,040 Ja men det är ingen dum idé. Jag för mig att Padding Oracle byggde väl på ett papper från Bleaching Basher eller någonting som också var sådär

1205 00:51:21,300 --> 00:51:22,580 20 år gammalt eller någonting.

1206 00:51:23,100 --> 00:51:26,680 Ja den var ju, om inte annat så var den ju

1207 00:51:28,460 --> 00:51:32,820 Ja den, alltså Paddingproblem, det var mänskligheten

1208 00:51:32,820 --> 00:51:35,900 glömt bort och återupptäckt många gånger under

1209 00:51:36,400 --> 00:51:37,680 bara våran livstid.

1210 00:51:39,980 --> 00:51:41,260 Allt gammalt är nytt igen.

1211 00:51:41,780 --> 00:51:43,320 Det är alltid så, känns det som.

1212 00:51:44,600 --> 00:51:46,900 Krypto är sjukt svårt

1213 00:51:47,160 --> 00:51:49,460 att göra rätt på kanske.

1214 00:51:49,980 --> 00:51:51,500 Och framför allt

1215 00:51:51,760 --> 00:51:54,320 livsfarligt att använda någonting

1216 00:51:55,100 --> 00:51:57,660 någonting som är gammalt som man inte har koll på.

1217 00:51:58,160 --> 00:52:01,240 Jag tror ju färre saker du gör krypto på och

1218 00:52:01,500 --> 00:52:02,780 ju nyare och ju mer

1219 00:52:03,080 --> 00:52:08,700 ju mer bläst det är av de moderna gudarna desto bättre.

1220 00:52:09,480 --> 00:52:13,580 För då har du ändå en känd mängd grejer att skala ordning på.

1221 00:52:14,600 --> 00:52:16,140 Alltså att du har ett

1222 00:52:17,160 --> 00:52:20,480 kryptomode som typ kan hänga sig i

1223 00:52:21,000 --> 00:52:24,060 för en av grejerna som är sjukt kast med

1224 00:52:24,580 --> 00:52:27,400 de här trumkerade CFB-lägen och sånt, det är ju att

1225 00:52:28,160 --> 00:52:29,700 då är det en AES som

1226 00:52:30,220 --> 00:52:32,780 skapar ut en jättestor slumpmässa

1227 00:52:33,080 --> 00:52:34,100 i output på

1228 00:52:35,900 --> 00:52:39,480 två upphöjt till 128 olika möjliga lägen.

1229 00:52:40,240 --> 00:52:41,780 Och så tar du såhär

1230 00:52:42,540 --> 00:52:45,620 hej jag behåller åtta av de här bitarna

1231 00:52:46,140 --> 00:52:48,180 resten av outputen från AES

1232 00:52:48,440 --> 00:52:50,480 de ska nog inte använda till något.

1233 00:52:51,500 --> 00:52:57,900 Så du har liksom en jättestor said random function som ger jättemycket teoretisk slumpmässighet.

1234 00:53:00,220 --> 00:53:02,260 Bara du behåller åtta bitar för att se vad det finns.

1235 00:53:02,820 --> 00:53:06,400 Det finns så himla många bitar, det orkar jag inte ta med mig allihopa.

1236 00:53:06,660 --> 00:53:12,040 Det finns dessutom CFB-1

1237 00:53:12,300 --> 00:53:16,640 då du har en bit CFB-kryptering, så du kör en AES-kryptering för varje bit.

1238 00:53:17,660 --> 00:53:21,000 Den har ju då 50% i möjlighet att hänga sig i sådana här

1239 00:53:21,760 --> 00:53:23,040 attack-signaler.

1240 00:53:26,380 --> 00:53:30,220 Men mina vänner, jag tror det är dags att vi rundar av för den här gången.

1241 00:53:31,500 --> 00:53:32,260 Yes!

1242 00:53:32,820 --> 00:53:34,860 Jag hoppas att ni hade det lika kul som jag.

1243 00:53:37,420 --> 00:53:39,480 Ja, det var ringande tystnad.

1244 00:53:41,260 --> 00:53:44,080 Ja, vi får hoppas att våra lyssnare i alla fall uppskattar det.

1245 00:53:44,340 --> 00:53:50,480 Och gjorde ni det får ni jättegärna lägga några röster på iTunes, det var länge sedan.

1246 00:53:51,000 --> 00:53:54,320 Eller skriv till oss på Twitter eller dela oss med en vän.

1247 00:53:54,580 --> 00:53:55,860 Det uppskattar vi väldigt mycket.

1248 00:53:56,380 --> 00:53:57,140 Så är det faktiskt.

1249 00:53:58,420 --> 00:53:59,700 Med de orden

1250 00:53:59,960 --> 00:54:02,780 tackar vi för den här gången. Jag som pratade till Johan Ryberg-Möller med mig här idag.

1251 00:54:02,820 --> 00:54:03,580 Det är jag och Jesper Larsson.

1252 00:54:03,840 --> 00:54:04,620 Yes!

1253 00:54:04,860 --> 00:54:05,900 Mattias Idagre.

1254 00:54:06,140 --> 00:54:06,660 Woho!

1255 00:54:06,920 --> 00:54:07,680 Och Peter Magnusson.

1256 00:54:08,200 --> 00:54:09,740 En syrig.

1257 00:54:10,760 --> 00:54:11,520 Ha det så bra, hejdå!

1258 00:54:12,040 --> 00:54:13,580 Hej då!