mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
73 lines
9 KiB
Markdown
73 lines
9 KiB
Markdown
# Εξάρτηση Σύγχυσης
|
||
|
||
<details>
|
||
|
||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
|
||
|
||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||
* Ανακαλύψτε τη [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* **Εγγραφείτε** στη [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](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/" %}
|
||
|
||
|
||
## Βασικές Πληροφορίες
|
||
|
||
Συνοπτικά, μια ευπάθεια εξάρτησης σύγχυσης συμβαίνει όταν ένα έργο χρησιμοποιεί μια βιβλιοθήκη με **λάθος γραμματικό λάθος**, **μη υπάρχουσα** ή με **μη καθορισμένη έκδοση** και το χρησιμοποιούμενο αποθετήριο εξαρτήσεων επιτρέπει να **συγκεντρώνει ενημερωμένες εκδόσεις από δημόσια** αποθετήρια.
|
||
|
||
* **Λάθος γραμματικό λάθος**: Εισαγωγή **`reqests`** αντί για `requests`
|
||
* **Μη υπάρχουσα**: Εισαγωγή `company-logging`, μια εσωτερική βιβλιοθήκη που **δεν υπάρχει πλέον**
|
||
* **Μη καθορισμένη έκδοση**: Εισαγωγή μιας **εσωτερικής υπάρχουσας** βιβλιοθήκης `company-requests`, αλλά το αποθετήριο ελέγχου **δημόσια αποθετήρια** για να δει αν υπάρχουν **μεγαλύτερες εκδόσεις**.
|
||
|
||
## Εκμετάλλευση
|
||
|
||
{% hint style="warning" %}
|
||
Σε όλες τις περιπτώσεις ο επιτιθέμενος απλώς χρειάζεται να δημοσιεύσει ένα **κακόβουλο πακέτο με το όνομα** των βιβλιοθηκών που χρησιμοποιεί η εταιρεία θύμα.
|
||
{% endhint %}
|
||
|
||
### Λάθος γραμματικό λάθος & Μη υπάρχουσα
|
||
|
||
Αν η εταιρεία σας προσπαθεί να **εισάγει μια βιβλιοθήκη που δεν είναι εσωτερική**, πιθανότατα το αποθετήριο των βιβλιοθηκών θα την αναζητήσει σε **δημόσια αποθετήρια**. Αν ένας επιτιθέμενος την έχει δημιουργήσει, τον κώδικά σας και τις μηχανές που τρέχουν είναι πιθανόν να διακινδυνευτούν.
|
||
|
||
### Μη καθορισμένη Έκδοση
|
||
|
||
Είναι πολύ συνηθισμένο για τους προγραμματιστές να **μην καθορίζουν καμία έκδοση** της χρησιμοποιούμενης βιβλιοθήκης, ή να καθορίζουν μόνο μια **κύρια έκδοση**. Στη συνέχεια, ο διερμηνευτής θα προσπαθήσει να κατεβάσει την **τελευταία έκδοση** που πληροί αυτές τις απαιτήσεις.\
|
||
Αν η βιβλιοθήκη είναι μια **γνωστή εξωτερική βιβλιοθήκη** (όπως το python `requests`), ένας **επιτιθέμενος δεν μπορεί να κάνει πολλά**, καθώς δεν θα μπορεί να δημιουργήσει μια βιβλιοθήκη με το όνομα `requests` (εκτός αν είναι ο αρχικός συγγραφέας).\
|
||
Ωστόσο, αν η βιβλιοθήκη είναι **εσωτερική**, όπως το `requests-company` σε αυτό το παράδειγμα, αν το **αποθετήριο της βιβλιοθήκης** επιτρέπει να **ελέγχει και για νέες εκδόσεις εξωτερικά**, θα αναζητήσει μια νεότερη έκδοση διαθέσιμη δημόσια.\
|
||
Έτσι, αν ένας **επιτιθέμενος γνωρίζει** ότι η εταιρεία χρησιμοποιεί τη βιβλιοθήκη `requests-company` **έκδοση 1.0.1** (επιτρέπει μικρές ενημερώσεις). Μπορεί να **δημοσιεύσει** τη βιβλιοθήκη `requests-company` **έκδοση 1.0.2** και η εταιρεία θα **χρησιμοποιήσει αυτήν τη βιβλιοθήκη αντί** της εσωτερικής.
|
||
|
||
## Διόρθωση AWS
|
||
|
||
Αυτή η ευπάθεια εντοπίστηκε στο AWS **CodeArtifact** (διαβάστε τις [**λεπτομέρειες σε αυτήν την ανάρτηση στο blog**](https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d)).\
|
||
Το AWS το διόρθωσε επιτρέποντας να καθορίζετε αν μια βιβλιοθήκη είναι εσωτερική ή εξωτερική, για να αποφεύγετε τη λήψη εσωτερικών εξαρτήσεων από εξωτερικά αποθετήρια.
|
||
|
||
## Εύρεση Ευπάθειών Βιβλιοθηκών
|
||
|
||
Στην [**αρχική ανάρτηση για την εξάρτηση σύγχυσης**](https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610) ο συγγραφέας αναζήτησε χιλιάδες αποκαλυμμένα αρχεία package.json που περιέχουν τις εξαρτήσεις των έργων σε JavaScript.
|
||
|
||
## Αναφορές
|
||
|
||
* [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>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)</strong></a><strong>!</strong></summary>
|
||
|
||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε PDF**; Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||
* Ανακαλύψτε τη [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
* **Εγγραφείτε** στη [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα τηλεγράφου**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||
|
||
</details>
|