Forrige uke varslet Progress Software Corporation, som selger programvare og tjenester for utvikling av brukergrensesnitt, devops, filbehandling og mer, kunder om sine MOVEit-overføring og relatert MOVEit Cloud produkter om en kritisk sårbarhet dubbet CVE-2023-34362.
Som navnet antyder, er MOVEit Transfer et system som gjør det enkelt å lagre og dele filer gjennom et team, en avdeling, et selskap eller til og med en forsyningskjede.
I sin egne ord, "MOVEit gir sikkert samarbeid og automatiserte filoverføringer av sensitive data og avanserte funksjoner for automatisering av arbeidsflyt uten behov for skripting."
Dessverre viste MOVEits nettbaserte grensesnitt, som gjør det enkelt å dele og administrere filer ved hjelp av bare en nettleser (en prosess som generelt anses som mindre utsatt for feildirigerte eller "tapte" filer enn å dele dem via e-post), å ha en SQL injeksjonssårbarhet.
SQL-injeksjoner forklart
Nettbaserte SQL-injeksjonsfeil oppstår når en HTTP-forespørsel sendes inn til en webserver konverteres på en usikker måte til en spørringskommando som deretter utstedes av serveren selv for å gjøre et databaseoppslag for å finne ut hva HTTP-svaret skal konstruere.
Et databasesøk som utløses fra en nettside kan for eksempel ende opp som en nettadresse forespurt av nettleseren din og ser slik ut:
https://search.example.com/?type=file&name=duck
Spørreteksten duck
kan deretter trekkes ut fra navneparameteren i URL-en, konverteres til databasespørringssyntaks og settes sammen til en kommando som skal sendes til databaseserveren.
Hvis backend-dataene er lagret i en SQL-database, kan webserveren konvertere den URL-en til en SQL-kommando som den som vises nedenfor.
De %
tegn lagt til teksten duck
betyr at søkeordet kan vises hvor som helst i det hentede filnavnet, og de enkle anførselstegnene i hver ende legges til som markører for å angi en SQL-tekststreng:
VELG filnavn FRA filesdb HVOR navn LIKE '%duck%'
Dataene som kommer tilbake fra spørringen kan deretter formateres pent, konverteres til HTML og sendes tilbake som et HTTP-svar til nettleseren din, og kanskje gi deg en klikkbar liste over samsvarende filer du kan laste ned.
Selvfølgelig må webserveren være veldig forsiktig med filnavnene som sendes inn som et søkeord, i tilfelle en ondsinnet bruker skulle opprette og be om en URL som dette:
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
Hvis søkeordet blindt ble konvertert til en søkestreng, kan du kanskje lure webserveren til å sende SQL-serveren en kommando som dette:
VELG filnavn FRA filesdb HVOR navn SOM '%duck';DROPP TABLE filesdb;--%'
Fordi et semikolon (;
) fungerer som en setningsseparator i SQL, denne enlinjekommandoen er faktisk det samme som å sende tre påfølgende kommandoer:
VELG filnavn FRA filesdb HVOR navn SOM '%duck' -- samsvarer med navn som slutter duck DROP TABLE filesdb -- sletter hele databasen --%' -- kommentar, gjør ingenting
Sneakily, fordi hver etter --
blir forkastet av SQL som en programmerers kommentar, er disse tre linjene de samme som:
VELG filnavn FRA filesdb HVOR navn SOM '%duck' DROP TABLE filesdb
Du vil få tilbake en liste over alle filnavn i databasen som slutter med strengen duck
(det spesielle SQL-tegnet %
i starten av et søkeord betyr "match alt frem til dette punktet")...
…men du vil være den siste personen som får noe nyttig ut av filesdb
database, fordi det useriøse søkeordet ditt vil følge opp søket med SQL-kommandoen for å slette hele databasen.
Little Bobby -bord
Hvis du noen gang har hørt syadmins eller programmerere lage vitser om Little Bobby -bord, det er fordi denne typen SQL-injeksjon ble udødeliggjort i en XKCD tegneserie tilbake i 2007:
Ettersom tegneserien avsluttes i den siste rammen, må du virkelig rense databaseinndataene dine, noe som betyr at du må passe på å ikke la personen som sender inn søkeordet kontrollere hvordan søkekommandoen blir tolket av de involverte backend-serverne.
Du kan se hvorfor denne typen triks er kjent som et injeksjonsangrep: i eksemplene ovenfor fører de ondsinnede søkeordene til at en ekstra SQL-kommando injiseres i håndteringen av forespørselen.
Faktisk involverer begge disse eksemplene to injiserte meldinger, etter det snikinnsatte "nære sitat"-tegnet for å avslutte søkestrengen tidlig. Den første ekstra kommandoen er den destruktive DROP TABLE
instruksjon. Den andre er en "kommentarkommando" som får resten av linjen til å bli ignorert, og dermed spise opp det etterfølgende %'
tegn generert av serverens kommandogenerator, som ellers ville ha forårsaket en syntaksfeil og forhindret den injiserte DROP TABLE
kommando fra arbeidet.
Gode nyheter og dårlige nyheter
Den gode nyheten i dette tilfellet er at Progress lappet alle støttede MOVEit-versjoner, sammen med den skybaserte tjenesten, når den ble klar over sårbarheten.
Så hvis du bruker skyversjonen, er du nå automatisk oppdatert, og hvis du kjører MOVEit på ditt eget nettverk, håper vi at du har lappet nå.
Den dårlige nyheten er at denne sårbarheten var en null-dag, noe som betyr at Progress fant ut om det fordi Bad Guys allerede hadde utnyttet det, i stedet for før de fant ut hvordan de skulle gjøre det.
Med andre ord, da du lappet dine egne servere (eller Progress lappet skytjenesten), kan det hende at skurker allerede har injisert useriøse kommandoer i MOVEit SQL-backend-databasene dine, med en rekke mulige utfall:
- Sletting av eksisterende data. Som vist ovenfor er det klassiske eksemplet på et SQL-injeksjonsangrep storskala dataødeleggelse.
- Eksfiltrering av eksisterende data. I stedet for å droppe SQL-tabeller, kan angripere injisere egne spørringer, og dermed lære ikke bare strukturen til dine interne databaser, men også trekke ut og stjele deres saftigste deler.
- Endring av eksisterende data. Mer subtile angripere kan bestemme seg for å ødelegge eller forstyrre dataene dine i stedet for (eller så vel som) å stjele dem.
- Implantasjon av nye filer, inkludert skadelig programvare. Angripere kan injisere SQL-kommandoer som igjen starter eksterne systemkommandoer, og dermed oppnå vilkårlig ekstern kjøring av kode i nettverket ditt.
En gruppe angripere, påstått av Microsoft for å være (eller være forbundet med) den beryktede Clop løsepengevaregjengen, har tilsynelatende brukt denne sårbarheten til å implantere det som er kjent som nettskjell på berørte servere.
Hvis du ikke er kjent med webshell, les vår vanlig-engelsk forklaring som vi publiserte på tidspunktet for de plagsomme HAFNIUM-angrepene tilbake i mars 2021:
Webshell-fare
Enkelt sagt, webshell gir en måte for angripere som kan legge til nye filer til webserveren din til å komme tilbake senere, bryte seg inn når de er i ro og mak, og gi den skrivetilgangen til fullstendig fjernkontroll.
Webshell fungerer fordi mange webservere behandler visse filer (vanligvis bestemt av katalogen de er i, eller av utvidelsen de har) som kjørbare skript brukes til å generere siden som skal sendes tilbake, i stedet for som det faktiske innholdet som skal brukes i svaret.
For eksempel er Microsofts IIS (internettinformasjonsserver) vanligvis konfigurert slik at hvis en nettleser ber om en fil som heter f.eks. hello.html
, så vil det rå, uomdifiserte innholdet i den filen bli lest inn og sendt tilbake til nettleseren.
Så hvis det er skadelig programvare i det hello.html
fil, så vil det påvirke personen som surfer til serveren, ikke selve serveren.
Men hvis filen kalles, si, hello.aspx
(hvor ASP er forkortelse for den selvbeskrivende frasen Aktive serversider), så behandles filen som et skriptprogram som serveren kan kjøre.
Å kjøre den filen som et program, i stedet for bare å lese den inn som data, vil generere utdata som skal sendes som svar.
Med andre ord, hvis det er skadelig programvare i det hello.aspx
fil, vil den direkte påvirke serveren selv, ikke personen som surfer til den.
Kort sagt, å slippe en webshell-fil som bivirkning av et kommandoinjeksjonsangrep betyr at angriperne kan komme tilbake senere, og ved å besøke URL-en som tilsvarer det webshell-filnavnet...
…de kan kjøre malware rett inne i nettverket ditt, uten å bruke noe mer mistenkelig enn en upretensiøs HTTP-forespørsel fra en vanlig nettleser.
Noen webshell består faktisk av bare én linje med ondsinnet skript, for eksempel en enkelt kommando som sier "hent tekst fra en bestemt HTTP-overskrift i forespørselen og kjør den som en systemkommando".
Dette gir generell kommando-og-kontroll-tilgang til enhver angriper som vet den riktige URL-adressen å besøke, og den riktige HTTP-headeren som skal brukes for å levere rogue-kommandoen.
Hva gjør jeg?
- Hvis du er en MOVEit-bruker, sørg for at alle forekomster av programvaren på nettverket ditt er lappet.
- Hvis du ikke kan lappe akkurat nå, slå av de nettbaserte (HTTP og HTTP) grensesnittene til MOVEit-serverne til du kan. Tilsynelatende avsløres denne sårbarheten kun via MOVEits nettgrensesnitt, ikke via andre tilgangsbaner som SFTP.
- Søk i loggene dine for nylig lagt til webserverfiler, nyopprettede brukerkontoer og uventet store datanedlastinger. Progress har en liste over steder å søke, sammen med filnavn og å søke etter.
- Hvis du er en programmerer, rense innspillene dine.
- Hvis du er en SQL-programmerer, brukte parameteriserte spørringer, i stedet for å generere spørringskommandoer som inneholder tegn kontrollert av personen som sender forespørselen.
I mange, om ikke de fleste, webshell-baserte angrep som er undersøkt så langt, Fremskritt tilsier at du sannsynligvis vil finne en falsk webshell-fil som heter human2.aspx
, kanskje sammen med nyopprettede ondsinnede filer med en .cmdline
Utvidelse.
(Sophos-produkter vil oppdage og blokkere kjente webshell-filer som Troj/WebShel-GO, om de kalles human2.aspx
eller ikke.)
Husk imidlertid at hvis andre angripere visste om denne nulldagen før oppdateringen kom ut, kan de ha injisert forskjellige, og kanskje mer subtile, kommandoer som nå ikke kan oppdages ved å skanne etter skadelig programvare som ble etterlatt, eller søke for kjente filnavn som kan vises i logger.
Ikke glem å se gjennom tilgangsloggene dine generelt, og hvis du ikke har tid til å gjøre det selv, ikke vær redd for å be om hjelp!
Lær mer om Sophos Managed Detection and Response:
24/7 trusseljakt, deteksjon og respons ▶
Har du mangel på tid eller ekspertise til å ta seg av cybersikkerhetstrusselrespons? Bekymret for at cybersikkerhet vil ende opp med å distrahere deg fra alle de andre tingene du trenger å gjøre?
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoAiStream. Web3 Data Intelligence. Kunnskap forsterket. Tilgang her.
- Minting the Future med Adryenn Ashley. Tilgang her.
- Kjøp og selg aksjer i PRE-IPO-selskaper med PREIPO®. Tilgang her.
- kilde: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 1
- 15%
- 2021
- a
- I stand
- Om oss
- om det
- ovenfor
- Absolute
- adgang
- kontoer
- oppnå
- handlinger
- faktiske
- faktisk
- legge til
- la til
- Ytterligere
- avansert
- påvirke
- redd
- Etter
- Alle
- tillate
- langs
- allerede
- også
- an
- og
- noen
- hva som helst
- hvor som helst
- vises
- ER
- AS
- At
- angripe
- Angrep
- forfatter
- auto
- Automatisert
- automatisk
- Automatisering
- klar
- tilbake
- Backend
- background-image
- dårlig
- BE
- ble
- fordi
- vært
- før du
- bak
- under
- blindt
- Blokker
- Bobby
- grensen
- både
- Bunn
- brudd
- Break
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- Surfer
- bugs
- men
- by
- som heter
- kom
- CAN
- evner
- hvilken
- forsiktig
- tegnefilm
- saken
- Årsak
- forårsaket
- årsaker
- sentrum
- viss
- kjede
- karakter
- tegn
- Classic
- Cloud
- kode
- samarbeid
- farge
- Kom
- kommer
- kommentere
- Selskapet
- fullføre
- tilkoblet
- påfølgende
- ansett
- konstruere
- innhold
- kontroll
- kontrolleres
- konvertere
- konvertert
- SELSKAP
- Tilsvarende
- kunne
- kurs
- dekke
- skape
- opprettet
- crooks
- Kunder
- Cybersecurity
- dato
- datainnbrudd
- Database
- databaser
- bestemme
- levere
- Avdeling
- oppdaget
- Gjenkjenning
- bestemmes
- Utvikling
- DevOps
- forskjellig
- direkte
- Vise
- Avbryte
- do
- gjør
- ikke
- nedlasting
- nedlastinger
- Drop
- slippe
- dubbet
- hver enkelt
- Tidlig
- lett
- emalje
- slutt
- feil
- Selv
- NOEN GANG
- hverdagen
- eksempel
- eksempler
- henrette
- gjennomføring
- eksisterende
- ekspertise
- Exploit
- utsatt
- forlengelse
- utvendig
- ekstra
- Faktisk
- kjent
- langt
- tenkte
- filet
- Filer
- Finn
- Først
- følge
- etter
- Til
- funnet
- RAMME
- fra
- foran
- Front end
- Gjeng
- general
- generell
- generelt
- generere
- generert
- genererer
- generator
- få
- gir
- Giving
- god
- flott
- Gruppe
- HAD
- Håndtering
- Ha
- hørt
- høyde
- håp
- hover
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- Jakt
- if
- Iis
- in
- Inkludert
- beryktet
- informasjon
- injisere
- innganger
- i stedet
- Interface
- grensesnitt
- intern
- Internet
- inn
- involvere
- involvert
- Utstedt
- IT
- DET ER
- selv
- bare
- bare én
- kjent
- stor
- storskala
- Siste
- seinere
- lansere
- læring
- venstre
- mindre
- i likhet med
- linje
- linjer
- Liste
- UTSEENDE
- oppslag
- laget
- gjøre
- GJØR AT
- Making
- malware
- administrer
- fikk til
- ledelse
- mange
- Mars
- Margin
- matchende
- max bredde
- Kan..
- bety
- betyr
- midler
- Microsoft
- kunne
- mer
- mest
- navn
- oppkalt
- navn
- Trenger
- behov
- nettverk
- Ny
- nylig
- nyheter
- normal
- ingenting
- nå
- of
- off
- on
- gang
- ONE
- bare
- or
- rekkefølge
- Annen
- ellers
- vår
- ut
- utfall
- produksjon
- egen
- side
- parameter
- deler
- patch
- paul
- kanskje
- person
- steder
- plato
- Platon Data Intelligence
- PlatonData
- posisjon
- mulig
- innlegg
- sannsynligvis
- prosess
- Produkter
- program
- Programmerer
- Progress
- gi
- gir
- publisert
- sette
- spørsmål
- sitere
- område
- ransomware
- heller
- Raw
- Lese
- Lesning
- virkelig
- i slekt
- slektning
- fjernkontroll
- svar
- anmode
- Forespurt
- forespørsler
- svar
- REST
- anmeldelse
- ikke sant
- Kjør
- rennende
- samme
- sier
- sier
- skanning
- skript
- Søk
- søker
- Sekund
- sikre
- se
- Sells
- send
- sending
- sensitive
- sendt
- tjeneste
- Tjenester
- Del
- deling
- Kort
- Vis
- vist
- ganske enkelt
- enkelt
- So
- så langt
- Software
- solid
- noen
- spesiell
- spesifikk
- SQL
- SQL Injection
- Begynn
- Uttalelse
- oppbevare
- lagret
- String
- struktur
- send
- innsendt
- slik
- foreslår
- levere
- forsyningskjeden
- Støttes
- mistenkelig
- SVG
- syntaks
- system
- bord
- Ta
- lag
- begrep
- vilkår
- enn
- Det
- De
- deres
- Dem
- deretter
- Der.
- Disse
- de
- ting
- denne
- trussel
- tre
- hele
- tid
- til
- topp
- overføre
- overføringer
- overgang
- gjennomsiktig
- behandle
- utløst
- SVING
- snudde
- to
- til
- up-to-date
- URL
- bruke
- brukt
- Bruker
- Brukergrensesnitt
- ved hjelp av
- vanligvis
- versjon
- av
- Besøk
- sårbarhet
- var
- Vei..
- we
- web
- nettleser
- webserveren
- Web-basert
- uke
- VI VIL
- var
- Hva
- når
- om
- hvilken
- HVEM
- hele
- hvorfor
- vil
- med
- uten
- ord
- Arbeid
- trene
- arbeidsflyt
- arbeidsflytautomatisering
- arbeid
- bekymret
- ville
- du
- Din
- deg selv
- zephyrnet