Prejšnji teden je družba Progress Software Corporation, ki prodaja programsko opremo in storitve za razvoj uporabniškega vmesnika, devops, upravljanje datotek in več, opozorila stranke na svoje Prenos MOVEit in sorodnih MOVEit Cloud izdelki o a kritična ranljivost poimenovan CVE-2023-34362.
Kot že ime pove, je MOVEit Transfer sistem, ki olajša shranjevanje in skupno rabo datotek v skupini, oddelku, podjetju ali celo dobavni verigi.
V svojem lastne besede, "MOVEit zagotavlja varno sodelovanje in avtomatiziran prenos datotek občutljivih podatkov ter napredne zmožnosti avtomatizacije poteka dela brez potrebe po skriptiranju."
Na žalost se je izkazalo, da ima spletni sprednji del MOVEita, ki omogoča preprosto skupno rabo in upravljanje datotek samo s spletnim brskalnikom (proces, ki na splošno velja za manj nagnjenega k napačno usmerjenim ali »izgubljenim« datotekam kot njihova skupna raba prek e-pošte), SQL ranljivost za injiciranje.
Razložene injekcije SQL
Napake spletnega vbrizgavanja SQL se pojavijo, ko je poslana zahteva HTTP na spletni strežnik se nevarno pretvori v ukaz poizvedbe, ki se nato izda s strani strežnika opravi iskanje po bazi podatkov, da ugotovi, kakšen odgovor HTTP naj sestavi.
Na primer, iskanje po zbirki podatkov, ki se sproži s spletne strani, se lahko konča kot URL, ki ga zahteva vaš brskalnik in je videti takole:
https://search.example.com/?type=file&name=duck
Besedilo poizvedbe duck
lahko nato izvlečete iz parametra imena v URL-ju, pretvorite v sintakso poizvedbe baze podatkov in sestavite v ukaz za predložitev strežniku baze podatkov.
Če so zaledni podatki shranjeni v bazi podatkov SQL, lahko spletni strežnik pretvori ta URL v ukaz SQL, kot je prikazan spodaj.
O %
znakov, dodanih v besedilo duck
pomeni, da se iskalni izraz lahko pojavi kjer koli v pridobljenem imenu datoteke, enojni narekovaji na vsakem koncu pa so dodani kot oznake za označevanje besedilnega niza SQL:
IZBERI ime datoteke FROM filesdb WHERE ime LIKE '%duck%'
Podatke, ki se vrnejo iz poizvedbe, bi lahko nato lepo formatirali, pretvorili v HTML in poslali nazaj kot odgovor HTTP v vaš brskalnik, kar bi vam morda dalo klikniti seznam ujemajočih se datotek, ki jih lahko prenesete.
Seveda mora biti spletni strežnik zelo previden pri imenih datotek, ki so predložena kot iskalni izraz, v primeru, da bi zlonamerni uporabnik ustvaril in zahteval URL, kot je ta:
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
Če bi ta iskalni izraz na slepo pretvorili v poizvedbeni niz, bi lahko spletni strežnik morda pretentali, da bi strežniku SQL poslal ukaz, kot je ta:
SELECT ime datoteke FROM filesdb WHERE ime LIKE '%duck';DROP TABLE filesdb;--%'
Ker podpičje (;
) deluje kot ločilo stavkov v SQL, je ta enovrstični ukaz dejansko enak pošiljanju treh zaporednih ukazov:
IZBERI ime datoteke FROM filesdb WHERE ime LIKE '%duck' -- ujema se z imeni, ki se končajo z duck DROP TABLE filesdb -- izbriše celotno zbirko podatkov --%' -- komentira, ne naredi ničesar
Zahrbtno, saj vsak po --
SQL zavrže kot programerjev komentar, so te tri vrstice enake kot:
SELECT ime datoteke FROM filesdb WHERE ime LIKE '%duck' DROP TABLE filesdb
Dobili boste nazaj seznam vseh imen datotek v bazi podatkov, ki se končajo z nizom duck
(poseben znak SQL %
na začetku iskalnega izraza pomeni "ujema karkoli do te točke")...
...vendar boš zadnja oseba, ki bo iz tega dobila kaj koristnega filesdb
baze podatkov, ker bo vaš lažni iskalni izraz sledil iskanju z ukazom SQL za izbris celotne baze podatkov.
Mizice Little Bobby
Če ste kdaj slišali, da se syadmini ali koderji šalijo o Mizice Little Bobby, to je zato, ker je bila ta vrsta vbrizgavanja SQL ovekovečena v XKCD risanka nazaj v 2007:
Kot se risanka zaključi v zadnjem okvirju, morate resnično razkužiti vnose v bazo podatkov, kar pomeni, da morate biti zelo previdni, da osebi, ki odda iskalni izraz, ne dovolite, da nadzoruje, kako si vpleteni zaledni strežniki razlagajo iskalni ukaz.
Vidite lahko, zakaj je ta vrsta trika znana kot napad z vbrizgavanjem: v zgornjih primerih zlonamerni iskalni izrazi povzročijo, da se v obdelavo zahteve vbrizga dodaten ukaz SQL.
Pravzaprav oba primera vključujeta dva vstavljena ukaza fom, ki sledita prikrito vstavljenemu znaku »zaprtega narekovaja«, da zgodaj zaključite iskalni niz. Prvi dodatni ukaz je destruktivni DROP TABLE
navodilo. Drugi je »ukaz za komentar«, ki povzroči, da se preostanek vrstice ignorira in tako premeteno poje zaostanek %'
znakov, ki jih je ustvaril generator ukazov strežnika, kar bi sicer povzročilo sintaktično napako in preprečilo vstavljeno DROP TABLE
ukaz iz dela.
Dobre in slabe novice
Dobra novica v tem primeru je, da je Progress popravil vse svoje podprte različice MOVEit, skupaj s svojo storitvijo v oblaku, ko je izvedel za ranljivost.
Torej, če uporabljate različico v oblaku, ste zdaj samodejno posodobljeni, in če uporabljate MOVEit v svojem omrežju, upamo, da ste že popravili.
Slaba novica je, da je bila ta ranljivost ničelnega dne, kar pomeni, da je Progress izvedel zanjo, ker so jo Bad Guys že izkoriščali, in ne preden so ugotovili, kako to storiti.
Z drugimi besedami, do trenutka, ko ste popravili lastne strežnike (ali je Progress popravil svojo storitev v oblaku), so prevaranti morda že vbrizgali lažne ukaze v vaše zaledne baze podatkov MOVEit SQL, z vrsto možnih rezultatov:
- Brisanje obstoječih podatkov. Kot je prikazano zgoraj, je klasičen primer napada z vbrizgavanjem SQL obsežno uničenje podatkov.
- Eksfiltracija obstoječih podatkov. Namesto da bi napadalci izpustili tabele SQL, bi lahko vbrizgali svoje lastne poizvedbe in se tako naučili ne le strukture vaših notranjih baz podatkov, ampak tudi ekstrahirali in ukradli njihove najbolj sočne dele.
- Spreminjanje obstoječih podatkov. Bolj subtilni napadalci se lahko odločijo poškodovati ali motiti vaše podatke, namesto da bi jih (ali pa tudi) ukradli.
- Implantacija novih datotek, vključno z zlonamerno programsko opremo. Napadalci bi lahko vbrizgali ukaze SQL, ki nato zaženejo zunanje sistemske ukaze, s čimer bi dosegli poljubno oddaljeno izvajanje kode znotraj vašega omrežja.
Ena skupina napadalcev, domnevno Microsoft, da je (ali da je povezan z) zloglasno tolpo izsiljevalske programske opreme Clop, očitno uporablja to ranljivost za vsaditev tako imenovanih spletne lupine na prizadetih strežnikih.
Če niste seznanjeni s spletnimi lupinami, preberite naše navaden angleški razlagalec ki smo jih objavili v času težavnih napadov HAFNIUMA marca 2021:
Webshell nevarnost
Preprosto povedano, spletne lupine ponujajo način za napadalce, ki lahko dodajo nove datoteke na vaš spletni strežnik, da se pozneje vrnejo, vdrejo v prostem času in ta dostop samo za pisanje spremenijo v popoln daljinski nadzor.
Spletne lupine delujejo, ker številni spletni strežniki določene datoteke (običajno določene glede na imenik, v katerem so, ali razširitev, ki jo imajo) obravnavajo kot izvršljive skripte uporabljen za ustvarjanje strani za pošiljanje nazaj, namesto kot dejansko vsebino za uporabo v odgovoru.
Na primer, Microsoftov IIS (internet informacijski strežnik) je običajno konfiguriran tako, da če spletni brskalnik zahteva datoteko, imenovano npr. hello.html
, potem bo neobdelana, nespremenjena vsebina te datoteke prebrana in poslana nazaj v brskalnik.
Torej, če je v tem kakšna zlonamerna programska oprema hello.html
datoteko, potem bo to vplivalo na osebo, ki brska po strežniku, ne na strežnik sam.
Če pa je datoteka poklicana, recimo hello.aspx
(kjer je ASP okrajšava za samoopisno frazo Aktivne strani strežnika), potem se ta datoteka obravnava kot skriptni program, ki ga strežnik izvede.
Zagon te datoteke kot programa, namesto da bi jo preprosto prebrali kot podatke, bo ustvaril izhod, ki bo poslan kot odgovor.
Z drugimi besedami, če je v tem kakšna zlonamerna programska oprema hello.aspx
datoteko, bo neposredno vplivala na sam strežnik, ne na osebo, ki brska po njem.
Skratka, izpustitev datoteke spletne lupine kot stranski učinek napada z vbrizgavanjem ukazov pomeni, da se lahko napadalci pozneje vrnejo in obiščejo URL, ki ustreza imenu datoteke te spletne lupine ...
... svojo zlonamerno programsko opremo lahko zaženejo kar v vašem omrežju, pri čemer uporabijo nič bolj sumljivega kot nezahtevno zahtevo HTTP, ki jo naredi vsakdanji spletni brskalnik.
Nekatere spletne lupine so dejansko sestavljene iz samo ene vrstice zlonamernega skripta, na primer en sam ukaz, ki pravi "pridobi besedilo iz določene glave HTTP v zahtevi in ga zaženi kot sistemski ukaz".
To daje splošnemu ukazno-nadzornemu dostopu vsakemu napadalcu, ki pozna pravi URL za obisk in pravo glavo HTTP za dostavo lažnega ukaza.
Kaj storiti?
- Če ste uporabnik MOVEita, poskrbite, da bodo vsi primerki programske opreme v vašem omrežju popravljeni.
- Če trenutno ne morete popraviti, izklopite spletne (HTTP in HTTP) vmesnike za svoje strežnike MOVEit, dokler ne morete. Očitno je ta ranljivost izpostavljena le prek spletnega vmesnika MOVEit, ne prek drugih dostopnih poti, kot je SFTP.
- Preiščite svoje dnevnike za na novo dodane datoteke spletnega strežnika, na novo ustvarjene uporabniške račune in nepričakovano velike prenose podatkov. Progress ima seznam mest za iskanje, skupaj z imeni datotek in iskanjem.
- Če ste programer, očistite svoje vnose.
- Če ste programer SQL, uporabljal parametrizirane poizvedbe, namesto da bi generiral poizvedbene ukaze, ki vsebujejo znake, ki jih nadzoruje oseba, ki pošilja zahtevo.
V številnih, če ne večini napadov, ki temeljijo na spletni lupini, ki so bili doslej raziskani, Napredek kaže da boste verjetno našli lažno datoteko webshell z imenom human2.aspx
, morda skupaj z novo ustvarjenimi zlonamernimi datotekami z a .cmdline
podaljšanje.
(Izdelki Sophos bodo zaznali in blokirali znane datoteke webshell kot Troj/WebShel-GO, ali se imenujejo human2.aspx
ali ne.)
Ne pozabite pa, da če so drugi napadalci vedeli za ta ničelni dan, preden je popravek izšel, so morda vbrizgali drugačne in morda bolj subtilne ukaze, ki jih zdaj ni mogoče zaznati s pregledovanjem zlonamerne programske opreme, ki je ostala za seboj, ali iskanjem za znana imena datotek, ki se lahko prikažejo v dnevnikih.
Ne pozabite na splošno pregledati svojih dnevnikov dostopa in če nimate časa, da to storite sami, se ne bojte prositi za pomoč!
Več o tem Upravljano odkrivanje in odziv Sophos:
24/7 lov na grožnje, odkrivanje in odziv ▶
Vam primanjkuje časa ali strokovnega znanja za odgovor na kibernetsko varnost? Vas skrbi, da vas bo kibernetska varnost na koncu odvrnila od vseh drugih stvari, ki jih morate početi?
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- Kupujte in prodajajte delnice podjetij pred IPO s PREIPO®. Dostopite tukaj.
- vir: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- :ima
- : je
- :ne
- :kje
- $GOR
- 1
- 15%
- 2021
- a
- Sposobna
- O meni
- o IT
- nad
- absolutna
- dostop
- računi
- doseganju
- aktov
- dejanska
- dejansko
- dodajte
- dodano
- Dodatne
- napredno
- vplivajo
- strah
- po
- vsi
- omogočajo
- skupaj
- že
- Prav tako
- an
- in
- kaj
- karkoli
- kjerkoli
- zdi
- SE
- AS
- At
- napad
- Napadi
- Avtor
- avto
- Avtomatizirano
- samodejno
- Avtomatizacija
- zaveda
- nazaj
- Backend
- ozadja, slike
- Slab
- BE
- postal
- ker
- bilo
- pred
- zadaj
- spodaj
- slepo
- Block
- Bobby
- meja
- tako
- Bottom
- kršitev
- Break
- brskalnik
- Brskanje
- hrošči
- vendar
- by
- se imenuje
- prišel
- CAN
- Zmogljivosti
- ki
- previdni
- cartoon
- primeru
- Vzrok
- povzročilo
- vzroki
- center
- nekatere
- verige
- značaja
- znaki
- klasična
- Cloud
- Koda
- sodelovanje
- barva
- kako
- prihaja
- komentar
- podjetje
- dokončanje
- povezane
- zaporedna
- šteje
- gradnjo
- vsebina
- nadzor
- nadzorom
- pretvorbo
- pretvori
- KORPORACIJA
- Ustrezno
- bi
- Tečaj
- pokrov
- ustvarjajo
- ustvaril
- Crooks
- Stranke, ki so
- Cybersecurity
- datum
- kršitev varnosti podatkov
- Baze podatkov
- baze podatkov
- odloča
- dostavo
- Oddelek
- Zaznali
- Odkrivanje
- določi
- Razvoj
- DevOps
- drugačen
- neposredno
- zaslon
- Moti
- do
- ne
- dont
- prenesi
- prenosov
- Drop
- Spuščanje
- poimenovan
- vsak
- Zgodnje
- lahka
- E-naslov
- konec
- Napaka
- Tudi
- VEDNO
- vsak dan
- Primer
- Primeri
- izvršiti
- izvedba
- obstoječih
- strokovno znanje
- Izkoristite
- izpostavljena
- razširitev
- zunanja
- dodatna
- Dejstvo
- seznanjeni
- daleč
- ugotovil
- file
- datoteke
- Najdi
- prva
- sledi
- po
- za
- je pokazala,
- FRAME
- iz
- spredaj
- Prednji del
- Gang
- splošno
- glavni namen
- splošno
- ustvarjajo
- ustvarila
- ustvarjajo
- generator
- dobili
- daje
- Giving
- dobro
- veliko
- skupina
- imel
- Ravnanje
- Imajo
- Slišal
- višina
- upam,
- hover
- Kako
- Kako
- Vendar
- HTML
- http
- HTTPS
- Lov
- if
- Iis
- in
- Vključno
- zloglasni
- Podatki
- injicirati
- vhodi
- Namesto
- vmesnik
- vmesniki
- notranji
- Internet
- v
- vključujejo
- vključeni
- Izdala
- IT
- ITS
- sam
- samo
- samo en
- znano
- velika
- obsežne
- Zadnja
- pozneje
- kosilo
- učenje
- levo
- manj
- kot
- vrstica
- linije
- Seznam
- POGLEDI
- iskanje
- je
- Znamka
- IZDELA
- Izdelava
- zlonamerna programska oprema
- upravljanje
- upravlja
- upravljanje
- več
- marec
- Marža
- ujemanje
- max širine
- Maj ..
- pomeni
- kar pomeni,
- pomeni
- Microsoft
- morda
- več
- Najbolj
- Ime
- Imenovan
- Imena
- Nimate
- potrebe
- mreža
- Novo
- na novo
- novice
- normalno
- nič
- zdaj
- of
- off
- on
- enkrat
- ONE
- samo
- or
- Da
- Ostalo
- drugače
- naši
- ven
- rezultatov
- izhod
- lastne
- Stran
- parameter
- deli
- Patch
- paul
- mogoče
- oseba
- Mesta
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Stališče
- mogoče
- Prispevkov
- verjetno
- Postopek
- Izdelki
- Program
- Programmer
- Napredek
- zagotavljajo
- zagotavlja
- objavljeno
- dal
- poizvedbe
- kvota
- območje
- izsiljevalska
- precej
- Surovi
- Preberi
- reading
- res
- povezane
- relativna
- daljinsko
- odgovori
- zahteva
- zahtevano
- zahteva
- Odgovor
- REST
- pregleda
- Pravica
- Run
- tek
- Enako
- pravijo,
- pravi
- skeniranje
- skripte
- Iskalnik
- iskanje
- drugi
- zavarovanje
- glej
- Prodaja
- pošljite
- pošiljanja
- občutljiva
- poslan
- Storitev
- Storitve
- Delite s prijatelji, znanci, družino in partnerji :-)
- delitev
- Kratke Hlače
- Prikaži
- pokazale
- preprosto
- sam
- So
- doslej
- Software
- trdna
- nekaj
- posebna
- specifična
- SQL
- SQL injection
- Začetek
- Izjava
- trgovina
- shranjeni
- String
- Struktura
- predloži
- predložen
- taka
- Predlaga
- dobavi
- dobavne verige
- Podprti
- sumljiv
- SVG
- sintaksa
- sistem
- miza
- Bodite
- skupina
- Izraz
- Pogoji
- kot
- da
- O
- njihove
- Njih
- POTEM
- Tukaj.
- te
- jih
- stvari
- ta
- Grožnja
- 3
- vsej
- čas
- do
- vrh
- prenos
- transferji
- Prehod
- pregleden
- zdravljenje
- sprožilo
- OBRAT
- Obrnjen
- dva
- dokler
- up-to-date
- URL
- uporaba
- Rabljeni
- uporabnik
- Uporabniški vmesnik
- uporabo
- navadno
- različica
- preko
- obisk
- ranljivost
- je
- način..
- we
- web
- spletni brskalnik
- spletni strežnik
- Web-Based
- teden
- Dobro
- so bili
- Kaj
- kdaj
- ali
- ki
- WHO
- celoti
- zakaj
- bo
- z
- brez
- besede
- delo
- telovaditi
- potek dela
- avtomatizacija dela
- deluje
- Skrbi
- bi
- jo
- Vaša rutina za
- sami
- zefirnet