Afhanklikheid Verwarring

Reading time: 3 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

In samevatting, 'n afhanklikheid verwarring kwesbaarheid gebeur wanneer 'n projek 'n biblioteek met 'n verkeerde gespelde naam, nie-bestaande of met 'n onbepaalde weergawe gebruik en die gebruikte afhanklikheid repository toelaat om opdaterings van openbare repositories te versamel.

  • Verkeerde gespelde: Importeer reqests in plaas van requests
  • Nie-bestaande: Importeer company-logging, 'n interne biblioteek wat nie meer bestaan nie
  • Onbepaalde weergawe: Importeer 'n interne bestaande company-requests biblioteek, maar die repo kyk na openbare repos om te sien of daar groter weergawes is.

Exploitatie

warning

In alle gevalle hoef die aanvaller net 'n kwaadwillige pakket met die naam van biblioteke wat deur die slagoffer maatskappy gebruik word, te publiseer.

Verkeerde Gespel & Nie-Bestaande

As jou maatskappy probeer om 'n biblioteek te importeer wat nie intern is nie, is dit hoogs waarskynlik dat die biblioteek repo dit in openbare repositories gaan soek. As 'n aanvaller dit geskep het, is dit hoogs waarskynlik dat jou kode en masjiene wat loop, gecompromitteer gaan word.

Onbepaalde Weergawe

Dit is baie algemeen dat ontwikkelaars nie enige weergawe van die biblioteek wat gebruik word, spesifiseer nie, of net 'n hoofd weergawe spesifiseer. Dan sal die interpreter probeer om die nuutste weergawe wat aan daardie vereistes voldoen, af te laai.
As die biblioteek 'n bekende eksterne biblioteek is (soos python requests), kan 'n aanvaller nie veel doen nie, aangesien hy nie 'n biblioteek met die naam requests kan skep nie (tenzij hy die oorspronklike outeur is).
As die biblioteek egter intern is, soos requests-company in hierdie voorbeeld, as die biblioteek repo toelaat om ook na nuwe weergawes ekstern te kyk, sal dit soek na 'n nuwer weergawe wat publiek beskikbaar is.
So as 'n aanvaller weet dat die maatskappy die requests-company biblioteek weergawe 1.0.1 gebruik (laat klein opdaterings toe). Hy kan die biblioteek requests-company weergawe 1.0.2 publiseer en die maatskappy sal daardie biblioteek in plaas van die interne een gebruik.

AWS Fix

Hierdie kwesbaarheid is in AWS CodeArtifact gevind (lees die besonderhede in hierdie blogpos).
AWS het dit reggestel deur toe te laat om te spesifiseer of 'n biblioteek intern of ekstern is, om te verhoed dat interne afhanklikhede van eksterne repositories afgelaai word.

Vind Kwesbare Biblioteke

In die oorspronklike pos oor afhanklikheid verwarring het die outeur gesoek na duisende blootgestelde package.json lêers wat javascript projek se afhanklikhede bevat.

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks