[Education]/[AWS] Cloud Hacking

[AWS] Chapter4. 서버&서버리스 진단 - 1

starterr 2024. 5. 6. 23:35
반응형

1. AWS 침투 테스트 정책

01. 침투 테스트 허용/금지 서비스

침투 테스트 허용 서비스
- EC2, NAT Gateway 및 Elastic Load Balancer
- RDS
- CloudFront
- Aurora
- API Gateway
- Lambda 및 Lambda Edge 기능
- Lightsail 리소스
- Elastic Beanstalk 환경

침투 테스트 금지 서비스
- Route 53 Hosted Zones를 통한 DNS zone walking
- 서비스 거부(Dos), 분산 서비스 거부(DDoS)
- 포트 플러딩
- 프로토콜 플러딩
- 요청 플러딩(로그인 요청, API 요청)

 

02. AWS 침투 테스트 도구 정책

침투 테스트 도구
-> AWS는 다양한 침투 테스트 도구의 존재 및 사용 가능성을 인정
-> 보안 평가를 위한 도구 또는 서비스선택에 제약은 없음
-> 알려진 취약점 버전을 찾기 위한 배너그래빙 및 쿼리 주입은 허용
-> 그러나, 서비스 거부(DoS) 공격 또는 플러딩 공격은 제한

의무
-> 침투 테스트를 위한 도구가 DoS 등 제한을 두는 공격을 수행하지 않는 지 명확하게 확인
-> 진단자 또는 사용하는 도구가 정책 위반 시 AWS 또는 고객에게 책임을 져야함

 

2. SSRF

01. EC2 SSRF 개요 및 사례

SSRF(Server-Side Request Forgery)
- Server Side에서 이루어지는 요청을 변조해 공격자가 의도한 대로 서버로 요청을 가게 하는 것

공격 사례
-> 2019년, 미국 은행 Capital One(캐피탈 원)에서 1억 600만 명의 고객 개인정보가 해킹
-> AWS EC2 SSRF 공격 사례 - 이름, 주소, 사회보장번호, 생년월일, 연간 소득 등 유출
-> EC2의 metadata에 SSRF 취약점을 이용하여 S3의 권한 획득 및 데이터 유출

대응
-> AWS는 설계된 대로 기능을 했으며, 해킹은 클라우드 서비스 자체 취약점이 아니라
WAF 설정을 잘못했기 때문에 발생한 것으로 결론
-> 추후 AWS는 토큰을 포함하여 metadata를 요청할 수 있도록 옵션 추가

 

02. EC2 SSRF 시나리오

SSRF를 이용한 AWS EC2 메다테이터 탈취

  1. 원격 사용자 대신 서버가 명령어를 실행하도록 하여 자신의 요청에 대한 프록시로 취급하도록 함
  2. 내부망에 위치한 비공개 엔드포인트에 접근 가능
  3. AWS EC2 VM 만의 메타데이터 서비스(http://169.254.169.254)에 액세스 가능
  4. 메타데이터 URL은 VM IP주소, AWS 네트워크 내 배치, 호스트명을 HTTP API로 제공하여 클라우드 개발자에게 유용

 

03. EC2 SSRF 진단방법

SSRF를 이용한 AWS 자격증명 접근
- SSRF와 EC2 metadata 엔드포인트의 액세스 권한을 결합하여 서버가 다음 URL을 요청

  • http://169.254.169.254/iam/security-credentials

  • http://169.254.169.254/latest/meta-data/iam/security-credentials/ISRM-WAF-Role

-> 인증 정보와 토큰이 응답에 포함
-> AWS CLI에 인증정보 등록 후 계정권한 획득
-> 선언된 IAM 정책만큼 AWS 권한 사용 가능

 

반응형

 

 

04. Lambda SSRF 개요 및 시나리오

Lambda Runtime SSRF
-> Lambda 함수가 동작할 때 런타임으로 가상환경에서 컨테이너 구성 후 동작
-> 환경 변수로 IAM 자격 증명과 설정 값이 적용됨

 

05. Lambda SSRF 진단방법

- file:// 스키마를 통해 접근 시 파일 내용 유출 여부 확인

구 분 내 용
설 명 Lambda에 자원 요청을 보내 메타데이터를 읽을 수 있는 취약점
판단 기준 [취약] 내부 자원 접근 시도 시 파일의 내용이 출력
[양호] 내부 자원 접근 시도 시 에러가 반환
영 향 취약점을 통해 획득한 인증 정보의 권한으로 접근이 불가능한 클라우드 서비스의 악용 가능

 

06. 보안대책

1) EC2 인스턴스 메타데이터 보안 설정
- 비공개 VPC에서 동작 중인 EC2 인스턴스에 대해 공개 IP를 설정하지 않도록 함
- 인스턴스 메타데이터에 접근하는 옵션 비활성화
->"aws ec2 modify-instance-metadata-options -instance-id [id] -http-endpoint disabled"
-인스턴스 메타데이터 서비스 액세스 제한 설정
-> Iptabels를 이용한 제한(169.254.169.254 ip에 대한 접근 제어 설정)
-> PF 또는 IPFW를 사용하여 액세스 제한 Black List 검증

2) 사용자 입력 값 검증
- Whitelist 방식의 Filtering
-> 입력한 데이터에 대해 허용할 List(URL, Scheme)에 속하는 경우에만 처리
-> 지정된 목록에 속하지 않는 경우 에러페이지 응답
- Blacklist 방식의 Filtering
-> 지정된 목록에 속하는 입력값 요청 시 에러페이지 응답
ex) Private IP, Lookback 주소, 불필요한 schema(sftp://, file://), 불필요 특수문자(%0a)

 

[AWS] Chapter4. 서버&서버리스 진단 - 3

 

[AWS] Chapter4. 서버&서버리스 진단 - 3

4. NoSQL Injection 01. 개요 NoSQL 개요 - 유연한 수평확장(Scale-Out) - 빠른 레이턴시 - 유연한 스키마 - 조인(join)이 불가하여 복잡한 로직 수행 시 성능 감소 DynamDB 개요 - AWS 클라우드 기

infoofit.tistory.com

 

[AWS] Network - ELB(Elastic Load Balancing)

 

[AWS] Network - ELB(Elastic Load Balancing)

A. 고가용성VPC 내 단일 서버를 통한 서비스 구성하여 사용자가 접근하는 환경에서 단일 서버가 장애가 발생 되면 서비스를 받을 수 없습니다.지속적인 서비스 제공을 위해 서버를 다중화 구성하

infoofit.tistory.com

 

 

반응형