Translated by Mikko Heikkinen (ITKST56 course assignment at JYU.FI)
[Musiikkia]
OK. Seuraavaksi puhuu Timo Longin,
joka tunnetaan myös nimellä Timo Login.
Hän tietoturvakonsultti ja tutkija. Hän tulee puhumaan uudesta tekniikasta
nimeltään SMTP Smuggling,
jolla voidaan väärentää sähköposteja
ja hyväksikäyttää eräitä eniten käytettyjä palveluita internetissä.
Kiitos. Annetaan Timolle applodit.
[Applodeja]
Kiitos esittelystä.
Ensinnäkin, pulskat pahoittelut omasta ja SEC Consult:n puolesta
tämän katastrofaalisen haavoittuvuuden julkaisemisesta.
Erityisesti pahoittelut Wietselle ja Viktorille korjausten jälkikorjauksesta
sekä kaikille järjestelmävalvojille ympäri maailman,
jotka ovat joutuneet asentamaan korjauksia joululoman aikana.
Ja lisäksi, joka tapauksessa,
suuret kiitokset Wietselle ja Viktorille
heidän sitoutumisestaan.
Ja lisäksi suuret kiitokset yhteisölle
tämän ongelman viemisestä julkaisujärjestelmiin ja niin edelleen.
Ja kaikille... Okei...
[Applodeja]
Ja kaikille niille,
joilla ei ole mitään hajua tästä.
Joten minäpä autan teidät samalle sivulle.
Noin vuosi sitten olin juuri
lopettanut tutkimukseni DNS:n parissa.
ja etsin uutta tutkimuskohdetta,
kun löysin todennäköisesti helpoimman
tavan hakkeroida yrityksen
ja kaikki tämä vain yhdellä
yksinkertaisella Google-haulla.
[Yleisön naurua]
Ja tämä saattaa kuulostaa tyhmälle,
mutta tämä johdatti minut suuntaan,
jonka jo tiesin, mutta en ollut ymmärtänyt.
Ja se on, että tietojen kalastelu on edelleen
numero 1 ensipääsyvektori yritykseen
ja sitten minulla välähti:
Miksen tutkisi SMTP:tä,
simple mail transfer protocol:aa
jota käytetään miljardien sähköpostien
lähettämiseen joka päivä ympäri maailman
kuten on tehty viimeisen 40 vuoden ajan.
Joten matkani eteni DNS:stä SMTP:hen
ja tänään esittelen uuden
SMTP Smuggling -tekniikan
sähköpostien väärentämiseksi.
Kuka olenkaan? OIen Timo Longin
ja työskentelen tietoturvakonsulttina
SEC Consult -yhtiössä ja
päivisin teen penetraatiotestausta
ja öisin teen haavoittuvuustutkimusta.
Ja viimeisen kolmen vuoden aikana olen
tutkinut paljon DNS-haavoittuvuuksia.
Ja olen julkaissut paljon blogikirjoituksia ja työkaluja.
Ja minun täytyi siirtyä eteenpäin.
Edellisen kerran, kun joku SEC Consult:sta puhui CCC:ssä...
se oli... dildoista.
[Yleisön naurua]
Ja tiedän, että joudun tuottamaan osalle
teistä pettymyksen,
mutta tämä esitys ei kerro
ihmiseen penetroitumisesta.
Esitys kertoo tunkeutumisesta SMTP-protokollan muurien läpi.
Joten nähdäksemme miten tämä toimii
on meidän ensin ymmärrettävä
miten sähköpostien lähetys yleensäkin toimii.
Joten tässä meillä on melko yksinkertainen sähköposti-infrastuktuuri.
Meillä on sähköpostikäyttäjäagentti,
kuten Thunderbird, ja Thunderbird haluaa lähettää sähköpostin
esimerkiksi käyttäjänä user@outlook.com.
Joten jos haluamme lähettää sähköpostin tällä tavalla
meidän täytyy ensin tunnistautua
Outlook mail transfer agentille tai
ulospäin menevälle SMTP palvelimelle.
Ja kun olemme tunnistautuneet,
voimme lähettää sähköpostin käyttäjänä user@outlook.com.
Ja vain käyttäjänä user@outlook.com.
Tämän jälkeen viesti siirretään vastaanottajan
SMTP-palvelimelle ja tämä palvelin
tarkistaa viestin aitouden.
Ja kaikkein yleisen tapa tehdä tämä on SPF.
Vastaanottava SMTP-palvelin saa SPF-tietueen
DNS-palvelun kautta outlook.com osoitteelle.
Ja tarkistaa sen jälkeen, että tämä IP-osoite
ja IP-alue on sallittu lähettää sähköpostiviestejä
outlook.com osoitteelle.
Tässä tapauksessa todellinen Outlook SMTP-palvelin
tai ulospäin lähtevä SMTP-palvelin lähetti viestin,
vastaanottava SMTP-palvelin
hyväksyy viestin.
Ja nyt luonnollisesti tässä on erittäin
mielenkiintoinen kysymys.
Ja kysymys on: onko hyökkääjän mahdollista
lähettää sähköpostiviesti
esimerkiksi osoitteesta admin@outlook.com tai
väärennetystä sähköpostiosoitteesta?
Tätä me selvitämme tänään
ja se on enemmän tai vähemmän
tämän tutkimuksen tavoitteista.
En tiedä oletteko huomanneet,
mutta näiden palvelimien värit
muistuttavat minusta Paavo Pesusieneä
ja Patrik Tähtöstä.
Ja sen vuoksi kutsumme niitä niiksi.
Tutkimuksen yleinen tavoite ja
tutkimuksen peruste oli löytää
tapa väärentää sähköposteja.
Ja ajattelin, että miksi en ottaisi haavoittuvuuksia
muista tekstipohjaisista protokollista,
kuten HTTP:stä, ja soveltaisi niitä SMTP:hen.
Ja oli yksi HTTP haavoittuvuus, joka sopi kuvaan
ja se oli HTTP-pyynnön käpelöinti.
Tässä meillä on taas Paavo ja Patrik,
mutta tällä kertaa HTTP-maailmassa.
Joten, mitä tässä tapahuu? Paavo Pesusieni saa
POST-tyyppisen pyynnön internetin yli
Mielenkiintoista tässä pyynnössä on se,
että siinä on kaksi otsikkoa
kuinka käsitellä POST-pyynnön data.
Siinä on Content-Length -otsikko, jonka arvona
43 tavua.
Ja siinä on myös Transfer-Encoding -otsikko.
Nyt Paavo Pesusienen täytyy päättää,
miten käsittelen pyynnön ja Paavo päättää
käyttää Content-Length otsikkoa, koska se on
43 tavua.
Joten kaikki punaisella kehystetty data
on välitetty Patrikille.
Patrikilla ei ole mitään hajua mitä tehdä - pitäisikö
minun tulkita Content-Lenth otsikkoa vai
Transfer-Encoding -otsikko? Patrik päättää
tulkita Transfer-Encoding otsikkoa ja
nyt meillä on eriävät tulkinnat:
Paavo Pesusieni käyttää Content-Length -otsikkoa
ja Patrik Tähtönen käyttää Transfer-Encoding -otsikkoa.
Ja koska Transfer-Encoding on määritetty "chunked" ("paloiteltu") ja
ja ensimmäinen pala on 0,
on loput Paavo Pesusienen lähettämästä datasta
tulkittu toiseksi pyynnöksi.
Itse asiassa tämä tarkoittaa, että Paavo näkee
yhden pyynnön ja Patrik kaksi pyyntöä.
Ja toinen pyyntö voidaan kohdistaa mielivaltaiseen
resurssipolkuun, kuten "Admin",
joka tässä esimerkissä on avoin vain sisäisesti
palvelimella.