hacktricks/pentesting-web/account-takeover.md

133 lines
6.6 KiB
Markdown
Raw Normal View History

2024-02-10 21:30:13 +00:00
# 계정 탈취
2022-11-03 10:18:27 +00:00
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가까지 배우세요</strong></a><strong>!</strong></summary>
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2024-02-03 12:22:53 +00:00
* **회사를 HackTricks에서 광고하거나 PDF로 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소로 **PR 제출**하여 해킹 트릭을 공유하세요.
2022-11-03 10:18:27 +00:00
</details>
## **권한 문제**
2022-11-03 10:18:27 +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
1. 의도한 피해자의 계정 `victim@gmail.com`
2. 유니코드를 사용하여 계정을 생성해야 합니다\
2024-02-10 21:30:13 +00:00
예: `vićtim@gmail.com`
2024-02-06 03:10:38 +00:00
자세한 내용은 유니코드 정규화 문서를 참조하세요:
2022-11-03 10:18:27 +00:00
[unicode-normalization.md](unicode-injection/unicode-normalization.md)
2024-02-10 21:30:13 +00:00
## **재사용 가능한 재설정 토큰**
2022-11-03 10:18:27 +00:00
대상 시스템이 **재설정 링크를 재사용 허용**하는 경우, `gau`, `wayback`, 또는 `scan.io`와 같은 도구를 사용하여 **더 많은 재설정 링크를 찾아야** 합니다.
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
## **계정 탈취 전 사전 조치**
2022-11-03 10:18:27 +00:00
1. 피해자의 이메일을 사용하여 플랫폼에 가입하고 비밀번호를 설정해야 합니다 (피해자의 이메일에 액세스할 수 없는 경우 이를 불가능하게 할 수 있습니다).
2024-02-10 21:30:13 +00:00
2. 피해자가 OAuth를 사용하여 가입하고 계정을 확인할 때까지 기다려야 합니다.
3. 희망하는 바로 일반 가입이 확인되어 피해자의 계정에 액세스할 수 있습니다.
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
## **CORS 구성 오류로 인한 계정 탈취**
2022-11-03 10:18:27 +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-02-10 21:30:13 +00:00
## **Csrf를 통한 계정 탈취**
2022-11-03 10:18:27 +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
응용 프로그램에서 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 %}
## **동일 출처 + 쿠키**
2022-11-03 10:18:27 +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-02-10 21:30:13 +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
인증 응답을 **간단한 부울로 줄일 수 있는 경우 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-02-06 03:10:38 +00:00
1. 비밀번호 재설정 요청 시작 후 호스트 헤더가 수정됩니다.
2024-02-10 21:30:13 +00:00
2. `X-Forwarded-For` 프록시 헤더가 `attacker.com`로 변경됩니다.
3. 호스트, Referrer 및 Origin 헤더가 동시에 `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
1. **코드 조작**: 상태 코드가 `200 OK`로 변경됩니다.
2024-02-10 21:30:13 +00:00
2. **코드 및 본문 조작**:
* 상태 코드가 `200 OK`로 변경됩니다.
* 응답 본문이 `{"success":true}` 또는 빈 객체 `{}`로 수정됩니다.
2024-02-06 03:10:38 +00:00
2024-02-10 21:30:13 +00:00
이러한 조작 기술은 데이터 전송 및 수신에 JSON이 사용되는 시나리오에서 효과적입니다.
2024-02-06 03:10:38 +00:00
## 현재 세션의 이메일 변경
[이 보고서](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea)에서:
* 공격자가 새 이메일로 이메일 변경을 요청합니다.
* 공격자가 이메일 변경을 확인하는 링크를 받습니다.
* 공격자가 피해자에게 링크를 보내 클릭하도록 합니다.
* 피해자의 이메일이 공격자가 지정한 이메일로 변경됩니다.
* 공격자가 비밀번호를 복구하고 계정을 탈취할 수 있습니다.
2024-02-06 03:10:38 +00:00
2024-02-10 21:30:13 +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)
* [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
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터 AWS 해킹을 제로부터 전문가까지 배우세요</strong></a><strong>!</strong></summary>
2022-11-03 10:18:27 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2024-02-03 12:22:53 +00:00
* **회사를 HackTricks에서 광고하거나 PDF로 HackTricks를 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소로 **PR 제출**하여 해킹 트릭을 공유하세요.
2022-11-03 10:18:27 +00:00
</details>