Lambda 호출 (해당 역할로 실행)
Lambda 함수를 호출하고 해당 실행 역할로 실행할 수 있습니다..
그 자체만으로 권한 상승을 허용합니다.
lambda:InvokeFunctionlambda:InvokeFunction만으로도 Lambda 함수를 호출하여 실행 역할로 실행할 수 있습니다. 넓은 리소스 범위에서는 이것만으로 관리자 접근 권한에 도달합니다.
위험한 이유
주체가 함수에서 lambda:InvokeFunction을 호출할 수 있으며, 이는 주체의 자격 증명 정책과 함수의 리소스(호출) 정책 양쪽 모두에 대해 검증됩니다. 함수는 자신의 실행 역할로 실행되므로, 함수를 호출하는 것은 그 역할로서의 코드 실행입니다. 함수는 노리는 대상이 아니라 경첩입니다. 경로는 함수가 내어주는 역할(lambda-cred-theft)과 그 역할이 도달할 수 있는 모든 것으로 이어집니다.
MITRE ATT&CK 기준으로 이는 실행 전술의 T1648, Serverless Execution에 해당합니다. AWS는 이를 CloudTrail에 Invoke로 기록합니다. 이 호출은 CloudTrail에 나타나지만 일반적인 관리 작업에 섞여 들어가므로, 눈에 띄게 하려면 별도의 규칙이 필요합니다.
탐지
Invoke전제 조건
함수에 대한 lambda:InvokeFunction(자격 증명 정책 또는 함수의 리소스 정책에서).
MITRE ATT&CK
T1648 · Serverless Execution전술
실행
이를 제거할 수 있는 통제: lambda:InvokeFunction 권한과 함수의 리소스 정책의 범위를 지정하고, 실행 역할에 최소 권한을 적용하십시오.
이를 적용할지 여부는 해당 권한이 귀하의 환경에서 어떻게 사용되는지에 따라 달라지므로, 자동으로 적용되는 수정이 아니라 비즈니스 차원의 판단입니다. 같은 권한이 한 계정에서는 핵심적인 역할을 하고 다른 계정에서는 순전히 위험일 수 있습니다.
Pathbreak는 이 경로가 귀하의 계정에서 실제로 성립하는지 확인하고, 얼마나 많은 접근을 열어주는지에 따라 다른 경로와 비교하여 순위를 매기며, 귀하의 위협 모델과 비즈니스 맥락을 활용하여 어떤 경로를 차단할 가치가 있는지 보여줍니다.
질문
lambda:InvokeFunction의 허용 범위는 무엇입니까?
Lambda 함수를 호출하고 해당 실행 역할로 실행할 수 있습니다..
lambda:InvokeFunction만으로 권한 상승이 가능합니까?
예. 충분히 넓은 리소스에 대해 보유하면 다른 권한 없이도 관리자 접근에 도달합니다.
Lambda 호출 (해당 역할로 실행) 탐지는 어떻게 이루어집니까?
CloudTrail에서 Invoke 이벤트를 주시하십시오. 이 호출은 CloudTrail에 나타나지만 일반적인 관리 작업에 섞여 들어가므로, 눈에 띄게 하려면 별도의 규칙이 필요합니다.
이 경로를 어떻게 차단합니까?
이를 제거할 수 있는 통제는 다음과 같습니다: lambda:InvokeFunction과 함수의 리소스 정책의 범위를 좁히고, 실행 역할에 최소 권한을 적용합니다. 이를 적용할지 여부는 해당 권한이 계정에서 어떻게 사용되는지에 따라 달라지므로, 자동으로 적용되는 수정이 아니라 비즈니스 차원의 판단입니다.
이것은 어떤 MITRE ATT&CK 기법입니까?
실행 전술의 T1648, Serverless Execution.
관련 경로
참고 자료
직접 자신의 계정에서 찾기
저희는 하나의 AWS 계정에 대해 읽기 전용 스캔을 실행하여, 이 경로 중 어떤 것이 존재하는지를 영향 범위 순으로, 각 경로를 끊는 변경과 함께 보여드립니다. 첫 검증된 경로는 한 시간 이내에 제공됩니다.