5.6 KiB
Afhanklikheidsverwarring
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersecurity-maatskappy? Wil jy jou maatskappy adverteer in HackTricks? Of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die SUBSCRIPTION PLANS!
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die hacktricks repo en hacktricks-cloud repo.
Basiese Inligting
Kortliks, 'n afhanklikheidsverwarringskwesbaarheid kom voor wanneer 'n projek 'n biblioteek met 'n verkeerd gespelde naam, nie-bestaande of met 'n ongespesifiseerde weergawe gebruik en die gebruikte afhanklikheidsbewaarplek toelaat om bygewerkte weergawes van openbare bewaarplekke te verkry.
- Verkeerd gespel: Importeer
reqests
in plaas vanrequests
- Nie-bestaande: Importeer
company-logging
, 'n interne biblioteek wat nie meer bestaan nie - Ongespesifiseerde weergawe: Importeer 'n interne bestaande
company-requests
-biblioteek, maar die bewaarplek kyk na openbare bewaarplekke om te sien of daar groter weergawes is.
Uitbuiting
{% hint style="warning" %} In alle gevalle hoef die aanvaller net 'n skadelike pakkie met die naam van biblioteke wat deur die slagoffermaatskappy gebruik word, te publiseer. {% endhint %}
Verkeerd gespel & Nie-bestaande
As jou maatskappy probeer om 'n biblioteek te importeer wat nie intern is nie, is dit baie waarskynlik dat die bewaarplek van biblioteke dit in openbare bewaarplekke sal soek. As 'n aanvaller dit geskep het, is dit baie waarskynlik dat jou kode en masjiene wat loop, gekompromitteer sal word.
Ongespesifiseerde Weergawe
Dit is baie algemeen vir ontwikkelaars om geen weergawe van die gebruikte biblioteek te spesifiseer, of slegs 'n hoofweergawe te spesifiseer. Dan sal die tolk probeer om die nuutste weergawe wat aan daardie vereistes voldoen, af te laai.
As die biblioteek 'n bekende eksterne biblioteek is (soos Python se requests
), kan 'n aanvaller nie veel doen nie, omdat hy nie 'n biblioteek met die naam requests
kan skep nie (tensy hy die oorspronklike outeur is).
Maar as die biblioteek intern is, soos requests-company
in hierdie voorbeeld, as die biblioteekbewaarplek toelaat om ook ekstern na nuwe weergawes te soek, sal dit soek na 'n nuwer weergawe wat openbaar beskikbaar is.
Dus, as 'n aanvaller weet dat die maatskappy die requests-company
-biblioteek weergawe 1.0.1 gebruik (met klein opdaterings toegelaat), kan hy die biblioteek requests-company
weergawe 1.0.2 publiseer en die maatskappy sal daardie biblioteek gebruik in plaas van die interne een.
AWS-oplossing
Hierdie kwesbaarheid is gevind in AWS CodeArtifact (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 bewaarplekke afgelaai word.
Identifisering van Kwesbare Biblioteke
In die oorspronklike pos oor afhanklikheidsverwarring het die skrywer gesoek na duisende blootgestelde package.json-lêers wat die afhanklikhede van JavaScript-projekte bevat.
Verwysings
- https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
- https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersecurity-maatskappy? Wil jy jou maatskappy adverteer in HackTricks? Of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die SUBSCRIPTION PLANS!
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die hacktricks repo en hacktricks-cloud repo.