5.7 KiB
Afhanklikheid Verwarring
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
{% embed url="https://websec.nl/" %}
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 repo toelaat om opdaterings van openbare repos te versamel.
- Verkeerde gespelde: Importeer
reqests
in plaas vanrequests
- 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
{% hint style="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. {% endhint %}
Verkeerde Gespel & Nie-Bestaande
As jou maatskappy probeer om 'n biblioteek te importeer wat nie intern is nie, is dit hoogs waarskynlik dat die repo van biblioteke dit in openbare repos 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 geen weergawe van die biblioteek wat gebruik word, spesifiseer nie, of net 'n hoof 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 Regstelling
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 repos 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
- https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
- https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.