< Return to Video

37C3 - SMTP Smuggling – Spoofing E-Mails Worldwide

  • 0:00 - 0:05
    Translated by Mikko Heikkinen (ITKST56 course assignment at JYU.FI)
  • 0:05 - 0:14
    [Musiikkia]
  • 0:14 - 0:18
    OK. Seuraavaksi puhuu Timo Longin,
  • 0:19 - 0:22
    joka tunnetaan myös nimellä Timo Login.
  • 0:22 - 0:27
    Hän tietoturvakonsultti ja tutkija. Hän tulee puhumaan uudesta tekniikasta
  • 0:28 - 0:30
    nimeltään SMTP Smuggling,
  • 0:30 - 0:32
    jolla voidaan väärentää sähköposteja
  • 0:32 - 0:34
    ja hyväksikäyttää eräitä eniten käytettyjä palveluita internetissä.
  • 0:34 - 0:37
    Kiitos. Annetaan Timolle applodit.
  • 0:38 - 0:42
    [Applodeja]
  • 0:43 - 0:45
    Kiitos esittelystä.
  • 0:45 - 0:50
    Ensinnäkin, pulskat pahoittelut omasta ja SEC Consult:n puolesta
  • 0:50 - 0:54
    tämän katastrofaalisen haavoittuvuuden julkaisemisesta.
  • 0:55 - 1:01
    Erityisesti pahoittelut Wietselle ja Viktorille korjausten jälkikorjauksesta
  • 1:01 - 1:05
    sekä kaikille järjestelmävalvojille ympäri maailman,
  • 1:06 - 1:09
    jotka ovat joutuneet asentamaan korjauksia joululoman aikana.
  • 1:09 - 1:12
    Ja lisäksi, joka tapauksessa,
  • 1:12 - 1:16
    suuret kiitokset Wietselle ja Viktorille
  • 1:16 - 1:20
    heidän sitoutumisestaan.
  • 1:20 - 1:22
    Ja lisäksi suuret kiitokset yhteisölle
  • 1:22 - 1:25
    tämän ongelman viemisestä julkaisujärjestelmiin ja niin edelleen.
  • 1:26 - 1:28
    Ja kaikille... Okei...
  • 1:28 - 1:33
    [Applodeja]
  • 1:35 - 1:37
    Ja kaikille niille,
  • 1:37 - 1:39
    joilla ei ole mitään hajua tästä.
  • 1:39 - 1:42
    Joten minäpä autan teidät samalle sivulle.
  • 1:42 - 1:44
    Noin vuosi sitten olin juuri
  • 1:44 - 1:47
    lopettanut tutkimukseni DNS:n parissa.
  • 1:47 - 1:49
    ja etsin uutta tutkimuskohdetta,
  • 1:49 - 1:52
    kun löysin todennäköisesti helpoimman
  • 1:52 - 1:55
    tavan hakkeroida yrityksen
  • 1:55 - 1:57
    ja kaikki tämä vain yhdellä
  • 1:57 - 1:59
    yksinkertaisella Google-haulla.
  • 1:59 - 2:01
    [Yleisön naurua]
  • 2:01 - 2:04
    Ja tämä saattaa kuulostaa tyhmälle,
  • 2:04 - 2:06
    mutta tämä johdatti minut suuntaan,
  • 2:06 - 2:09
    jonka jo tiesin, mutta en ollut ymmärtänyt.
  • 2:10 - 2:13
    Ja se on, että tietojen kalastelu on edelleen
  • 2:13 - 2:16
    numero 1 ensipääsyvektori yritykseen
  • 2:16 - 2:18
    ja sitten minulla välähti:
  • 2:18 - 2:19
    Miksen tutkisi SMTP:tä,
  • 2:20 - 2:21
    simple mail transfer protocol:aa
  • 2:21 - 2:24
    jota käytetään miljardien sähköpostien
  • 2:24 - 2:26
    lähettämiseen joka päivä ympäri maailman
  • 2:26 - 2:28
    kuten on tehty viimeisen 40 vuoden ajan.
  • 2:28 - 2:31
    Joten matkani eteni DNS:stä SMTP:hen
  • 2:31 - 2:33
    ja tänään esittelen uuden
  • 2:33 - 2:35
    SMTP Smuggling -tekniikan
  • 2:35 - 2:37
    sähköpostien väärentämiseksi.
  • 2:37 - 2:40
    Kuka olenkaan? OIen Timo Longin
  • 2:40 - 2:42
    ja työskentelen tietoturvakonsulttina
  • 2:42 - 2:43
    SEC Consult -yhtiössä ja
  • 2:43 - 2:45
    päivisin teen penetraatiotestausta
  • 2:45 - 2:48
    ja öisin teen haavoittuvuustutkimusta.
  • 2:48 - 2:50
    Ja viimeisen kolmen vuoden aikana olen
  • 2:51 - 2:53
    tutkinut paljon DNS-haavoittuvuuksia.
  • 2:53 - 2:56
    Ja olen julkaissut paljon blogikirjoituksia ja työkaluja.
  • 2:56 - 2:59
    Ja minun täytyi siirtyä eteenpäin.
  • 2:59 - 3:03
    Edellisen kerran, kun joku SEC Consult:sta puhui CCC:ssä...
  • 3:05 - 3:07
    se oli... dildoista.
  • 3:07 - 3:09
    [Yleisön naurua]
  • 3:09 - 3:12
    Ja tiedän, että joudun tuottamaan osalle
  • 3:12 - 3:14
    teistä pettymyksen,
  • 3:14 - 3:15
    mutta tämä esitys ei kerro
  • 3:15 - 3:18
    ihmiseen penetroitumisesta.
  • Not Synced
    Esitys kertoo tunkeutumisesta SMTP-protokollan muurien läpi.
  • Not Synced
    Joten nähdäksemme miten tämä toimii
  • Not Synced
    on meidän ensin ymmärrettävä
  • Not Synced
    miten sähköpostien lähetys yleensäkin toimii.
  • Not Synced
    Joten tässä meillä on melko yksinkertainen sähköposti-infrastuktuuri.
  • Not Synced
    Meillä on sähköpostikäyttäjäagentti,
  • Not Synced
    kuten Thunderbird, ja Thunderbird haluaa lähettää sähköpostin
  • Not Synced
    esimerkiksi käyttäjänä user@outlook.com.
  • Not Synced
    Joten jos haluamme lähettää sähköpostin tällä tavalla
  • Not Synced
    meidän täytyy ensin tunnistautua
  • Not Synced
    Outlook mail transfer agentille tai
  • Not Synced
    ulospäin menevälle SMTP palvelimelle.
  • Not Synced
    Ja kun olemme tunnistautuneet,
  • Not Synced
    voimme lähettää sähköpostin käyttäjänä user@outlook.com.
  • Not Synced
    Ja vain käyttäjänä user@outlook.com.
  • Not Synced
    Tämän jälkeen viesti siirretään vastaanottajan
  • Not Synced
    SMTP-palvelimelle ja tämä palvelin
  • Not Synced
    tarkistaa viestin aitouden.
  • Not Synced
    Ja kaikkein yleisen tapa tehdä tämä on SPF.
  • Not Synced
    Vastaanottava SMTP-palvelin saa SPF-tietueen
  • Not Synced
    DNS-palvelun kautta outlook.com osoitteelle.
  • Not Synced
    Ja tarkistaa sen jälkeen, että tämä IP-osoite
  • Not Synced
    ja IP-alue on sallittu lähettää sähköpostiviestejä
  • Not Synced
    outlook.com osoitteelle.
  • Not Synced
    Tässä tapauksessa todellinen Outlook SMTP-palvelin
  • Not Synced
    tai ulospäin lähtevä SMTP-palvelin lähetti viestin,
  • Not Synced
    vastaanottava SMTP-palvelin
  • Not Synced
    hyväksyy viestin.
  • Not Synced
    Ja nyt luonnollisesti tässä on erittäin
  • Not Synced
    mielenkiintoinen kysymys.
  • Not Synced
    Ja kysymys on: onko hyökkääjän mahdollista
  • Not Synced
    lähettää sähköpostiviesti
  • Not Synced
    esimerkiksi osoitteesta admin@outlook.com tai
  • Not Synced
    väärennetystä sähköpostiosoitteesta?
  • Not Synced
    Tätä me selvitämme tänään
  • Not Synced
    ja se on enemmän tai vähemmän
  • Not Synced
    tämän tutkimuksen tavoitteista.
  • Not Synced
    En tiedä oletteko huomanneet,
  • Not Synced
    mutta näiden palvelimien värit
  • Not Synced
    muistuttavat minusta Paavo Pesusieneä
  • Not Synced
    ja Patrik Tähtöstä.
  • Not Synced
    Ja sen vuoksi kutsumme niitä niiksi.
  • Not Synced
    Tutkimuksen yleinen tavoite ja
  • Not Synced
    tutkimuksen peruste oli löytää
  • Not Synced
    tapa väärentää sähköposteja.
  • Not Synced
    Ja ajattelin, että miksi en ottaisi haavoittuvuuksia
  • Not Synced
    muista tekstipohjaisista protokollista,
  • Not Synced
    kuten HTTP:stä, ja soveltaisi niitä SMTP:hen.
  • Not Synced
    Ja oli yksi HTTP haavoittuvuus, joka sopi kuvaan
  • Not Synced
    ja se oli HTTP-pyynnön käpelöinti.
  • Not Synced
    Tässä meillä on taas Paavo ja Patrik,
  • Not Synced
    mutta tällä kertaa HTTP-maailmassa.
  • Not Synced
    Joten, mitä tässä tapahuu? Paavo Pesusieni saa
    POST-tyyppisen pyynnön internetin yli
  • Not Synced
    Mielenkiintoista tässä pyynnössä on se,
    että siinä on kaksi otsikkoa
  • Not Synced
    kuinka käsitellä POST-pyynnön data.
  • Not Synced
    Siinä on Content-Length -otsikko, jonka arvona
    43 tavua.
  • Not Synced
    Ja siinä on myös Transfer-Encoding -otsikko.
  • Not Synced
    Nyt Paavo Pesusienen täytyy päättää,
    miten käsittelen pyynnön ja Paavo päättää
  • Not Synced
    käyttää Content-Length otsikkoa, koska se on
    43 tavua.
  • Not Synced
    Joten kaikki punaisella kehystetty data
    on välitetty Patrikille.
  • Not Synced
    Patrikilla ei ole mitään hajua mitä tehdä - pitäisikö
    minun tulkita Content-Lenth otsikkoa vai
  • Not Synced
    Transfer-Encoding -otsikko? Patrik päättää
    tulkita Transfer-Encoding otsikkoa ja
  • Not Synced
    nyt meillä on eriävät tulkinnat:
  • Not Synced
    Paavo Pesusieni käyttää Content-Length -otsikkoa
    ja Patrik Tähtönen käyttää Transfer-Encoding -otsikkoa.
  • Not Synced
    Ja koska Transfer-Encoding on määritetty "chunked" ("paloiteltu") ja
    ja ensimmäinen pala on 0,
  • Not Synced
    on loput Paavo Pesusienen lähettämästä datasta
    tulkittu toiseksi pyynnöksi.
  • Not Synced
    Itse asiassa tämä tarkoittaa, että Paavo näkee
    yhden pyynnön ja Patrik kaksi pyyntöä.
  • Not Synced
    Ja toinen pyyntö voidaan kohdistaa mielivaltaiseen
    resurssipolkuun, kuten "Admin",
  • Not Synced
    joka tässä esimerkissä on avoin vain sisäisesti
    palvelimella.
  • Not Synced
    Joka on tietenkin ongelma.
  • Not Synced
    Joten ajattelin, että miksi en ottaisi
    näitä tulkintaeroja
  • Not Synced
    ja laittaisi niitä SMTP:hen.
  • Not Synced
    Ymmärtääksemme... tai ainakin päästäksemme
    lähemmäs ymmärrystä miten tämä toimii,
  • Not Synced
    täytyy meidän katsoa ensin itse SMTP
    protokollaa.
  • Not Synced
    Joten, SMTP näyttää kuta kuinkin tältä.
  • Not Synced
    Meillä on kaksi komponenttia: SMTP komennot
    punaisella ja sinisellä viestin data.
  • Not Synced
    Lähettääksemme viestin, meidän tulee ensin
    lähettää SMTP komennot:
  • Not Synced
    Meidän pitää esitellä itsemme, kertoa lähettäjän
    osoite, yksi tai useampi vastaanottajan osoite ja
  • Not Synced
    sitten lähetämme "data" komennon
    kertoaksemme vastaanottavalle SMTP-palvelimelle
  • Not Synced
    että olemme nyt vastaanottamassa varsinaista
    viestin dataa.
  • Not Synced
    Ja sitten lähetämme viestin datan: määrittelemme
    lähettäjän osoitteen uudelleen, vastaanottajan osoitteen
    ja viestin aiheen.
  • Not Synced
    Ja sitten tulee viestin leipäteksti.
  • Not Synced
    Ja kun jossain vaiheessa haluamme
    lopettaa viestin datan lähettämisen,
  • Not Synced
    meidän tulee lähettää jotain. jota kutsumme
    datan lopetussekvensiksi.
  • Not Synced
    Se on "<paluu rivin alkuun><rivinvaihto> piste <paluu rivin alkuun><rivinvaihto>"
    [kääntäjän kommentti: jatkossa .]
  • Not Synced
    Tässä vaiheessa ajattelin, että ehkä voisimme
    hämätä tällä jotenkin SMTP-palvelinten toteutuksia.
  • Not Synced
    Ajatus oli siis, että meillä on jälleen Paavo Pesusieni
    ja lähetämme sähköpostin Paavo Pesusienelle [SIC].
  • Not Synced
    Ja tämä sähköposti sisältää jotain
    todella outoa, jotain joka näyttää
  • Not Synced
    lopetussekvensille, mutta se ei ole sitä.
  • Not Synced
    Koska se ei ole yhdenmukainen RFC:n kanssa, joku
    voisi virheellisesti tulkita sen datan lopetussekvensiksi.
  • Not Synced
    Joten Paavo Pesusieni katsoo tätä ja ajattelee
    ettei tämä ole RFC:stä, en tulkitse tätä
    "end-of-data" sekvensiksi
  • Not Synced
    Ja seuraavaksi... tai viestin data siihen saakka,
    kunnes varsinainen datan lopetussekvenssi tulee.
  • Not Synced
    Sitten Paavo Pesusieni lähettää viestin Patrikille
  • Not Synced
    Ja Patrik on "Jeah, en välitä mistään RFC:stä ja
    ja tulkitsen väärän datan lopetussekvenssi
  • Not Synced
    varsinaiseksi datan lopetusmerkiksi."
  • Not Synced
    Ja ongelmaksi tässä tulee, että kaikki väärin
    tulkitun lopetussekvenssin tulkitaan SMPT-komennoiksi
  • Not Synced
    Ja nyt hyökkääjänä voimme luoda SMTP-komentoja,
    jotka lähettävät toisen sähköpostiviestin.
  • Not Synced
    Vaikka Paavo Pesusieni näki yhden ison
    sähköpostiviestin, Patrik näkee kaksi pienempää viestiä.
  • Not Synced
    Ja ongelma on se, että toinen viesti voi sisältää
    mielivaltaisia SMTP-komentoja.
  • Not Synced
    Kuten, että viesti tulee osoitteesta admin@outlook.com
    tai mitä tahansa.
  • Not Synced
    Näin ainakin teoriassa.
  • Not Synced
    Nähdäkseni toimiiko tämä todella.
  • Not Synced
    Tutkin muutamia SMTP-palvelinten
    toteutuksia yksinkertaisesti
  • Not Synced
    ottamalla niihin yhteyttä telnet:llä tai
    netcat:lla.
  • Not Synced
    Kun tein tämän, se näytti aluksi RFC:n mukaiselta.
  • Not Synced
    Kun lähetät datakomennon, palvelin pyytää
    lopettamaan datan lähettämisen . merkeillä.
  • Not Synced
    Sitten löysin myös palvelimia, jotka sanoivat:
    "lähetä minulla rivi, jossa on vain piste"
  • Not Synced
    Ja tämä asia riippuu paljon käytettävästä
    käyttöjärjestelmästä.
  • Not Synced
    Windows:ssa tämä voi olla <CR><LF>.<CR><LF>
    ja se voi olla .
  • Not Synced
    Siinä kohtaa ajattelin, että tässä voisi
    olla jotain.
  • Not Synced
    Ja kokeilin jotain.
  • Not Synced
    Ensimmäiseksi kokeilin työntää <CR>-, <LF>- ja piste-
    merkkejä Paavo Pesusienen kautta.
  • Not Synced
    Joten kirjoitin SMTP analyysisovelluksen, joka
    lähettää virheellisiä data lopetussekvenssejä,
  • Not Synced
    kuten <LF>.<LF> Ja lähetin viestejä eri SMTP-
    ohjelmistoilla,
  • Not Synced
    sisältäen sähköpostipalveluita Gmail, Outlook, GMX
  • Not Synced
    ja lisäksi sähköpostiohjelmistoja kuten Postfix,
    Exim, Microsoft Exchange Server ja niin edelleen.
  • Not Synced
    Vastaanottavalla puolella tutkin, että mitkä
    vääristä sekvensseistä menee itse asiassa läpi.
  • Not Synced
    Voinko lähettää komennon <LF>.<LF> lähtevän palvelimen
    kautta?
  • Not Synced
    Ja useimmissa tapauksissa se ei toiminut.
  • Not Synced
    <LF>.<LF> on usein suodatettu tai poistettu
    alkuperäisestä viestistä.
  • Not Synced
    Mutta jossain tapauksissa se menee läpi muuttumattomana.
  • Not Synced
    Tämä oli tilanne GMX:n kohdalla. Lähetin sähköpostin
    GMX:stä analyysipalvelimelleni
  • Not Synced
    ja <LF>.<CR><LF> merkkejä ei poistettu.
  • Not Synced
    Seuraavaksi tein proof-of-concept:n, jossa on
    väärennetty datan lopetussekvenssi
  • Not Synced
    ja sen jälkeen toinen sähköpostiviesti.
  • Not Synced
    Jos tämä proof-of-concept toimii,
  • Not Synced
    meidän pitäisi saada kaksi viestiä
    vastaanottajan puolella.
  • Not Synced
    Lähetin tämän kaiken Gmailiin.
  • Not Synced
    Ja Gmail oli sitä mieltä,
    että "tämä ei ei ole datan lopetussekvenssi".
  • Not Synced
    Ja sen näkee siitä, että datan lopetussekvenssin
    jälkeen kaikki on edelleen tulkittu viestin dataksi.
  • Not Synced
    Mutta joissain tapauksissä tämä itse asiassa toimi.
  • Not Synced
    Tämä oli ensimmäinen onnistunut
    SMTP Smuggling tapaus, GMX:stä Fastmail:iin.
  • Not Synced
    Me näemme, että se toimii. Meillä on ensin
    viesti käyttäjältä user@gmx.net
  • Not Synced
    ja toinen viesti käyttäjältä admin@gmx.net,
  • Not Synced
    jotka läpäisevät SPF ja DMARC tarkistukset,
    koska ne tulevat GMX:n palvelimelta.
  • Not Synced
    [Applodeja]
  • Not Synced
    Minä olin, että "tämä on aivan sairasta!"
  • Not Synced
    Ajattelin, että meillä on tämä toinen viesti
    ja siinä voi olla mitä tahansa.
  • Not Synced
    Kuten lähettäjän osoite voi olla mitä vaan.
  • Not Synced
    Joten miksi en kokeilisi muita domaineja,
    jotka osoittavat GMX:n palvelimeen?
  • Not Synced
    Sitten analysoin SPF tietueen ja tajusin...
  • Not Synced
    Tässä on GMX:n SPF-tietue, mutta se on hyvin
    samankaltainen web.de:n tietueen, joka puolestaan
  • Not Synced
    on hyvin samankaltainen Ionoksen tietueen kanssa.
  • Not Synced
    Ja jeah, tilanne on nyt se, että tällä me voimme
    väärentää 1.35 miljoonaa domainia.
  • Not Synced
    Jos ette tiedä mikä Ionos on, niin se on superiso
    hosting- ja sähköpostipalveluiden tarjoaja.
  • Not Synced
    Ja heillä on nämä 1.35 miljoonaa domainia
    kytketty tähän.
  • Not Synced
    Joten, minun täytyi tietenkin kokeilla tätä.
  • Not Synced
    Tässä on sähköposti osoitteesta admin@web.de
  • Not Synced
    Nyt kysymys on tietysti, että toimiiko
    tämä kaikkialla?
  • Not Synced
    Kuten sanoin, niin tämä palvelimilla,
    jotka tulkitsevat lopetussekvenssit
  • Not Synced
    tavalla, joka ei ole RFC:n mukainen,
    kuten .
  • Not Synced
    Voimme siis väärentää 1.35 miljoonaa domainia.
  • Not Synced
    Joten pohjimmiltaan meillä on 1.4 miljoonaa Postifix instansia
    ja 150 tuhatta Sendmail instanssia.
  • Not Synced
    Ja tämä toimii, koska ne tulkitsevat...
  • Not Synced
    [puhuja sekoilee sanoissaan]
  • Not Synced
    Ne tulkitsevat <LF>.<CR><LF>, sekoilen itsekin sanoissani,
    lopetussekvensiksi.
  • Not Synced
    Ja olin, että OK, tämä on aika vakavaa.
  • Not Synced
    Mutta tässä on muutakin.
  • Not Synced
    Katsoin outlook.comia myös ja Outlook
    palautti todella oudon virheilmoituksen
  • Not Synced
    koska siinä on, että pelkät rivinvaihdot
    eivät ole sallittuja.
  • Not Synced
    Olin siinä kohtaa, että pahus, ne tietää
    mitä olen tekemässä.
  • Not Synced
    [Yleisöän naurua]
  • Not Synced
    Siksi analysoin sen tarkemmin, ette pysty
    minua tuolla pelottelemaan.
  • Not Synced
    Joten löysin, että <LF>.<CR><LF>
    on mahdollinen täällä.
  • Not Synced
    [Yleisön applodeja]
  • Not Synced
    Jeah, pidetään vähän hauskaa.
  • Not Synced
    Tässä kohtaa en ollut varma, että
    olenko tulossa hulluksi
  • Not Synced
    vai toimiiko tämä todella.
  • Not Synced
    Joten tarvitsin jonkinlaisen tarkistuksen.
  • Not Synced
    Ja niinpä lähetin sähköpostin
    osoitteesta admin@outlook.com
  • Not Synced
    yhdelle kollegoistani. Idea oli siinä,
    että jos he reagoivat tähän,
  • Not Synced
    se toimii, muutoin olen tullut hulluksi.
  • Not Synced
    Joten....
  • Not Synced
    [Yleisön naurua]
  • Not Synced
    Ja ehkä nyt hieman kansainvälisempi esimerkki,
    koska tämä on todella itävaltalainen, luulen.
  • Not Synced
    Luulen, että ymmärrätte tämän, vaikka ette
    puhu saksaa.
  • Not Synced
    Ja nyt olette, okei, voimme lähettää
    tekstipohjaisia, väärennettyjä sähköposteja
  • Not Synced
    mutta ette pysty huijaamaan tällä ketään
  • Not Synced
    Mutta juttu on siinä, että voimme ujuttaa
    periaatteessa mitä tahansa, HTML mukaan luettuna
  • Not Synced
    Tässä lähetin viestin, kalasteluviestin,
    epätavallisesta kirjautumisesta
  • Not Synced
    osoitteesta no-reply@outlook.com
  • Not Synced
    todelliselta outlook.com palvelimelta itselleni.
  • Not Synced
    Ja se vain meni läpi.
  • Not Synced
    Mutta mitä tämä mahdollistaa?
  • Not Synced
    Pohdiskelin, että voimme väärentää
    outlook.comin, mutta mitä muuta voimme tehdä tällä?
  • Not Synced
    Katsoin SPF tietuetta ja se oli outo,
    oudosti tuttu. koska tämä ei ole
  • Not Synced
    pelkästään outlook.comin SPF tietue
  • Not Synced
    vaan miljoonien muiden domainien SPF tietue.
  • Not Synced
    Sen vuoksi, koska tämä Exchange Online
    palvelun SPF tietue.
  • Not Synced
    Outlook.com lähettää sähköpostit Exchange Online
    infrastruktuurin kautta,
  • Not Synced
    joten voimme itse asiassa väärentää ne kaikki.
Title:
37C3 - SMTP Smuggling – Spoofing E-Mails Worldwide
Description:

more » « less
Video Language:
English
Duration:
31:40

Finnish subtitles

Revisions Compare revisions