mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
73 lines
6 KiB
Markdown
73 lines
6 KiB
Markdown
# Afhanklikheidsverwarring
|
|
|
|
<details>
|
|
|
|
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Werk jy in 'n **cybersekerheidsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
|
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
|
|
* Kry die [**amptelike PEASS & HackTricks-klere**](https://peass.creator-spring.com)
|
|
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Deel jou haktruuks deur PR's in te dien by die [hacktricks-opslagplek](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud-opslagplek](https://github.com/carlospolop/hacktricks-cloud)**.
|
|
|
|
</details>
|
|
|
|
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
|
|
## Basiese Inligting
|
|
|
|
Kortliks, 'n afhanklikheidsverwarringskwetsbaarheid 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 **opgedateerde weergawes van openbare** bewaarplekke te **vergaar**.
|
|
|
|
* **Verkeerd gespelde**: Importeer **`reqests`** in plaas van `requests`
|
|
* **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 kontroleer **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 gespelde & 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** gaan soek. As 'n aanvaller dit geskep het, is dit baie waarskynlik dat jou kode en masjiene wat dit hardloop, gekompromitteer gaan word.
|
|
|
|
### Ongespesifiseerde Weergawe
|
|
|
|
Dit is baie algemeen vir ontwikkelaars om **geen weergawe te spesifiseer** van die gebruikte biblioteek, of net '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 `requests`), kan 'n **aanvaller nie veel doen nie**, aangesien hy nie 'n biblioteek met die naam `requests` kan skep (tensy hy die oorspronklike skrywer is).\
|
|
Maar as die biblioteek **intern** is, soos `requests-company` in hierdie voorbeeld, as die **biblioteekbewaarplek** toelaat om **ook eksterne nuwe weergawes te soek**, sal dit soek na 'n nuwer weergawe wat openlik beskikbaar is.\
|
|
Dus 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 gebruik in plaas van die interne een**.
|
|
|
|
## AWS-oplossing
|
|
|
|
Hierdie kwetsbaarheid is gevind in AWS **CodeArtifact** (lees die [**besonderhede in hierdie blogpos**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
|
|
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.
|
|
|
|
## Vind Kwesbare Biblioteke
|
|
|
|
In die [**oorspronklike pos oor afhanklikheidsverwarring**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) 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://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610)
|
|
* [https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)
|
|
|
|
<figure><img src="/.gitbook/assets/WebSec_1500x400_10fps_21sn_lightoptimized_v2.gif" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://websec.nl/" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
* Werk jy in 'n **cybersekerheidsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
|
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
|
|
* Kry die [**amptelike PEASS & HackTricks-klere**](https://peass.creator-spring.com)
|
|
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Deel jou haktruuks deur PR's in te dien by die [hacktricks-opslagplek](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud-opslagplek](https://github.com/carlospolop/hacktricks-cloud)**.
|
|
|
|
</details>
|