AWS - Lambda Persistence
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
자세한 정보는 다음을 확인하세요:
AWS - Lambda Enum람다가 은밀하게 실행될 때 임의의 코드를 실행하기 위해 레이어를 도입/백도어하는 것이 가능합니다:
AWS - Lambda Layers PersistenceLambda Layers를 악용하여 확장을 악용하고 람다에 지속적으로 존재할 수 있으며 요청을 훔치고 수정할 수도 있습니다.
AWS - Abusing Lambda Extensions외부 계정에 대해 다양한 람다 작업(예: 호출 또는 코드 업데이트)에 대한 접근을 부여할 수 있습니다:
람다는 다양한 버전(각 버전마다 다른 코드)을 가질 수 있습니다. 그런 다음, 람다의 다양한 버전으로 다양한 별칭을 생성하고 각 버전에 대해 다른 가중치를 설정할 수 있습니다. 이렇게 하면 공격자는 백도어가 있는 버전 1과 정상 코드만 있는 버전 2를 생성하고 요청의 1%에서만 버전 1을 실행하여 은밀함을 유지할 수 있습니다.
Lambda의 원본 코드를 복사합니다.
원본 코드를 백도어하는 새로운 버전을 생성합니다(또는 악성 코드만 포함). 해당 버전을 게시하고 $LATEST에 배포합니다.
람다와 관련된 API 게이트웨이를 호출하여 코드를 실행합니다.
원본 코드로 새로운 버전을 생성하고, 해당 버전을 $LATEST에 게시하고 배포합니다.
이렇게 하면 이전 버전에서 백도어 코드가 숨겨집니다.
API Gateway로 이동하여 백도어가 있는 람다 버전을 실행할 새로운 POST 메서드를 생성합니다: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
최종 :1의 arn은 함수의 버전을 나타냅니다(이 시나리오에서 버전 1은 백도어가 있는 것입니다).
생성된 POST 메서드를 선택하고 작업에서 **API 배포
**를 선택합니다.
이제 POST를 통해 함수를 호출하면 백도어가 호출됩니다.
무언가가 발생하거나 시간이 경과할 때 람다 함수를 실행할 수 있다는 사실은 람다를 지속성을 얻고 탐지를 피하는 좋은 일반적인 방법으로 만듭니다. 여기 AWS에서 은밀하게 존재하기 위해 람다를 생성하는 몇 가지 아이디어가 있습니다.
새로운 사용자가 생성될 때마다 람다가 새로운 사용자 키를 생성하고 공격자에게 전송합니다.
새로운 역할이 생성될 때마다 람다가 손상된 사용자에게 역할 수임 권한을 부여합니다.
새로운 CloudTrail 로그가 생성될 때마다 삭제/변경합니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)