Kwesbaarheid waarmee jy ontsnappingsreekse in ander mense se terminale kan vervang

'n Kwesbaarheid (CVE-2024-28085) is in die muurhulpmiddel geïdentifiseer, verskaf in die util-linux-pakket en bedoel om boodskappe na terminale te stuur, wat 'n aanval op die terminale van ander gebruikers moontlik maak deur manipulasie van ontsnappingsreekse. Die probleem word veroorsaak deur die muurhulpprogram wat ontsnapreekse op die invoerstroom blokkeer, maar dit nie op opdragreëlargumente doen nie, wat 'n aanvaller toelaat om ontsnapreekse op ander gebruikers se terminale te ontsnap.

Byvoorbeeld, deur 'wall $(printf "\033[33mHI")' uit te voer, kan jy "HI" in geel druk. Deur ontsnapreekse te gebruik wat jou toelaat om die wyser te skuif, skoon te maak en inhoud op die skerm te vervang, kan jy simuleer dat die sudo-wagwoordprompt in 'n ander gebruiker se terminaal vertoon word. As die gebruiker nie die truuk raaksien nie en sy wagwoord invoer, sal die wagwoord in die invoergeskiedenis verskyn as 'n nie-bestaande opdrag (in werklikheid sal die gebruiker sy wagwoord op die opdragreël invoer in plaas van 'n opdrag). “\033[3A” // beweeg die wyser 3 reëls op “\033[K” // verwyder die vorige uitvoer “[sudo] wagwoord vir 'n_gebruiker:” // vertoon 'n dom sudo versoek “\033[?25l” / / stel agtergrondkleur om invoer "\033[38;2;48;10;36m" te versteek

Wanneer 'n waarskuwing uitgereik word dat die ingevoerde opdrag nie gevind is nie, loop baie verspreidings die /usr/lib/command-not-found hanteerder, wat probeer om die pakket wat die ontbrekende opdrag bevat te identifiseer en 'n wenk te gee oor of dit geïnstalleer kan word . Die probleem is dat wanneer die opdrag-nie-gevind-hanteerder geloods word, 'n nie-bestaande opdrag na dit oorgedra word as 'n opdragreëlparameter, wat sigbaar is wanneer prosesse op die stelsel bekyk word (byvoorbeeld wanneer u probeer om die gedeïnstalleerde nutsprogram uit te voer "xsnow", "/usr" sal sigbaar wees in die lys prosesse /lib/command-not-found - xsnow"). Gevolglik kan die aanvaller lopende prosesse monitor (byvoorbeeld deur die voorkoms van “/proc/$pid/cmdline” vir die voorspelde PID-nommer te ontleed) en die wagwoord wat deur die slagoffer op die opdragreël ingevoer is, bepaal.

Om die gebruiker 'n wagwoord in te voer in reaksie op 'n fiktiewe sudo-opdrag, is 'n truuk voorgestel, waarvan die essensie is om die werklike bekendstelling van die sudo-nutsmiddel in die lys van prosesse op te spoor, te wag totdat dit voltooi is, en voer onmiddellik daarna 'n aanval deur die "muur" uit. Deur ontsnappingsreekse te manipuleer, kan 'n aanvaller die boodskap vervang na die werklike uitvoering van sudo met 'n vals wagwoord-herinskrywing-aanvraag. Die slagoffer dink dalk dat hy 'n fout gemaak het toe hy die wagwoord ingevoer het en voer die wagwoord 'n tweede keer in, wat die wagwoord openbaar in die argumente van die "bevel-nie-gevind"-hanteerder.

'n Suksesvolle aanval vereis dat die "mesg"-modus op "y" gestel word, wat by verstek in Ubuntu, Debian en CentOS/RHEL gestel is. Die aanval is gedemonstreer in Ubuntu 22.04 in sy verstekkonfigurasie met behulp van gnome-terminale. Op Debian is die aanval moeilik, aangesien die "bevel-nie-gevind"-hanteerder nie by verstek in die verspreiding geaktiveer is nie, en op CentOS/RHEL sal die aanval nie werk nie, aangesien die muurhulpmiddel geïnstalleer is sonder die setgid-vlag en het nie toegang tot ander mense se terminale nie. Wanneer u Windows-terminale gebruik, kan die aanval gewysig word om die inhoud van die knipbord te verander.

Die kwesbaarheid is sedert 2013 in die util-linux-pakket teenwoordig, nadat die 2.24-weergawe die vermoë bygevoeg het om 'n boodskap op die muuropdragreël te spesifiseer, maar vergeet het om die ontsnappingsreekse skoon te maak. 'n Regstelling vir die kwesbaarheid is ingesluit in gister se vrystelling van util-linux 2.40. Dit is opmerklik dat wanneer u probeer om die kwesbaarheid in die vrystelling van util-linux 2.39 reg te stel, 'n ander soortgelyke kwesbaarheid geïdentifiseer is, wat die vervanging van beheerkarakters moontlik maak deur die manipulasie van lokaliteite.

Bron: opennet.ru

Voeg 'n opmerking