pathbreak-audit: AWS 계정에서 악용 가능한 IAM 권한 찾기
핵심 요약
- pathbreak-audit는 방어자를 위한 무료 오픈 소스 명령줄 도구입니다. AWS 계정을 대상으로 실행하면 악용 가능한 권한과 유해한 조합을 보유한 IAM 역할과 사용자를 각각의 해결책과 함께 나열합니다.
- 읽기 전용이며 로컬에서 실행됩니다. IAM만 읽고 그 외에는 아무것도 읽지 않으며, 여러분의 자격 증명과 발견 항목은 절대 여러분의 컴퓨터를 벗어나지 않습니다.
- 이 검사 항목들은 AWS 권한 상승 맵과 동일한 카탈로그에서 가져온 것입니다.
pip install pathbreak-audit로 설치하거나, AWS 계정 없이pathbreak-audit --demo로 시험해 볼 수 있습니다.- 이것은 특정 시점의, 단일 계정 검사입니다. 어떤 경로가 검증되고, 여러분의 데이터에 도달하며, 영향 범위로 순위가 매겨지는지를 보여 주는 것은 Pathbreak가 더하는 부분입니다.
AWS 권한 상승 맵은 하나의 레퍼런스입니다. 공격자가 관리자 권한, 데이터, 또는 재침입으로 나아가는 데 사용할 수 있는 모든 AWS 권한과, 각 경로를 차단하는 변경 사항을 담고 있습니다. 이 맵은 일반적으로 AWS에서 무엇이 잘못될 수 있는지 알려 줍니다. pathbreak-audit는 그 권한들 가운데 어느 것이 지금 여러분의 계정에 자리 잡고 있는지 알려 줍니다.
어떤 일을 하는가
pathbreak-audit는 각 역할과 사용자에 연결된 정책, 즉 관리형 정책과 인라인 정책, 그리고 사용자가 그룹으로부터 상속받는 정책을 읽어 각 주체가 허용받은 작업을 계산한 뒤, 이를 위험한 권한과 조합의 카탈로그와 대조합니다. 모든 주체에 대해 무엇을 보유하고 있는지와 이를 제거하는 최소 권한 변경 사항을, 맵의 전체 설명으로 연결되는 링크와 함께 출력합니다.
발견 항목은 두 종류로 나뉩니다. 직접 악용 가능한 권한은 주체가 권한을 상승시키거나, 재침입하거나, 로깅을 조작하게 하는 단일 작업으로, 예를 들어 다른 사용자에 대한 iam:CreateAccessKey가 있습니다. 유해한 조합은 함께일 때만 위험한 권한의 집합으로, iam:PassRole와 lambda:CreateFunction의 결합이 그 예이며, 정책을 하나씩 검토하는 방식으로는 놓치기 쉽습니다.
기본 보기가 짧은 이유
모든 광범위한 읽기와 모든 권한에 플래그를 다는 도구는 해결하려던 경보 피로를 오히려 다시 만들어 냅니다. 그래서 기본 보기는 대상이 무엇이든 악용 가능한 권한, 즉 권한 상승, 재침입, 로깅 조작, 그리고 파괴에 해당하는 권한입니다. 광범위한 데이터 및 시크릿 읽기, Lambda 호출, 역할 수임, 세션 액세스는 그것들이 도달하는 리소스가 특권을 가진 경우에만 의미가 있는데, 단일 계정 정적 검사로는 이를 알 수 없으므로 --include-access로 요청하지 않는 한 보류됩니다. 전체 관리자와 AWS 기본 역할도 기본적으로 제외되므로, 목록은 짧고 읽을 만하게 유지됩니다.
직접 써 보기
AWS 계정이 전혀 없어도 출력 결과를 볼 수 있습니다:
pip install pathbreak-auditpathbreak-audit --demo
자신의 계정을 대상으로 실행하려면 IAM에 대한 읽기 액세스 권한이 있는 자격 증명을 아무거나 사용하면 됩니다. AWS 관리형 정책 SecurityAudit 또는 ViewOnlyAccess 둘 다 이를 충족합니다:
pathbreak-audit --profile my-profile
전체 옵션, 예시 출력, 그리고 소스 코드는 GitHub에서 확인할 수 있습니다.
하지 않는 일
한 계정을 특정 시점에 검사하는 도구입니다. 정책이 무엇을 허용하는지를 읽기 때문에, 좁게 한정된 권한 부여도 여전히 나타날 수 있으며, 어떤 권한이 악용될 수 있다는 것을 알려 줄 뿐 그것이 민감한 무언가까지 끝까지 연결된다는 것을 말해 주지는 않습니다. 계정 전반에 걸쳐 그래프를 탐색하지 않고, 경로가 여러분의 실제 권한에 비추어 성립하는지 검증하지 않으며, 변동을 감시하지도 않습니다. 우리는 그 선을 의도적으로 긋습니다.
pathbreak-audit는 주체별로 악용될 수 있는 권한을 보여 줍니다. Pathbreak는 그 가운데 어느 것이 여러분의 민감한 데이터에 도달하는 검증된 경로로 엮이는지를 보여 주고, 모든 계정에 걸쳐 영향 범위 기준으로 순위를 매기며, 가장 많은 경로를 차단하는 단 하나의 변경 사항을 지속적으로 돌려줍니다. 이 도구가 유용하다면, 그것이 다음 단계입니다.
자주 묻는 질문
pathbreak-audit는 정말 무료인가요?
네. MIT 라이선스 하의 오픈 소스이며 무료로 사용할 수 있습니다. 소스 코드는 GitHub에 있으며 PyPI에 게시되어 있습니다. Pathbreak가 배포합니다.
제 AWS 계정에 대한 쓰기 액세스가 필요한가요?
아니요. IAM과 STS API에 대해 읽기 호출만 합니다. AWS 관리형 정책 SecurityAudit 또는 ViewOnlyAccess만 있으면 실행할 수 있습니다. 전체 Pathbreak 플랫폼도 읽기 전용 역할을 통해 같은 방식으로 연결됩니다.
pathbreak-audit가 제 데이터를 어딘가로 전송하나요?
아니요. 모든 것이 로컬에서 실행됩니다. 여러분의 계정에 아무것도 쓰지 않고 외부로 아무것도 보내지 않습니다. 텔레메트리도 없습니다. 공유하기로 선택하지 않는 한 Pathbreak는 출력 결과를 볼 수 없습니다.
pathbreak-audit는 Pathbreak와 어떻게 다른가요?
pathbreak-audit는 악용될 수 있는 권한을 정적으로, 단일 계정 기준으로 나열한 목록입니다. Pathbreak는 그 가운데 어느 것이 여러분의 민감한 데이터로 이어지는 실제 경로로 엮이는지 검증하고, 모든 계정에 걸쳐 영향 범위 기준으로 순위를 매기며, 가장 많이 차단하는 단 하나의 변경 사항을 지속적으로 제시합니다.