hacktricks/pentesting-web/2fa-bypass.md

176 lines
9 KiB
Markdown

# 2FA/OTP 우회
{% 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)
<details>
<summary>HackTricks 지원하기</summary>
* [**구독 계획**](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을 제출하여 해킹 팁을 공유하세요.**
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)는 **다크웹** 기반의 검색 엔진으로, 기업이나 고객이 **스틸러 맬웨어**에 의해 **침해**되었는지 확인할 수 있는 **무료** 기능을 제공합니다.
WhiteIntel의 주요 목표는 정보 탈취 맬웨어로 인한 계정 탈취 및 랜섬웨어 공격에 맞서는 것입니다.
그들의 웹사이트를 확인하고 **무료**로 엔진을 사용해 볼 수 있습니다:
{% embed url="https://whiteintel.io" %}
***
## **강화된 이중 인증 우회 기술**
### **직접 엔드포인트 접근**
2FA를 우회하려면 다음 엔드포인트에 직접 접근해야 하며, 경로를 아는 것이 중요합니다. 실패할 경우, **Referrer 헤더**를 변경하여 2FA 확인 페이지에서의 탐색을 모방합니다.
### **토큰 재사용**
계정 내에서 이전에 사용된 토큰을 재사용하는 것이 효과적일 수 있습니다.
### **사용되지 않은 토큰 활용**
자신의 계정에서 토큰을 추출하여 다른 계정의 2FA를 우회할 수 있습니다.
### **토큰 노출**
웹 애플리케이션의 응답에서 토큰이 노출되었는지 조사합니다.
### **검증 링크 악용**
계정 생성 시 전송된 **이메일 검증 링크**를 사용하면 2FA 없이 프로필에 접근할 수 있습니다. 자세한 내용은 [게시물](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b)에서 확인할 수 있습니다.
### **세션 조작**
사용자와 피해자의 계정에 대한 세션을 시작하고, 사용자의 계정에 대해 2FA를 완료한 후 진행하지 않으면 피해자의 계정 흐름에서 다음 단계에 접근을 시도할 수 있습니다. 이는 백엔드 세션 관리의 한계를 악용하는 것입니다.
### **비밀번호 재설정 메커니즘**
비밀번호 재설정 기능을 조사하여, 동일한 링크를 사용하여 여러 번 재설정할 수 있는 가능성을 확인하는 것이 중요합니다. 새로 재설정된 자격 증명으로 로그인하면 2FA를 우회할 수 있습니다.
### **OAuth 플랫폼 침해**
신뢰할 수 있는 **OAuth** 플랫폼(예: Google, Facebook)에서 사용자의 계정을 침해하면 2FA를 우회할 수 있는 경로가 제공됩니다.
### **무차별 대입 공격**
#### **요율 제한 부재**
코드 시도 횟수에 대한 제한이 없으면 무차별 대입 공격이 가능하지만, 잠재적인 무음 요율 제한을 고려해야 합니다.
#### **느린 무차별 대입**
흐름 속도 제한이 존재하지만 전반적인 요율 제한이 없는 경우 느린 무차별 대입 공격이 가능합니다.
#### **코드 재전송 제한 초기화**
코드를 재전송하면 요율 제한이 초기화되어 계속해서 무차별 대입 시도를 할 수 있습니다.
#### **클라이언트 측 요율 제한 우회**
클라이언트 측 요율 제한을 우회하는 기술에 대한 문서가 있습니다.
#### **내부 작업의 요율 제한 부재**
로그인 시도는 요율 제한으로 보호될 수 있지만, 내부 계정 작업은 그렇지 않을 수 있습니다.
#### **SMS 코드 재전송 비용**
SMS를 통해 코드를 과도하게 재전송하면 회사에 비용이 발생하지만, 2FA를 우회하지는 않습니다.
#### **무한 OTP 생성**
간단한 코드로 무한 OTP 생성을 통해 소규모 코드 집합을 재시도하여 무차별 대입이 가능합니다.
### **경쟁 조건 악용**
2FA 우회를 위한 경쟁 조건 악용에 대한 정보는 특정 문서에서 찾을 수 있습니다.
### **CSRF/클릭재킹 취약점**
CSRF 또는 클릭재킹 취약점을 탐색하여 2FA를 비활성화하는 것은 유효한 전략입니다.
### **"기억하기" 기능 악용**
#### **예측 가능한 쿠키 값**
"기억하기" 쿠키 값을 추측하여 제한을 우회할 수 있습니다.
#### **IP 주소 가장하기**
**X-Forwarded-For** 헤더를 통해 피해자의 IP 주소를 가장하면 제한을 우회할 수 있습니다.
### **구버전 활용**
#### **서브도메인**
서브도메인을 테스트하면 2FA 지원이 없는 구버전을 사용하거나 취약한 2FA 구현이 포함될 수 있습니다.
#### **API 엔드포인트**
/v\*/ 디렉토리 경로로 표시된 구버전 API는 2FA 우회 방법에 취약할 수 있습니다.
### **이전 세션 처리**
2FA 활성화 시 기존 세션을 종료하면 침해된 세션으로부터의 무단 접근으로부터 계정을 보호할 수 있습니다.
### **백업 코드와 관련된 접근 제어 결함**
2FA 활성화 시 즉시 생성되고 무단으로 검색될 수 있는 백업 코드의 위험이 있으며, 특히 CORS 잘못 구성/XSS 취약점이 있는 경우 더욱 그렇습니다.
### **2FA 페이지의 정보 노출**
2FA 확인 페이지에서 민감한 정보(예: 전화번호)가 노출되는 것은 우려 사항입니다.
### **비밀번호 재설정으로 2FA 비활성화**
계정 생성, 2FA 활성화, 비밀번호 재설정 및 이후 2FA 요구 없이 로그인하는 과정을 통해 잠재적인 우회 방법을 보여줍니다.
### **미끼 요청**
무차별 대입 시도를 숨기거나 요율 제한 메커니즘을 오도하기 위해 미끼 요청을 활용하는 것은 우회 전략에 또 다른 레이어를 추가합니다. 이러한 요청을 작성하려면 애플리케이션의 보안 조치 및 요율 제한 동작에 대한 미세한 이해가 필요합니다.
## 참고 문헌
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)는 **다크웹** 기반의 검색 엔진으로, 기업이나 고객이 **스틸러 맬웨어**에 의해 **침해**되었는지 확인할 수 있는 **무료** 기능을 제공합니다.
WhiteIntel의 주요 목표는 정보 탈취 맬웨어로 인한 계정 탈취 및 랜섬웨어 공격에 맞서는 것입니다.
그들의 웹사이트를 확인하고 **무료**로 엔진을 사용해 볼 수 있습니다:
{% embed url="https://whiteintel.io" %}
P
{% 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)
<details>
<summary>HackTricks 지원하기</summary>
* [**구독 계획**](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을 제출하여 해킹 팁을 공유하세요.**
</details>
{% endhint %}