AWS - Lambda Persistence
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lambda
자세한 정보는 다음을 확인하십시오:
AWS - Lambda EnumLambda Layer Persistence
Lambda가 은밀하게 실행될 때 임의의 코드를 실행하도록 레이어를 도입/백도어할 수 있습니다:
AWS - Lambda Layers PersistenceLambda Extension Persistence
Lambda Layers를 악용하여 확장을 악용하고 lambda에 지속적으로 존재할 수 있으며 요청을 훔치고 수정할 수도 있습니다.
AWS - Abusing Lambda Extensions리소스 정책을 통한 방법
외부 계정에 다양한 lambda 작업(예: 호출 또는 코드 업데이트)에 대한 액세스를 부여할 수 있습니다:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-81607c65d777c9fc211c6aebe368146a7097d63a%252Fimage%2520%28255%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c554f17e&sv=1)
버전, 별칭 및 가중치
Lambda는 다른 버전(각 버전마다 다른 코드)을 가질 수 있습니다. 그런 다음, 다른 버전의 lambda와 다른 가중치를 설정하여 다른 별칭을 만들 수 있습니다. 이렇게 하면 공격자는 백도어된 버전 1과 정상 코드만 있는 버전 2를 만들고 요청의 1%에서만 버전 1을 실행하여 은밀하게 유지할 수 있습니다.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F209827131-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzJZUQhBpNPiCSGYCC3is%252Fuploads%252Fgit-blob-af2de350b1f46ca4e526a27f233772c98f85fa8f%252Fimage%2520%28120%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6fd02ee4&sv=1)
버전 백도어 + API Gateway
Lambda의 원본 코드를 복사합니다.
원본 코드를 백도어하거나(또는 악성 코드만 포함된) 새 버전을 생성합니다. 해당 버전을 $LATEST에 게시하고 배포합니다.
Lambda와 관련된 API Gateway를 호출하여 코드를 실행합니다.
원본 코드로 새 버전을 생성하고, 해당 버전을 $LATEST에 게시하고 배포합니다.
이는 이전 버전에 백도어된 코드를 숨깁니다.
API Gateway로 이동하여 새 POST 메서드(또는 다른 메서드 선택)를 생성하여 lambda의 백도어된 버전을 실행합니다:
arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
arn의 마지막 :1은 함수의 버전(이 시나리오에서는 버전 1이 백도어된 버전임)을 나타냅니다.
생성된 POST 메서드를 선택하고 작업에서 **
Deploy API
**를 선택합니다.이제 POST를 통해 함수를 호출하면 백도어가 실행됩니다.
Cron/Event 액추에이터
무언가가 발생하거나 일정 시간이 지나면 lambda 함수가 실행되도록 할 수 있다는 사실은 lambda를 지속성을 확보하고 탐지를 피하는 좋은 방법으로 만듭니다. 여기에는 lambda를 생성하여 AWS에서 더 은밀하게 존재할 수 있는 몇 가지 아이디어가 있습니다.
새 사용자가 생성될 때마다 lambda가 새 사용자 키를 생성하여 공격자에게 전송합니다.
새 역할이 생성될 때마다 lambda가 손상된 사용자에게 역할 가정 권한을 부여합니다.
새 cloudtrail 로그가 생성될 때마다 삭제/변경합니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated