8.6 KiB
Dependency Confusion
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
{% embed url="https://websec.nl/" %}
Basic Information
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ dependency confusion vulnerability рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЧрд▓рдд рд╕реНрдкреЗрд▓рд┐рдВрдЧ рдирд╛рдо, рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди рдпрд╛ рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА dependency repository рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ repositories рд╕реЗ рдЕрдкрдбреЗрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
- рдЧрд▓рдд рд╕реНрдкреЗрд▓рд┐рдВрдЧ: Import
reqests
instead ofrequests
- рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди: Import
company-logging
, рдПрдХ рдЖрдВрддрд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ - рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг: Import an internal existent
company-requests
рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд▓реЗрдХрд┐рди repo рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ repos рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╡рд╣рд╛рдБ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред
Exploitation
{% hint style="warning" %} рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рджреБрд╖реНрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдкреАрдбрд╝рд┐рдд рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд╛рдо рд╣реИред {% endhint %}
Misspelled & Inexistent
рдпрджрд┐ рдЖрдкрдХреА рдХрдВрдкрдиреА рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ repo рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ repositories рдореЗрдВ рдЦреЛрдЬрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХрд╛ рдХреЛрдб рдФрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрдиреЗрдВ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕рдордЭреМрддрд╛ рдХреА рдЬрд╛рдПрдВрдЧреАред
Unspecified Version
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рд╡реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдореЗрдЬрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░, рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдЙрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рдЬреНрдЮрд╛рдд рдмрд╛рд╣рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ (рдЬреИрд╕реЗ python requests
), рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ requests
рдирд╛рдо рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рдмрдирд╛ рд╕рдХреЗрдЧрд╛ (рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдореВрд▓ рд▓реЗрдЦрдХ рди рд╣реЛ)ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдВрддрд░рд┐рдХ рд╣реИ, рдЬреИрд╕реЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ requests-company
, рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА repo рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред
рддреЛ рдпрджрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХрдВрдкрдиреА requests-company
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг 1.0.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ (рдЫреЛрдЯреЗ рдЕрдкрдбреЗрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)ред рд╡рд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА requests-company
рд╕рдВрд╕реНрдХрд░рдг 1.0.2 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдВрдкрдиреА рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА рдмрдЬрд╛рдп рдЖрдВрддрд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗред
AWS Fix
рдпрд╣ vulnerability AWS CodeArtifact рдореЗрдВ рдкрд╛рдИ рдЧрдИ рдереА (рдкрдврд╝реЗрдВ рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд┐рд╡рд░рдг).
AWS рдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдВрддрд░рд┐рдХ рд╣реИ рдпрд╛ рдмрд╛рд╣рд░реА, рддрд╛рдХрд┐ рдмрд╛рд╣рд░реА repositories рд╕реЗ рдЖрдВрддрд░рд┐рдХ dependencies рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗред
Finding Vulnerable Libraries
Dependency confusion рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореВрд▓ рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓реЗрдЦрдХ рдиреЗ рд╣рдЬрд╛рд░реЛрдВ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд┐рдП рдЧрдП package.json рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА dependencies рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИрдВред
References
- 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" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.