6.1 KiB
의존성 혼동
htARTE (HackTricks AWS Red Team Expert)를 통해 제로에서 영웅까지 AWS 해킹을 배워보세요!
- 사이버 보안 회사에서 일하시나요? 회사를 HackTricks에서 광고하고 싶으신가요? 아니면 PEASS의 최신 버전을 사용하거나 HackTricks를 PDF로 다운로드하고 싶으신가요? 구독 요금제를 확인해보세요!
- The PEASS Family를 발견해보세요. 독점적인 NFT 컬렉션입니다.
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter에서 팔로우하세요 🐦@carlospolopm.
- **hacktricks repo와 hacktricks-cloud repo**에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
기본 정보
요약하자면, 의존성 혼동 취약점은 프로젝트가 맞춤법이 틀린 이름, 존재하지 않는 라이브러리 또는 지정되지 않은 버전을 사용하고 사용 중인 의존성 저장소가 공개 저장소에서 업데이트된 버전을 수집할 수 있을 때 발생합니다.
- 맞춤법이 틀린:
requests
대신에 **reqests
**를 임포트합니다. - 존재하지 않는: 더 이상 존재하지 않는 내부 라이브러리인
company-logging
을 임포트합니다. - 지정되지 않은 버전: 내부 존재하는
company-requests
라이브러리를 임포트하지만, 저장소는 공개 저장소를 확인하여 더 큰 버전이 있는지 확인합니다.
공격
{% hint style="warning" %} 모든 경우에 공격자는 피해 회사가 사용하는 라이브러리의 악성 패키지를 게시하기만 하면 됩니다. {% endhint %}
맞춤법이 틀린 & 존재하지 않는
회사가 내부가 아닌 라이브러리를 임포트하려고 할 때, 라이브러리 저장소는 공개 저장소에서 해당 라이브러리를 검색하려고 할 것입니다. 공격자가 해당 라이브러리를 생성한 경우, 코드와 실행 중인 기기가 크게 손상될 가능성이 높습니다.
지정되지 않은 버전
개발자들이 사용하는 라이브러리의 버전을 지정하지 않는 것이 매우 일반적이거나 주 버전만 지정하는 경우가 많습니다. 그런 다음, 인터프리터는 해당 요구 사항을 충족하는 최신 버전을 다운로드하려고 시도합니다.
라이브러리가 알려진 외부 라이브러리인 경우 (예: 파이썬 requests
), 공격자는 많은 것을 할 수 없습니다, 왜냐하면 requests
라는 라이브러리를 생성할 수 없기 때문입니다 (원래 작성자가 아닌 한).
그러나 이 예시에서처럼 라이브러리가 내부인 경우, 예를 들어 requests-company
인 경우, 라이브러리 저장소가 외부에서도 새 버전을 확인할 수 있도록 허용한다면, 공개적으로 사용 가능한 더 최신 버전을 검색할 것입니다.
따라서 공격자는 회사가 requests-company
라이브러리 버전 1.0.1 (마이너 업데이트 허용)을 사용한다는 것을 알고 있다면, 라이브러리 requests-company
버전 1.0.2를 게시할 수 있고, 회사는 내부 라이브러리 대신 해당 라이브러리를 사용할 것입니다.
AWS 수정
이 취약점은 AWS CodeArtifact에서 발견되었습니다 (자세한 내용은 이 블로그 포스트를 읽으세요).
AWS는 내부 라이브러리를 외부 저장소에서 다운로드하지 않도록 하기 위해 라이브러리가 내부 또는 외부인지를 지정할 수 있도록 수정했습니다.
취약한 라이브러리 찾기
의존성 혼동에 관한 원본 포스트에서 저자는 수천 개의 노출된 package.json 파일을 검색하여 JavaScript 프로젝트의 종속성을 찾았습니다.
참고 자료
- https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
- https://zego.engineering/dependency-confusion-in-aws-codeartifact-86b9ff68963d
htARTE (HackTricks AWS Red Team Expert)를 통해 제로에서 영웅까지 AWS 해킹을 배워보세요!
- 사이버 보안 회사에서 일하시나요? 회사를 HackTricks에서 광고하고 싶으신가요? 아니면 PEASS의 최신 버전을 사용하거나 HackTricks를 PDF로 다운로드하고 싶으신가요? 구독 요금제를 확인해보세요!
- The PEASS Family를 발견해보세요. 독점적인 NFT 컬렉션입니다.
- 공식 PEASS & HackTricks 스웨그를 얻으세요.
- 💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter에서 팔로우하세요 🐦@carlospolopm.
- **hacktricks repo와 hacktricks-cloud repo**에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.