Progress Software Corporation, joka myy ohjelmistoja ja palveluita käyttöliittymien kehittämiseen, devopsiin, tiedostojen hallintaan ja muihin tarkoituksiin, varoitti asiakkaistaan viime viikolla MOVEitTransfer ja niihin liittyvät MOVEit Cloud tuotteet noin a kriittinen haavoittuvuus dubattuna CVE-2023-34362.
Kuten nimestä voi päätellä, MOVEit Transfer on järjestelmä, jonka avulla tiedostojen tallentaminen ja jakaminen on helppoa tiimissä, osastossa, yrityksessä tai jopa toimitusketjussa.
Sen omat sanat, "MOVEit tarjoaa turvallisen yhteistyön ja arkaluonteisten tietojen automaattisen tiedostosiirron ja edistyneitä työnkulun automatisointiominaisuuksia ilman komentosarjoja."
Valitettavasti MOVEitin verkkopohjaisessa käyttöliittymässä, joka tekee tiedostojen jakamisesta ja hallinnasta helppoa vain verkkoselaimella (prosessi, jota pidetään yleensä vähemmän alttiina väärin ohjatuille tai "kadonneille" tiedostoille kuin niiden jakaminen sähköpostitse), osoittautui sisältävän SQL:n. ruiskeen haavoittuvuus.
SQL-injektiot selitetty
Web-pohjaisia SQL-injektiovirheitä syntyy, kun HTTP-pyyntö lähetetään web-palvelimelle muunnetaan epävarmasti kyselykomennoksi, joka sitten annetaan palvelimen toimesta itse suorittaa tietokannan haun selvittääkseen, minkä HTTP-vastauksen muodostaa.
Esimerkiksi verkkosivulta käynnistetty tietokantahaku saattaa päätyä selaimesi pyytämään URL-osoitteeseen, joka näyttää tältä:
https://search.example.com/?type=file&name=duck
Kyselyn teksti duck
voidaan sitten purkaa URL-osoitteen nimiparametrista, muuntaa tietokantakyselyn syntaksiksi ja yhdistää komennon tietokantapalvelimelle lähetettäväksi.
Jos taustatiedot on tallennettu SQL-tietokantaan, verkkopalvelin saattaa muuntaa URL-osoitteen alla esitetyn kaltaiseksi SQL-komennoksi.
- %
tekstiin lisättyjä merkkejä duck
tarkoittaa, että hakutermi voi esiintyä missä tahansa haetussa tiedostonimessä, ja yksittäiset lainausmerkit molemmissa päissä on lisätty merkeiksi SQL-tekstimerkkijonoon:
SELECT tiedostonimi FROM filesdb WHERE nimi LIKE '%duck%'
Kyselystä tulevat tiedot voitaisiin sitten muotoilla hienosti, muuntaa HTML-muotoon ja lähettää takaisin HTTP-vastauksena selaimeesi, jolloin saat ehkä napsautettavan luettelon vastaavista tiedostoista ladattavaksi.
Tietysti verkkopalvelimen on oltava todella varovainen hakutermeinä lähetettävien tiedostonimien kanssa siltä varalta, että pahantahtoinen käyttäjä luo ja pyytää seuraavanlaisen URL-osoitteen:
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
Jos tämä hakutermi muunnetaan sokeasti kyselymerkkijonoksi, saatat pystyä huijaamaan verkkopalvelimen lähettämään SQL-palvelimelle seuraavanlaisen komennon:
SELECT tiedostonimi FROM filesdb WHERE nimi LIKE '%duck';DROP TABLE filesdb;--%'
Koska puolipiste (;
) toimii lauseen erottimena SQL:ssä, tämä yksirivinen komento on itse asiassa sama kuin kolmen peräkkäisen komennon lähettäminen:
SELECT tiedostonimi FROM filesdb WHERE nimi LIKE '%duck' -- vastaa nimiä, jotka päättyvät ankka DROP TABLE filesdb -- poistaa koko tietokannan --%' -- kommentti, ei tee mitään
Huivasti, koska joka kerta --
SQL hylkää sen ohjelmoijan kommentiksi, nämä kolme riviä ovat samat kuin:
SELECT tiedostonimi FROM filesdb WHERE nimi LIKE '%duck' DROP TABLE filedb
Saat takaisin luettelon kaikista tietokannan tiedostonimistä, jotka päättyvät merkkijonoon duck
(erityinen SQL-merkki %
hakusanan alussa tarkoittaa "vastaa mitä tahansa tähän pisteeseen asti"…
…mutta sinä olet viimeinen henkilö, joka saa siitä mitään hyödyllistä filesdb
tietokanta, koska vilpillinen hakutermi seuraa hakua SQL-komennolla koko tietokannan poistamiseksi.
Pienet Bobby-pöydät
Jos olet joskus kuullut järjestelmänvalvojien tai koodaajien vitsailevan Pienet Bobby-pöydät, tämä johtuu siitä, että tällainen SQL-injektio ikuistettiin XKCD sarjakuva takaisin 2007: ssa:
Kuten sarjakuva päättyy viimeiseen ruutuun, sinun on todella desinfioitava tietokantasyötteet, mikä tarkoittaa, että sinun on oltava erittäin varovainen, ettet anna hakutermin lähettävän henkilön hallita sitä, miten mukana olevat taustapalvelimet tulkitsevat hakukomentoa.
Voit nähdä, miksi tällainen temppu tunnetaan injektiohyökkäyksenä: yllä olevissa esimerkeissä haitalliset hakutermit aiheuttavat ylimääräisen SQL-komennon syöttämisen pyynnön käsittelyyn.
Itse asiassa molemmissa näissä esimerkeissä käytetään kahta lisättyä käskyä, jotka seuraavat lujasti lisättyä "sulje lainaus" -merkkiä hakumerkkijonon päättämiseksi aikaisin. Ensimmäinen ylimääräinen komento on tuhoava DROP TABLE
ohje. Toinen on "kommentointikomento", joka saa rivin loppuosan huomiotta ja syö näin viekkaasti loppuun %'
palvelimen komentogeneraattorin luomia merkkejä, jotka muuten olisivat aiheuttaneet syntaksivirheen ja estäneet DROP TABLE
käsky työstä.
Hyviä ja huonoja uutisia
Hyvä uutinen tässä tapauksessa on, että Progress korjasi kaikki tuetut MOVEit-versionsa sekä pilvipohjaisen palvelun, kun se tuli tietoiseksi haavoittuvuudesta.
Joten jos käytät pilviversiota, olet nyt automaattisesti ajan tasalla, ja jos käytät MOVEitiä omassa verkossasi, toivomme, että olet jo korjannut.
Huono uutinen on, että tämä haavoittuvuus oli nollapäivä, mikä tarkoittaa, että Progress sai tietää siitä, koska Bad Guys oli jo käyttänyt sitä hyväkseen sen sijaan, että he keksivät, kuinka se tehdään.
Toisin sanoen siihen mennessä, kun korjasit omat palvelimesi (tai Progress korjasi pilvipalvelunsa), huijarit ovat saattaneet jo ruiskuttaa rikoskomentoja MOVEit SQL -taustatietokantoihin, joilla on useita mahdollisia tuloksia:
- Olemassa olevien tietojen poistaminen. Kuten yllä näkyy, klassinen esimerkki SQL-injektiohyökkäyksestä on laajamittainen tietojen tuhoaminen.
- Olemassa olevien tietojen suodattaminen. SQL-taulukoiden luopumisen sijaan hyökkääjät voivat lisätä omia kyselyitään, jolloin he oppivat paitsi sisäisten tietokantojesi rakenteen, myös poimimaan ja varastamaan niiden mehukkaimmat osat.
- Olemassa olevien tietojen muuttaminen. Hienovaraisemmat hyökkääjät saattavat päättää turmella tai häiritä tietosi sen sijaan, että (tai yhtä hyvin) varastaisivat ne.
- Uusien tiedostojen, mukaan lukien haittaohjelmien, käyttöönotto. Hyökkääjät voivat antaa SQL-komentoja, jotka vuorostaan käynnistävät ulkoisia järjestelmäkomentoja, mikä saa aikaan mielivaltaisen koodin etäsuorittamisen verkossasi.
Yksi hyökkääjien ryhmä, väitetty Microsoftin ollakseen (tai ollakseen yhteydessä) surullisen Clop ransomware -jengiin, ovat ilmeisesti käyttäneet tätä haavoittuvuutta istuttaakseen ns. verkkokuoret vaikuttavilla palvelimilla.
Jos webshells ei ole sinulle tuttu, lue meidän tavallinen englanninkielinen selittäjä jonka julkaisimme ongelmallisten HAFNIUM-hyökkäysten aikaan maaliskuussa 2021:
Verkkokuoren vaara
Yksinkertaisesti sanottuna verkkokuoret tarjoavat hyökkääjille, jotka voivat lisätä uusia tiedostoja verkkopalvelimellesi, tavan palata myöhemmin, murtautua sisään vapaa-ajalla ja siirtää vain kirjoitusoikeudet täydelliseen etähallintaan.
Verkkokuoret toimivat, koska monet verkkopalvelimet käsittelevät tiettyjä tiedostoja (yleensä määritetään niiden hakemiston tai niiden laajennuksen mukaan) suoritettavina komentosarjoina. käytetään takaisinlähetettävän sivun luomiseen, eikä vastauksessa käytettäväksi sisällöksi.
Esimerkiksi Microsoftin IIS (Internet Information Server) on yleensä konfiguroitu niin, että jos selain pyytää tiedostoa, jota kutsutaan esim. hello.html
, sitten tiedoston raaka, muokkaamaton sisältö luetaan sisään ja lähetetään takaisin selaimeen.
Joten jos siinä on haittaohjelmia hello.html
tiedostoa, se vaikuttaa palvelimelle siirtyvään henkilöön, ei itse palvelimeen.
Mutta jos tiedostoa kutsutaan esim. hello.aspx
(jossa ASP on lyhenne itsekuvaavasta lauseesta Aktiiviset palvelinsivut), tiedostoa käsitellään komentosarjaohjelmana, jonka palvelin suorittaa.
Tiedoston suorittaminen ohjelmana sen sijaan, että se vain lukisi sen datana, tuottaa tulosteen, joka lähetetään vastauksena.
Toisin sanoen, jos siinä on haittaohjelmia hello.aspx
tiedostoa, se vaikuttaa suoraan palvelimeen itseensä, ei sitä selaajaan.
Lyhyesti sanottuna webshell-tiedoston pudottaminen komento-injektiohyökkäyksen sivuvaikutuksena tarkoittaa, että hyökkääjät voivat palata myöhemmin ja vierailemalla kyseisen webshell-tiedoston nimeä vastaavassa URL-osoitteessa…
…he voivat ajaa haittaohjelmiaan suoraan verkossasi käyttämällä mitään epäilyttävämpää kuin jokapäiväisen verkkoselaimen tekemää vaatimatonta HTTP-pyyntöä.
Jotkin webshell-komentot koostuvatkin vain yhdestä haitallisen komentosarjan rivistä, esimerkiksi yhdestä komennosta, joka sanoo "hae teksti tietystä HTTP-otsikosta pyynnössä ja suorita se järjestelmäkomentona".
Tämä antaa yleiskäyttöisen komennon ja hallinnan käyttöoikeuden kaikille hyökkääjille, jotka tietävät oikean URL-osoitteen vieraillakseen ja oikean HTTP-otsikon käytettäväksi rogue-komennon toimittamiseen.
Mitä tehdä?
- Jos olet MOVEit-käyttäjä, varmista, että kaikki verkossasi olevat ohjelmiston esiintymät on korjattu.
- Jos et voi korjata juuri nyt, sammuta web-pohjaiset (HTTP ja HTTP) rajapinnat MOVEit-palvelimillesi, kunnes voit. Ilmeisesti tämä haavoittuvuus paljastuu vain MOVEitin verkkoliittymän kautta, ei muiden pääsypolkujen, kuten SFTP:n, kautta.
- Etsi lokeistasi äskettäin lisätyille verkkopalvelintiedostoille, äskettäin luoduille käyttäjätileille ja odottamattoman suurille datalatauksille. Progressilla on luettelo paikoista, joista voit etsiä, sekä tiedostonimiä ja etsiä.
- Jos olet ohjelmoija, desinfioi syötteesi.
- Jos olet SQL-ohjelmoija, käyttänyt parametroituja kyselyitä sen sijaan, että olisi luotu kyselykomentoja, jotka sisältävät pyynnön lähettävän henkilön ohjaamia merkkejä.
Monissa, ellei useimmissa tähän mennessä tutkituissa webshell-pohjaisissa hyökkäyksissä Edistys ehdottaa että löydät todennäköisesti rogue webshell-tiedoston nimeltä human2.aspx
, ehkä yhdessä äskettäin luotujen haitallisten tiedostojen kanssa, joissa on a .cmdline
laajennus.
(Sophos-tuotteet havaitsevat ja estävät tunnetut webshell-tiedostot Troj/WebShel-GO, kutsutaanko niitä human2.aspx
tai ei.)
Muista kuitenkin, että jos muut hyökkääjät tiesivät tästä nollapäivästä ennen korjaustiedoston ilmestymistä, he ovat saattaneet antaa erilaisia ja ehkä hienovaraisempia komentoja, joita ei voida nyt havaita etsimällä jäljelle jääneiden haittaohjelmien varalta tai tekemällä hakuja. tunnetuille tiedostonimille, jotka saattavat näkyä lokeissa.
Älä unohda tarkistaa käyttölokisi yleisesti, ja jos sinulla ei ole aikaa tehdä sitä itse, älä pelkää pyytää apua!
Lisätietoja Sophosin hallinnoima tunnistus ja vastaus:
24/7 uhkien metsästys, havaitseminen ja reagointi ▶
Puuttuuko aika tai asiantuntemus kyberturvallisuusuhkien torjuntaan? Oletko huolissasi siitä, että kyberturvallisuus häiritsee sinua kaikista muista asioista, joita sinun on tehtävä?
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoAiStream. Web3 Data Intelligence. Tietoa laajennettu. Pääsy tästä.
- Tulevaisuuden lyöminen Adryenn Ashley. Pääsy tästä.
- Osta ja myy osakkeita PRE-IPO-yhtiöissä PREIPO®:lla. Pääsy tästä.
- Lähde: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 15%
- 2021
- a
- pystyy
- Meistä
- siitä
- edellä
- absoluuttinen
- pääsy
- Tilit
- saavuttamisessa
- säädökset
- todellinen
- todella
- lisätä
- lisä-
- lisä-
- kehittynyt
- vaikuttaa
- peloissaan
- Jälkeen
- Kaikki
- sallia
- pitkin
- jo
- Myös
- an
- ja
- Kaikki
- mitään
- kaikkialla
- näyttää
- OVAT
- AS
- At
- hyökkäys
- Hyökkäykset
- kirjoittaja
- auto
- Automatisoitu
- automaattisesti
- Automaatio
- tietoinen
- takaisin
- taustaosa
- background-image
- Huono
- BE
- tuli
- koska
- ollut
- ennen
- takana
- alle
- sokeasti
- Tukkia
- poliisi
- reunus
- sekä
- pohja
- rikkominen
- Tauko
- selain
- Selaaminen
- Bugs
- mutta
- by
- nimeltään
- tuli
- CAN
- kyvyt
- joka
- varovainen
- sarjakuva
- tapaus
- Aiheuttaa
- aiheutti
- syyt
- keskus
- tietty
- ketju
- merkki
- merkkejä
- klassinen
- pilvi
- koodi
- yhteistyö
- väri
- Tulla
- tulee
- kommentti
- yritys
- täydellinen
- kytketty
- peräkkäinen
- harkittu
- rakentaa
- pitoisuus
- ohjaus
- hallinnassa
- muuntaa
- muunnetaan
- YHTIÖ
- vastaava
- voisi
- kurssi
- kattaa
- luoda
- luotu
- Crooks
- Asiakkaat
- tietoverkkojen
- tiedot
- tietoturvaloukkauksesta
- tietokanta
- tietokannat
- päättää
- tuottaa
- osasto
- havaittu
- Detection
- määritetty
- Kehitys
- DevOps
- eri
- suoraan
- näyttö
- Häiritä
- do
- ei
- Dont
- download
- lataukset
- Pudota
- pudottamalla
- dubattuna
- kukin
- Varhainen
- helppo
- loppu
- virhe
- Jopa
- EVER
- arjen
- esimerkki
- Esimerkit
- suorittaa
- teloitus
- olemassa
- asiantuntemus
- Käyttää hyväkseen
- avoin
- laajentaminen
- ulkoinen
- lisää
- tosiasia
- tuttu
- paljon
- kuviollinen
- filee
- Asiakirjat
- Löytää
- Etunimi
- seurata
- jälkeen
- varten
- löytyi
- FRAME
- alkaen
- etuosa
- etupään
- Jengi
- general
- yleinen tarkoitus
- yleensä
- tuottaa
- syntyy
- tuottaa
- generaattori
- saada
- antaa
- Antaminen
- hyvä
- suuri
- Ryhmä
- HAD
- Käsittely
- Olla
- kuuli
- korkeus
- toivoa
- liihottaa
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- Metsästys
- if
- Iis
- in
- Mukaan lukien
- pahamaineinen
- tiedot
- pistää
- tuloa
- sen sijaan
- liitäntä
- rajapinnat
- sisäinen
- Internet
- tulee
- aiheuttaa
- osallistuva
- Annettu
- IT
- SEN
- itse
- vain
- vain yksi
- tunnettu
- suuri
- laaja
- Sukunimi
- myöhemmin
- käynnistää
- oppiminen
- vasemmalle
- vähemmän
- pitää
- linja
- linjat
- Lista
- ulkonäkö
- Katso ylös
- tehty
- tehdä
- TEE
- Tekeminen
- haittaohjelmat
- hoitaa
- onnistui
- johto
- monet
- maaliskuu
- Marginaali
- matching
- max-width
- Saattaa..
- tarkoittaa
- merkitys
- välineet
- Microsoft
- ehkä
- lisää
- eniten
- nimi
- nimetty
- nimet
- Tarve
- tarpeet
- verkko
- Uusi
- hiljattain
- uutiset
- normaali
- ei mitään
- nyt
- of
- pois
- on
- kerran
- ONE
- vain
- or
- tilata
- Muut
- muuten
- meidän
- ulos
- tuloksiin
- ulostulo
- oma
- sivulla
- parametri
- osat
- läikkä
- Paavali
- ehkä
- henkilö
- paikat
- Platon
- Platonin tietotieto
- PlatonData
- sijainti
- mahdollinen
- Viestejä
- todennäköisesti
- prosessi
- Tuotteemme
- Ohjelma
- Ohjelmoija
- Edistyminen
- toimittaa
- tarjoaa
- julkaistu
- laittaa
- kyselyt
- lainata
- alue
- ransomware
- pikemminkin
- raaka
- Lue
- Lukeminen
- ihan oikeesti
- liittyvä
- suhteellinen
- kaukosäädin
- vastata
- pyyntö
- pyysi
- pyynnöt
- vastaus
- REST
- arviot
- oikein
- ajaa
- juoksu
- sama
- sanoa
- sanoo
- skannaus
- skriptejä
- Haku
- haku
- Toinen
- turvallinen
- nähdä
- Sells
- lähettää
- lähettäminen
- sensible
- lähetetty
- palvelu
- Palvelut
- Jaa:
- jakaminen
- Lyhyt
- näyttää
- esitetty
- yksinkertaisesti
- single
- So
- niin kaukana
- Tuotteemme
- vankka
- jonkin verran
- erityinen
- erityinen
- SQL
- SQL Injection
- Alkaa
- Lausunto
- verkkokaupasta
- tallennettu
- jono
- rakenne
- antaa
- toimitettu
- niin
- Ehdottaa
- toimittaa
- toimitusketju
- Tuetut
- epäilyttävä
- SVG
- syntaksi
- järjestelmä
- taulukko
- ottaa
- joukkue-
- termi
- ehdot
- kuin
- että
- -
- heidän
- Niitä
- sitten
- Siellä.
- Nämä
- ne
- asiat
- tätä
- uhkaus
- kolmella
- kauttaaltaan
- aika
- että
- ylin
- siirtää
- siirrot
- siirtyminen
- läpinäkyvä
- kohdella
- laukeaa
- VUORO
- Sorvatut
- kaksi
- asti
- ajanmukainen
- URL
- käyttää
- käytetty
- käyttäjä
- Käyttöliittymä
- käyttämällä
- yleensä
- versio
- kautta
- Vierailla
- alttius
- oli
- Tapa..
- we
- verkko
- Web-selain
- Web-palvelin
- Web-pohjainen
- viikko
- HYVIN
- olivat
- Mitä
- kun
- onko
- joka
- KUKA
- koko
- miksi
- tulee
- with
- ilman
- sanoja
- Referenssit
- treenata
- työnkulku
- työnkulun automaatio
- työskentely
- huolestunut
- olisi
- te
- Sinun
- itse
- zephyrnet