2024-02-10 21:30:13 +00:00
# 계정 탈취
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
GCP 해킹 배우기 및 연습하기: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Training GCP Red Team Expert (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
< details >
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
< summary > HackTricks 지원하기< / summary >
2024-02-03 12:22:53 +00:00
2024-07-19 11:35:15 +00:00
* [**구독 계획** ](https://github.com/sponsors/carlospolop ) 확인하기!
* **💬 [**Discord 그룹** ](https://discord.gg/hRep4RUj7f ) 또는 [**텔레그램 그룹** ](https://t.me/peass )에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
2022-11-03 10:18:27 +00:00
< / details >
2024-07-19 11:35:15 +00:00
{% endhint %}
2022-11-03 10:18:27 +00:00
2024-04-10 13:40:56 +00:00
## **권한 문제**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
계정의 이메일을 변경하려고 시도해야 하며, 확인 프로세스는 **검토되어야 합니다** . 만약 **약한** 것으로 발견되면, 이메일을 의도된 피해자의 이메일로 변경한 후 확인해야 합니다.
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
## **유니코드 정규화 문제**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
1. 의도된 피해자의 계정 `victim@gmail.com`
2024-04-10 13:40:56 +00:00
2. 유니코드를 사용하여 계정을 생성해야 합니다\
2024-02-10 21:30:13 +00:00
예: `vićtim@gmail.com`
2024-02-06 03:10:38 +00:00
2024-07-19 11:35:15 +00:00
[**이 발표** ](https://www.youtube.com/watch?v=CiIyaZ3x49c )에서 설명된 바와 같이, 이전 공격은 제3자 신원 제공자를 악용하여 수행될 수 있습니다:
2024-06-05 13:52:11 +00:00
2024-07-19 11:35:15 +00:00
* 피해자와 유사한 이메일을 가진 제3자 신원에서 계정을 생성합니다 (`vićtim@company.com`).
2024-06-05 13:52:11 +00:00
* 제3자 제공자는 이메일을 확인하지 않아야 합니다.
2024-07-19 11:35:15 +00:00
* 만약 신원 제공자가 이메일을 확인한다면, 도메인 부분을 공격할 수 있습니다: `victim@ćompany.com` 과 같은 형식으로 도메인을 등록하고, 신원 제공자가 도메인의 아스키 버전을 생성할 것이라고 기대합니다. 피해자 플랫폼이 도메인 이름을 정규화할 때.
* 이 신원 제공자를 통해 피해자 플랫폼에 로그인하면, 유니코드 문자가 정규화되어 피해자 계정에 접근할 수 있습니다.
2024-06-05 13:52:11 +00:00
2024-07-19 11:35:15 +00:00
자세한 내용은 유니코드 정규화 문서를 참조하십시오:
2022-11-03 10:18:27 +00:00
2024-06-05 13:52:11 +00:00
{% content-ref url="unicode-injection/unicode-normalization.md" %}
2022-11-03 10:18:27 +00:00
[unicode-normalization.md ](unicode-injection/unicode-normalization.md )
2024-06-05 13:52:11 +00:00
{% endcontent-ref %}
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
## **재사용 가능한 리셋 토큰**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
대상 시스템이 **리셋 링크를 재사용할 수 있도록 허용한다면** , `gau` , `wayback` 또는 `scan.io` 와 같은 도구를 사용하여 **더 많은 리셋 링크를 찾기 위한 노력을 해야 합니다** .
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
## **계정 탈취 전 단계**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
1. 피해자의 이메일을 사용하여 플랫폼에 가입하고 비밀번호를 설정해야 합니다 (확인 시도를 해야 하지만, 피해자의 이메일에 접근할 수 없으면 불가능할 수 있습니다).
2. 피해자가 OAuth를 사용하여 가입하고 계정을 확인할 때까지 기다려야 합니다.
3. 일반 가입이 확인되기를 바라며, 피해자의 계정에 접근할 수 있습니다.
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
## **CORS 잘못 구성으로 인한 계정 탈취**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
페이지에 **CORS 잘못 구성**이 포함되어 있다면, 사용자의 **민감한 정보를 훔쳐서 그의 계정을 탈취하거나 동일한 목적을 위해 인증 정보를 변경하도록 만들 수 있습니다** :
2022-11-03 10:18:27 +00:00
{% content-ref url="cors-bypass.md" %}
[cors-bypass.md ](cors-bypass.md )
{% endcontent-ref %}
2024-07-19 11:35:15 +00:00
## **CSRF를 통한 계정 탈취**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
페이지가 CSRF에 취약하다면, **사용자가 비밀번호** , 이메일 또는 인증 정보를 수정하도록 만들어서 이후에 접근할 수 있습니다:
2022-11-03 10:18:27 +00:00
{% content-ref url="csrf-cross-site-request-forgery.md" %}
[csrf-cross-site-request-forgery.md ](csrf-cross-site-request-forgery.md )
{% endcontent-ref %}
2024-02-10 21:30:13 +00:00
## **XSS를 통한 계정 탈취**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
애플리케이션에서 XSS를 발견하면, 쿠키, 로컬 스토리지 또는 웹 페이지의 정보를 훔쳐서 계정을 탈취할 수 있습니다:
2022-11-03 10:18:27 +00:00
{% content-ref url="xss-cross-site-scripting/" %}
[xss-cross-site-scripting ](xss-cross-site-scripting/ )
{% endcontent-ref %}
2024-04-10 13:40:56 +00:00
## **동일 출처 + 쿠키**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
제한된 XSS 또는 서브도메인 탈취를 발견하면, 쿠키를 조작하여 (예를 들어 고정시키기) 피해자 계정을 타겟으로 할 수 있습니다:
2022-11-03 10:18:27 +00:00
{% content-ref url="hacking-with-cookies/" %}
[hacking-with-cookies ](hacking-with-cookies/ )
{% endcontent-ref %}
2024-07-19 11:35:15 +00:00
## **비밀번호 리셋 메커니즘 공격**
2022-11-03 10:18:27 +00:00
{% content-ref url="reset-password.md" %}
[reset-password.md ](reset-password.md )
{% endcontent-ref %}
2024-02-10 21:30:13 +00:00
## **응답 조작**
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
인증 응답을 **단순한 불리언으로 줄일 수 있다면, false를 true로 변경해 보세요** 그리고 접근할 수 있는지 확인하세요.
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
## OAuth를 통한 계정 탈취
2022-11-03 10:18:27 +00:00
2023-02-16 18:26:56 +00:00
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md ](oauth-to-account-takeover.md )
2022-11-03 10:18:27 +00:00
{% endcontent-ref %}
2024-07-19 11:35:15 +00:00
## 호스트 헤더 주입
2024-02-06 03:10:38 +00:00
2024-07-19 11:35:15 +00:00
1. 비밀번호 리셋 요청 시작 후 호스트 헤더가 수정됩니다.
2. `X-Forwarded-For` 프록시 헤더가 `attacker.com` 으로 변경됩니다.
3. 호스트, 리퍼러 및 오리진 헤더가 동시에 `attacker.com` 으로 변경됩니다.
4. 비밀번호 리셋을 시작한 후 메일을 다시 보내기로 선택하면, 위의 세 가지 방법이 모두 사용됩니다.
2024-02-06 03:10:38 +00:00
2024-02-10 21:30:13 +00:00
## 응답 조작
2024-02-06 03:10:38 +00:00
2024-04-10 13:40:56 +00:00
1. **코드 조작** : 상태 코드가 `200 OK` 로 변경됩니다.
2024-02-10 21:30:13 +00:00
2. **코드 및 본문 조작** :
2024-04-10 13:40:56 +00:00
* 상태 코드가 `200 OK` 로 변경됩니다.
* 응답 본문이 `{"success":true}` 또는 빈 객체 `{}` 로 수정됩니다.
2024-02-06 03:10:38 +00:00
2024-07-19 11:35:15 +00:00
이러한 조작 기술은 JSON이 데이터 전송 및 수신에 사용되는 시나리오에서 효과적입니다.
2024-02-06 03:10:38 +00:00
2024-04-10 13:40:56 +00:00
## 현재 세션의 이메일 변경
2024-07-19 11:35:15 +00:00
[이 보고서 ](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea )에서:
2024-04-10 13:40:56 +00:00
2024-07-19 11:35:15 +00:00
* 공격자가 자신의 이메일을 새 이메일로 변경해 달라고 요청합니다.
* 공격자는 이메일 변경 확인 링크를 받습니다.
* 공격자는 피해자에게 링크를 보내 클릭하도록 합니다.
* 피해자의 이메일이 공격자가 지정한 이메일로 변경됩니다.
2024-04-27 17:18:33 +00:00
* 공격자는 비밀번호를 복구하고 계정을 탈취할 수 있습니다.
2024-07-19 11:35:15 +00:00
이것은 [**이 보고서** ](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea )에서도 발생했습니다.
2024-02-06 03:10:38 +00:00
2024-07-19 11:35:15 +00:00
### 오래된 쿠키
2024-06-05 13:52:11 +00:00
2024-07-19 11:35:15 +00:00
[**이 게시물** ](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9 )에서 설명된 바와 같이, 계정에 로그인하고 인증된 사용자로서 쿠키를 저장한 후 로그아웃하고 다시 로그인하는 것이 가능했습니다.\
새로운 로그인으로 인해 다른 쿠키가 생성되더라도, 이전 쿠키가 다시 작동하기 시작했습니다.
2024-06-05 13:52:11 +00:00
2024-07-19 11:35:15 +00:00
## 참고 문헌
2022-11-03 10:18:27 +00:00
* [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050 ](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050 )
2024-04-10 13:40:56 +00:00
* [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea ](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea )
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
GCP 해킹 배우기 및 연습하기: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Training GCP Red Team Expert (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
< details >
2022-11-03 10:18:27 +00:00
2024-07-19 11:35:15 +00:00
< summary > HackTricks 지원하기< / summary >
2024-02-03 12:22:53 +00:00
2024-07-19 11:35:15 +00:00
* [**구독 계획** ](https://github.com/sponsors/carlospolop ) 확인하기!
* **💬 [**Discord 그룹** ](https://discord.gg/hRep4RUj7f ) 또는 [**텔레그램 그룹** ](https://t.me/peass )에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**를 팔로우하세요.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
2022-11-03 10:18:27 +00:00
< / details >
2024-07-19 11:35:15 +00:00
{% endhint %}