A10:2021 – Zerbitzari-Alboko Eskaera Iruzurra (SSRF)
Partekatu
Deskribapena
'Server-Side Request Forgery' (SSRF) erasoa erasotzaile batek zerbitzari baten funtzionaltasuna abusatzen duen eraso mota bat da, baimenik gabeko barne edo kanpoko baliabideei HTTP eskaerak egiteko. Funtsean, zerbitzaria engainatu egiten da erasotzailearen izenean nahi ez diren ekintzak egiteko.
Eragina
Eraso mota honek ondorio larriak izan ditzake web aplikazio baten segurtasunean eta azpiegituran. Balizko inpaktu batzuk honako hauek dira:
- Barne baliabideetarako baimenik gabeko sarbidea: Erasotzaileak normalean suebakiek edo sare-murrizketekin babestuta dauden sistema eta datuetara atzi ditzake.
- Segurtasun-kontrolak saihestea: SSRF-k erasotzaileek segurtasun-neurriak saihestu ditzakete, hala nola suebakiak eta sarbide-kontrol-zerrendak.
- Datu sentikorren filtrazioa: Erasotzaileek SSRF erabil dezakete barne sistemetako informazio sentikorra kanporatzeko.
- Barne portuen eskaneatzea: SSRF barne-sarea mapatzeko eta zerbitzu ahulak aurkitzeko erabil daiteke.
- Urrutiko kodearen exekuzioa: Muturreko kasuetan, SSRF-k kode arbitrarioa exekutatu dezake arriskuan dagoen zerbitzarian.
Eragin horien larritasuna kontuan hartuta, funtsezkoa da garatzaileek segurtasun-neurri sendoak ezartzea beren web aplikazioetan SSRF erasoak prebenitzeko eta arintzeko.
Adibide praktikoak
1. Barne zerbitzuetara sarbidea
Horri esker, erasotzaileak normalean suebakiek edo sare-murrizketek babestutako sistema eta datuetara sartzeko aukera izan dezakete, hala nola barne datu-baseetan edo administrazio-paneletan.
http://vulnerable-app.com/fetch?url=http://localhost:8080/admin
Adibide honetan, aplikazioak ez badu behar bezala balioztatzen emandako URLa, eskaera bat egin diezaioke 8080 atakako barne administrazio panelari.
Laburpen
- Detektatu HTTP erabiliz kanpoko baliabide bati eskaera bat egiten dion kontsulta.
- Aldatu eskaera, web zerbitzariak loopback interfazeari eskaera egin diezaion eta horrela atzerrian argitaratu gabeko funtzio edo zerbitzuetara sartzeko.
Adibidea
Ikuskaturiko web orriaren funtzionamendua aztertu ondoren, HTTP erabiliz kanpoko baliabideei eskaerak egiten zaizkiela ikus daiteke.
Aringarriak
- Baliozkotu eta garbitu erabiltzaileen sarrera guztiak, bereziki URLak.
- Ezarri domeinuen eta baimendutako IP helbideen zerrenda zuriak.
- Erabili web aplikazioen suebakiak (WAF) eskaera gaiztoak iragazteko.
- Sareko suebakiak behar bezala konfiguratu barne baliabideetarako sarbidea mugatzeko.
- Zerbitzarietan eta zerbitzuetan pribilegio txikienaren printzipioa ezartzea.
- Erabili VPNak edo sare pribatu birtualak baliabide kritikoak isolatzeko.
- Desgaitu HTTP birzuzenketak beharrezkoak ez direnean.
- Ezarri autentifikazio eta baimen sendoak barne-puntu guztietan.
- Erabili barneko DNS ostalariaren izenak ebazteko, zuzeneko IP helbideak erabiltzea saihestuz.
- Kontrolatu eta erregistratu sareko eskaera guztiak eredu susmagarriak detektatzeko.
2. Barne portuen eskaneoa
Laburpen
- Detektatu HTTP erabiliz kanpoko baliabide bati eskaera bat egiten dion kontsulta.
- Aldatu eskaera, web zerbitzariak kanpoaldera begira ez dauden barne IP helbide eta portuetara eskaera bat egin dezan.
- Behatu zerbitzariaren erantzun desberdinak, ataka irekia duen IP helbide bat noiz dagoen eta noiz ez antzeman ahal izateko.
Adibidea
Aringarriak
- Ezarri IP helbideen zerrenda zuriak eta barne-eskaeretarako baimendutako barrutiak.
- Erabili eskaera eredu susmagarriak detektatzeko eta blokeatzeko konfiguratutako web aplikazioen suebakiak (WAF).
- Segmentatu barne-sarea azterketa posibleen esparrua mugatzeko.
- Barneko zerbitzarietan eta zerbitzuetan pribilegio txikienaren printzipioa ezartzea.
- Erabili autentifikazio sendoa eta baimena barne-puntu guztietan.
- Kontrolatu eta erregistratu sareko eskaera guztiak eskaneatzeko ereduak detektatzeko.
- Ezar ezazu tasa-mugaketa, azterketa azkar eta automatizatuak saihesteko.
- Erabili Virtual Private Cloud (VPC) hodeiko inguruneetan baliabide kritikoak isolatzeko.
- Segurtasun-taldeak eta sarbide-kontrol-zerrendak (ACL) behar bezala konfiguratu sarean.
- Garatzaileak hezi segurtasun-jardunbide onen eta SSRFrekin lotutako arriskuei buruz.
3. Metadatuen sarbidea cloud inguruneetan
- AWSren aldi baterako kredentzialak
- IAM rolak instantziarekin lotuta
- Sarearen konfigurazio datuak
- Pertsonalizatutako hasierako scriptak
Laburpen
- Detektatu HTTP erabiliz kanpoko baliabide bati eskaera bat egiten dion kontsulta.
- Aldatu jatorrizko eskaera, web zerbitzariak WhiteList-ek mugatu ditzakeen hodeiko zerbitzariko baliabideei eskaera bat egin diezaion, zerbitzariak bakarrik sar dezan.
- Behatu zerbitzariaren erantzun desberdinak Hodeian gordetako baliabideak noiz sartzea posible izan den eta noiz ez antzeman ahal izateko.
Adibidea
Paisaia
Ustiapen-urratsak
- Erasotzaileak aplikazioa Amazon Web Services-en (AWS) ostatatuta dagoela deskubritzen du.
- Erasotzaileak URL hau sartzen du aplikazioaren sarrera eremuan: http://169.254.169.254/latest/meta-data/
- Aplikazioak eskaera bat egiten dio barneko AWS IP helbide honi, hau da, EC2 instantziako metadatuen amaiera-puntua.
- Ondorioz, aplikazioak EC2 instantziari buruzko informazio sentikorra itzultzen du, hala nola:
1. instantzia ID2. Eskualdea3. Barne ostalari-izena4. MAC helbidea
5.Erasotzaileak gehiago sakondu dezake bide zehatzak erabiliz, hala nola: http://169.254.169.254/latest/meta-data/iam/security-credentials/ instantziari lotutako IAM rolaren aldi baterako segurtasun kredentzialak lortzeko.
Arintzea
- URL onartuen zerrenda zuria ezarri
- Erabili alderantzizko proxy bat irteerako eskaeretarako
- Konfiguratu suebakiak barne IP helbideetarako trafikoa blokeatzeko
- Ezarri pribilegio txikienaren printzipioa IAM roletan
- Erabili IMDSv2 (Instantzia Metadatuen Zerbitzua 2. bertsioa) eta horrek saio-tokenak behar ditu
4. Informazioaren exfiltrazioa (Cypher injezioa)
Laburpen
- Datu-basean egindako kontsultetan kodea sar daitekeen kontsulta bat detektatu.
- Datu-baseari kontsultak egitea bertan gordetako informazioa lortzeko.
- Infiltratu CSV kargatzeko funtzioaren bidez lortutako informazioa HTTP bidez, horrela SSRF teknika bat eginez.
Adibidea
Arintzea
- Erabili parametroak: saihestu Cypher injekzioa parametroak erabiliz erabiltzaileen sarrera zuzenean kontsultetan kateatu beharrean.
- Parametrizatu kontsultak: parametroen datuekin aldatu ezin diren plan exekutagarrietan konpilatu kontsultak.
- Erabili APOC prozedurak modu seguruan: APOC erabiltzean, jarraitu parametroak pasatzen kateak kateatzeko ahultasunak saihesteko.
- Sarrerak garbitu: parametrizatzea posible ez denean (adibidez, nodoen etiketetarako), garbitu erabiltzaileen sarrerak karaktere berezietatik ihes eginez.
- Saihestu datu-basearen erroreak itzultzea: Erabili errore-mezu generikoak erroreetan oinarritutako injekzio bidez informazioa zabaltzea saihesteko.
- Ezar ezazu ihesbide egokia: Erabili ihes-sekuentzia egokiak Cypher mota desberdinetarako (kate literalak, identifikatzaileak).
- Sarrerak balioztatu: egiaztatu erabiltzaileen sarrerak irizpide zehatzekin, baina kontutan izan saihesbide-teknikak.
- Kontuz bigarren mailako injekzioekin: jarraitu biltegiratutako datuak garbitzen ondorengo kontsultetan erabiltzen direnean.
- Aplikatu pribilegio txikienaren printzipioa: Erabili roletan oinarritutako sarbide-kontrola injekzio arrakastatsuen eragin potentziala mugatzeko.
- Kontu handiz kudeatu datu-inportazioak: kontuan izan ahultasun potentzialak kanpoko iturrietatik datuak inportatzerakoan, hala nola CSV fitxategietatik.