피싱 방법론
Reading time: 18 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
방법론
- 피해자 조사
- 피해자 도메인 선택.
- 피해자가 사용하는 로그인 포털을 찾기 위해 기본 웹 열거를 수행하고 어떤 것을 가장하는지 결정합니다.
- OSINT를 사용하여 이메일을 찾습니다.
- 환경 준비
- 피싱 평가에 사용할 도메인 구매.
- 관련 기록(SPF, DMARC, DKIM, rDNS)에 대해 이메일 서비스 구성.
- gophish로 VPS 구성.
- 캠페인 준비
- 이메일 템플릿 준비.
- 자격 증명을 훔치기 위한 웹 페이지 준비.
- 캠페인 시작!
유사 도메인 이름 생성 또는 신뢰할 수 있는 도메인 구매
도메인 이름 변형 기술
- 키워드: 도메인 이름이 원래 도메인의 중요한 키워드를 포함합니다 (예: zelster.com-management.com).
- 하이픈이 있는 서브도메인: 서브도메인의 점을 하이픈으로 변경합니다 (예: www-zelster.com).
- 새 TLD: 새 TLD를 사용하는 동일한 도메인 (예: zelster.org).
- 호모글리프: 도메인 이름의 문자를 유사하게 보이는 문자로 대체합니다 (예: zelfser.com).
- 전치: 도메인 이름 내에서 두 문자를 교환합니다 (예: zelsetr.com).
- 단수화/복수화: 도메인 이름 끝에 “s”를 추가하거나 제거합니다 (예: zeltsers.com).
- 생략: 도메인 이름에서 하나의 문자를 제거합니다 (예: zelser.com).
- 반복: 도메인 이름에서 하나의 문자를 반복합니다 (예: zeltsser.com).
- 대체: 호모글리프와 비슷하지만 덜 은밀합니다. 도메인 이름의 문자를 원래 문자와 키보드에서 가까운 문자로 대체합니다 (예: zektser.com).
- 서브도메인화: 도메인 이름 내에 점을 추가합니다 (예: ze.lster.com).
- 삽입: 도메인 이름에 문자를 삽입합니다 (예: zerltser.com).
- 누락된 점: 도메인 이름에 TLD를 추가합니다 (예: zelstercom.com).
자동 도구
웹사이트
- https://dnstwist.it/
- https://dnstwister.report/
- https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/
비트 플리핑
저장되거나 통신 중인 일부 비트가 자동으로 뒤집힐 가능성이 있습니다. 이는 태양 플레어, 우주선, 하드웨어 오류와 같은 다양한 요인으로 인해 발생할 수 있습니다.
이 개념이 DNS 요청에 적용될 때, DNS 서버에서 수신된 도메인이 처음 요청한 도메인과 다를 수 있습니다.
예를 들어, "windows.com" 도메인에서 단일 비트 수정이 "windnws.com"으로 변경될 수 있습니다.
공격자는 피해자의 도메인과 유사한 여러 비트 플리핑 도메인을 등록하여 이를 이용할 수 있습니다. 그들의 의도는 합법적인 사용자를 자신의 인프라로 리디렉션하는 것입니다.
자세한 내용은 https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/을 읽어보세요.
신뢰할 수 있는 도메인 구매
https://www.expireddomains.net/에서 사용할 수 있는 만료된 도메인을 검색할 수 있습니다.
구매할 만료된 도메인이 이미 좋은 SEO를 가지고 있는지 확인하기 위해 다음에서 분류를 검색할 수 있습니다:
이메일 발견
- https://github.com/laramies/theHarvester (100% 무료)
- https://phonebook.cz/ (100% 무료)
- https://maildb.io/
- https://hunter.io/
- https://anymailfinder.com/
더 많은 유효한 이메일 주소를 발견하거나 이미 발견한 이메일 주소를 검증하기 위해 피해자의 SMTP 서버를 브루트 포스할 수 있는지 확인할 수 있습니다. 여기에서 이메일 주소를 검증/발견하는 방법을 배우세요.
또한 사용자가 메일에 접근하기 위해 웹 포털을 사용하는 경우, 해당 포털이 사용자 이름 브루트 포스에 취약한지 확인하고 가능하다면 취약점을 악용하는 것을 잊지 마세요.
GoPhish 구성
설치
https://github.com/gophish/gophish/releases/tag/v0.11.0에서 다운로드할 수 있습니다.
다운로드 후 /opt/gophish
에 압축을 풀고 /opt/gophish/gophish
를 실행합니다.
출력에서 포트 3333의 관리자 사용자 비밀번호가 제공됩니다. 따라서 해당 포트에 접근하고 해당 자격 증명을 사용하여 관리자 비밀번호를 변경합니다. 이 포트를 로컬로 터널링해야 할 수도 있습니다.
ssh -L 3333:127.0.0.1:3333 <user>@<ip>
구성
TLS 인증서 구성
이 단계 전에 사용하려는 도메인을 이미 구매해야 하며, 해당 도메인은 gophish를 구성하는 VPS의 IP를 가리키고 있어야 합니다.
DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
sudo apt install snapd
sudo snap install core
sudo snap refresh core
sudo apt-get remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
certbot certonly --standalone -d "$DOMAIN"
mkdir /opt/gophish/ssl_keys
cp "/etc/letsencrypt/live/$DOMAIN/privkey.pem" /opt/gophish/ssl_keys/key.pem
cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
메일 구성
설치를 시작합니다: apt-get install postfix
그런 다음 도메인을 다음 파일에 추가합니다:
- /etc/postfix/virtual_domains
- /etc/postfix/transport
- /etc/postfix/virtual_regexp
/etc/postfix/main.cf 내의 다음 변수 값도 변경합니다.
myhostname = <domain>
mydestination = $myhostname, <domain>, localhost.com, localhost
마지막으로 /etc/hostname
및 /etc/mailname
파일을 도메인 이름으로 수정하고 VPS를 재시작합니다.
이제 DNS A 레코드를 mail.<domain>
으로 생성하여 VPS의 IP 주소를 가리키고, DNS MX 레코드를 mail.<domain>
으로 설정합니다.
이제 이메일을 보내는 테스트를 해봅시다:
apt install mailutils
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com
Gophish 구성
gophish의 실행을 중지하고 구성합시다.
/opt/gophish/config.json
을 다음과 같이 수정합니다 (https 사용에 유의):
{
"admin_server": {
"listen_url": "127.0.0.1:3333",
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:443",
"use_tls": true,
"cert_path": "/opt/gophish/ssl_keys/key.crt",
"key_path": "/opt/gophish/ssl_keys/key.pem"
},
"db_name": "sqlite3",
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "",
"level": ""
}
}
gophish 서비스 구성
gophish 서비스를 자동으로 시작하고 관리할 수 있도록 하려면 다음 내용을 포함한 파일 /etc/init.d/gophish
를 생성할 수 있습니다:
#!/bin/bash
# /etc/init.d/gophish
# initialization file for stop/start of gophish application server
#
# chkconfig: - 64 36
# description: stops/starts gophish application server
# processname:gophish
# config:/opt/gophish/config.json
# From https://github.com/gophish/gophish/issues/586
# define script variables
processName=Gophish
process=gophish
appDirectory=/opt/gophish
logfile=/var/log/gophish/gophish.log
errfile=/var/log/gophish/gophish.error
start() {
echo 'Starting '${processName}'...'
cd ${appDirectory}
nohup ./$process >>$logfile 2>>$errfile &
sleep 1
}
stop() {
echo 'Stopping '${processName}'...'
pid=$(/bin/pidof ${process})
kill ${pid}
sleep 1
}
status() {
pid=$(/bin/pidof ${process})
if [["$pid" != ""| "$pid" != "" ]]; then
echo ${processName}' is running...'
else
echo ${processName}' is not running...'
fi
}
case $1 in
start|stop|status) "$1" ;;
esac
서비스 구성을 마치고 다음을 확인하세요:
mkdir /var/log/gophish
chmod +x /etc/init.d/gophish
update-rc.d gophish defaults
#Check the service
service gophish start
service gophish status
ss -l | grep "3333\|443"
service gophish stop
메일 서버 및 도메인 구성
기다리고 합법적으로 행동하기
도메인이 오래될수록 스팸으로 잡힐 확률이 낮아집니다. 따라서 피싱 평가 전에 가능한 한 오랫동안 (최소 1주일) 기다려야 합니다. 또한, 평판이 좋은 분야에 대한 페이지를 만들면 얻는 평판이 더 좋습니다.
1주일을 기다려야 하더라도 지금 모든 구성을 마칠 수 있다는 점에 유의하세요.
역 DNS (rDNS) 레코드 구성
VPS의 IP 주소를 도메인 이름으로 해석하는 rDNS (PTR) 레코드를 설정합니다.
발신자 정책 프레임워크 (SPF) 레코드
새 도메인에 대해 SPF 레코드를 구성해야 합니다. SPF 레코드가 무엇인지 모른다면 이 페이지를 읽어보세요.
https://www.spfwizard.net/ 를 사용하여 SPF 정책을 생성할 수 있습니다 (VPS 머신의 IP를 사용하세요).
도메인 내 TXT 레코드에 설정해야 하는 내용은 다음과 같습니다:
v=spf1 mx a ip4:ip.ip.ip.ip ?all
Domain-based Message Authentication, Reporting & Conformance (DMARC) Record
새 도메인에 대해 DMARC 레코드를 구성해야 합니다. DMARC 레코드가 무엇인지 모른다면 이 페이지를 읽어보세요.
호스트 이름 _dmarc.<domain>
을 가리키는 새로운 DNS TXT 레코드를 다음 내용으로 생성해야 합니다:
v=DMARC1; p=none
DomainKeys Identified Mail (DKIM)
새 도메인에 대해 DKIM을 구성해야 합니다. DMARC 레코드가 무엇인지 모른다면 이 페이지를 읽어보세요.
이 튜토리얼은 다음을 기반으로 합니다: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
tip
DKIM 키가 생성하는 두 B64 값을 연결해야 합니다:
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB
이메일 구성 점수 테스트
https://www.mail-tester.com/ 를 사용하여 이를 수행할 수 있습니다.
페이지에 접속하여 그들이 제공하는 주소로 이메일을 보내세요:
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 파일에서 응답을 확인해야 합니다).
모든 테스트를 통과하는지 확인하세요:
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
당신은 또한 당신이 제어하는 Gmail로 메시지를 보낼 수 있으며, Gmail 받은편지함에서 이메일의 헤더를 확인할 수 있습니다. dkim=pass
는 Authentication-Results
헤더 필드에 있어야 합니다.
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
dkim=pass header.i=@example.com;
스팸하우스 블랙리스트에서 제거하기
페이지 www.mail-tester.com은 귀하의 도메인이 스팸하우스에 의해 차단되고 있는지 확인할 수 있습니다. 귀하의 도메인/IP를 제거 요청할 수 있는 곳: https://www.spamhaus.org/lookup/
마이크로소프트 블랙리스트에서 제거하기
귀하의 도메인/IP를 제거 요청할 수 있는 곳: https://sender.office.com/.
GoPhish 캠페인 생성 및 시작
발신자 프로필
- 발신자 프로필을 식별할 이름을 설정합니다.
- 피싱 이메일을 보낼 계정을 결정합니다. 제안: noreply, support, servicedesk, salesforce...
- 사용자 이름과 비밀번호는 비워둘 수 있지만, 인증서 오류 무시를 체크하는 것을 잊지 마세요.
tip
"테스트 이메일 보내기" 기능을 사용하여 모든 것이 작동하는지 테스트하는 것이 좋습니다.
테스트를 진행할 때 블랙리스트에 올라가는 것을 피하기 위해 10분 메일 주소로 테스트 이메일을 보내는 것을 추천합니다.
이메일 템플릿
- 템플릿을 식별할 이름을 설정합니다.
- 그런 다음 제목을 작성합니다 (이상한 것이 아닌, 일반 이메일에서 읽을 수 있는 내용).
- "추적 이미지 추가"를 체크했는지 확인합니다.
- 이메일 템플릿을 작성합니다 (다음 예제와 같이 변수를 사용할 수 있습니다):
<html>
<head>
<title></title>
</head>
<body>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:black">Dear {{.FirstName}} {{.LastName}},</span></p>
<br />
Note: We require all user to login an a very suspicios page before the end of the week, thanks!<br />
<br />
Regards,</span></p>
WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
<p>{{.Tracker}}</p>
</body>
</html>
이메일의 신뢰성을 높이기 위해 클라이언트의 이메일 서명을 사용하는 것이 권장됩니다. 제안 사항:
- 존재하지 않는 주소로 이메일을 보내고 응답에 서명이 있는지 확인합니다.
- info@ex.com, press@ex.com 또는 public@ex.com과 같은 공개 이메일을 검색하고 이메일을 보내고 응답을 기다립니다.
- 유효한 발견된 이메일에 연락을 시도하고 응답을 기다립니다.
tip
이메일 템플릿은 전송할 파일을 첨부할 수 있습니다. NTLM 챌린지를 훔치고 싶다면 특별히 제작된 파일/문서를 사용하여 이 페이지를 읽어보세요.
랜딩 페이지
- 이름을 작성합니다.
- 웹 페이지의 HTML 코드를 작성합니다. 웹 페이지를 가져올 수 있습니다.
- 제출된 데이터 캡처 및 비밀번호 캡처를 선택합니다.
- 리디렉션을 설정합니다.
tip
일반적으로 페이지의 HTML 코드를 수정하고 로컬에서 몇 가지 테스트를 수행해야 합니다(아마도 Apache 서버를 사용하여) 결과가 마음에 들 때까지. 그런 다음 그 HTML 코드를 상자에 작성합니다.
HTML에 정적 리소스(아마도 CSS 및 JS 페이지)를 사용해야 하는 경우 _/opt/gophish/static/endpoint_에 저장한 후 _/static/<filename>_에서 액세스할 수 있습니다.
tip
리디렉션을 위해 사용자를 피해자의 합법적인 주요 웹 페이지로 리디렉션하거나 예를 들어 _/static/migration.html_로 리디렉션하여 5초 동안 회전하는 휠(https://loading.io/)을 표시한 후 프로세스가 성공적으로 완료되었음을 알릴 수 있습니다.
사용자 및 그룹
- 이름을 설정합니다.
- 데이터를 가져옵니다(예제를 위한 템플릿을 사용하려면 각 사용자의 이름, 성 및 이메일 주소가 필요합니다).
캠페인
마지막으로 이름, 이메일 템플릿, 랜딩 페이지, URL, 전송 프로필 및 그룹을 선택하여 캠페인을 생성합니다. URL은 피해자에게 전송될 링크가 됩니다.
전송 프로필은 최종 피싱 이메일이 어떻게 보일지 테스트 이메일을 보낼 수 있게 해줍니다:
tip
테스트 이메일을 10분 메일 주소로 보내는 것이 좋습니다. 테스트를 하면서 블랙리스트에 오르는 것을 피할 수 있습니다.
모든 준비가 완료되면 캠페인을 시작하세요!
웹사이트 클로닝
어떤 이유로 웹사이트를 클론하고 싶다면 다음 페이지를 확인하세요:
백도어가 포함된 문서 및 파일
일부 피싱 평가(주로 레드 팀의 경우)에서는 백도어가 포함된 파일을 전송하고 싶을 수 있습니다(아마도 C2 또는 인증을 트리거하는 무언가일 수 있습니다).
다음 페이지에서 몇 가지 예를 확인하세요:
피싱 MFA
프록시 MitM를 통한
이전 공격은 실제 웹사이트를 가장하고 사용자가 설정한 정보를 수집하는 매우 영리한 방법입니다. 불행히도 사용자가 올바른 비밀번호를 입력하지 않거나 가장한 애플리케이션이 2FA로 구성된 경우, 이 정보로는 속은 사용자를 가장할 수 없습니다.
이럴 때 evilginx2, CredSniper 및 muraena와 같은 도구가 유용합니다. 이 도구는 MitM과 같은 공격을 생성할 수 있게 해줍니다. 기본적으로 공격은 다음과 같은 방식으로 작동합니다:
- 실제 웹페이지의 로그인 양식을 가장합니다.
- 사용자가 자신의 자격 증명을 가짜 페이지로 보내고 도구는 이를 실제 웹페이지로 전송하여 자격 증명이 작동하는지 확인합니다.
- 계정이 2FA로 구성된 경우, MitM 페이지는 이를 요청하고 사용자가 이를 입력하면 도구는 이를 실제 웹페이지로 전송합니다.
- 사용자가 인증되면 공격자는 자격 증명, 2FA, 쿠키 및 도구가 MitM을 수행하는 동안의 모든 상호작용 정보를 캡처하게 됩니다.
VNC를 통한
피해자를 원본과 동일한 모습의 악성 페이지로 보내는 대신, 실제 웹 페이지에 연결된 브라우저가 있는 VNC 세션으로 보낸다면 어떻게 될까요? 사용자가 하는 일을 볼 수 있고, 비밀번호, 사용된 MFA, 쿠키 등을 훔칠 수 있습니다...
이것은 EvilnVNC로 수행할 수 있습니다.
탐지 탐지
당연히 자신이 발각되었는지 아는 가장 좋은 방법 중 하나는 블랙리스트에서 자신의 도메인을 검색하는 것입니다. 만약 목록에 나타난다면, 어떤 식으로든 당신의 도메인이 의심스럽다고 감지된 것입니다.
도메인이 어떤 블랙리스트에 나타나는지 확인하는 쉬운 방법은 https://malwareworld.com/ 를 사용하는 것입니다.
그러나 피해자가 활발히 의심스러운 피싱 활동을 찾고 있는지 아는 다른 방법도 있습니다:
피해자의 도메인과 매우 유사한 이름의 도메인을 구매하거나 서브도메인에 대한 인증서를 생성할 수 있습니다. 피해자가 그들과 어떤 종류의 DNS 또는 HTTP 상호작용을 수행하면, 그가 의심스러운 도메인을 활발히 찾고 있다는 것을 알 수 있습니다. 그러면 매우 은밀해야 합니다.
피싱 평가
Phishious를 사용하여 이메일이 스팸 폴더에 들어갈지, 차단될지, 성공할지를 평가하세요.
고급 신원 손상 (헬프데스크 MFA 재설정)
현대의 침입 세트는 이메일 유인책을 완전히 건너뛰고 서비스 데스크/신원 복구 워크플로우를 직접 타겟팅하여 MFA를 무력화합니다. 이 공격은 완전히 "자원 활용" 방식입니다: 운영자가 유효한 자격 증명을 소유하면 내장된 관리 도구로 전환합니다 - 악성코드는 필요하지 않습니다.
공격 흐름
- 피해자 정찰
- LinkedIn, 데이터 유출, 공개 GitHub 등에서 개인 및 기업 세부정보 수집.
- 고가치 신원(임원, IT, 재무)을 식별하고 비밀번호/MFA 재설정에 대한 정확한 헬프데스크 프로세스를 열거합니다.
- 실시간 사회 공학
- 헬프데스크에 전화, Teams 또는 채팅하여 대상을 가장합니다(종종 스푸핑된 발신자 ID 또는 클론된 목소리로).
- 지식 기반 검증을 통과하기 위해 이전에 수집한 PII를 제공합니다.
- 에이전트를 설득하여 MFA 비밀을 재설정하거나 등록된 모바일 번호에서 SIM 스왑을 수행하게 합니다.
- 즉각적인 접근 후 조치(실제 사례에서 ≤60분)
- 모든 웹 SSO 포털을 통해 발판을 마련합니다.
- 내장 기능을 사용하여 AD/AzureAD를 열거합니다(바이너리 드롭 없음):
# 디렉토리 그룹 및 권한 역할 나열
Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME}
# AzureAD / Graph – 디렉토리 역할 나열
Get-MgDirectoryRole | ft DisplayName,Id
# 계정이 로그인할 수 있는 장치 열거
Get-MgUserRegisteredDevice -UserId <user@corp.local>
- WMI, PsExec 또는 이미 환경에서 화이트리스트에 등록된 합법적인 RMM 에이전트를 통한 측면 이동.
탐지 및 완화
- 헬프데스크 신원 복구를 특권 작업으로 취급합니다 – 단계적 인증 및 관리자 승인을 요구합니다.
- 다음에 대한 경고를 발생시키는 신원 위협 탐지 및 대응(ITDR) / UEBA 규칙을 배포합니다:
- MFA 방법 변경 + 새로운 장치/지리에서의 인증.
- 동일한 주체(사용자-→-관리자)의 즉각적인 상승.
- 헬프데스크 전화를 기록하고 재설정 전에 이미 등록된 번호로의 콜백을 시행합니다.
- 새로 재설정된 계정이 고급 권한 토큰을 자동으로 상속하지 않도록 Just-In-Time (JIT) / 특권 액세스를 구현합니다.
대규모 기만 – SEO 중독 및 “ClickFix” 캠페인
상용 팀은 검색 엔진 및 광고 네트워크를 배달 채널로 전환하는 대규모 공격로 고급 작업의 비용을 상쇄합니다.
- SEO 중독 / 악성 광고는
chromium-update[.]site
와 같은 가짜 결과를 상위 검색 광고로 밀어냅니다. - 피해자는 작은 1단계 로더(종종 JS/HTA/ISO)를 다운로드합니다. Unit 42에서 확인된 예:
RedLine stealer
Lumma stealer
Lampion Trojan
- 로더는 브라우저 쿠키 + 자격 증명 DB를 유출한 다음, 조용한 로더를 가져와 실시간으로 배포 여부를 결정합니다:
- RAT (예: AsyncRAT, RustDesk)
- 랜섬웨어 / 와이퍼
- 지속성 구성 요소 (레지스트리 실행 키 + 예약 작업)
강화 팁
- 새로 등록된 도메인을 차단하고 고급 DNS / URL 필터링을 검색 광고 및 이메일에 적용합니다.
- 서명된 MSI / 스토어 패키지에 대한 소프트웨어 설치를 제한하고 정책에 따라
HTA
,ISO
,VBS
실행을 거부합니다. - 설치 프로그램을 여는 브라우저의 자식 프로세스를 모니터링합니다:
- parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe
- 1단계 로더에 의해 자주 남용되는 LOLBins를 사냥합니다(예:
regsvr32
,curl
,mshta
).
AI 강화 피싱 작업
공격자는 이제 LLM 및 음성 클론 API를 연결하여 완전히 개인화된 유인책과 실시간 상호작용을 제공합니다.
레이어 | 위협 행위자의 사용 예 |
---|---|
자동화 | >100k 이메일/SMS를 무작위 문구 및 추적 링크로 생성 및 전송합니다. |
생성 AI | 공개 M&A, 소셜 미디어의 내부 농담을 참조하는 일회성 이메일을 생성합니다; 콜백 사기에서 딥페이크 CEO 음성. |
행위 AI | 자율적으로 도메인을 등록하고, 오픈 소스 정보를 스크랩하며, 피해자가 클릭하지만 자격 증명을 제출하지 않을 때 다음 단계 이메일을 작성합니다. |
방어: • 신뢰할 수 없는 자동화에서 전송된 메시지를 강조하는 동적 배너를 추가합니다(ARC/DKIM 이상을 통해). • 고위험 전화 요청에 대해 음성 생체 인식 도전 문구를 배포합니다. • 인식 프로그램에서 AI 생성 유인책을 지속적으로 시뮬레이션합니다 – 정적 템플릿은 더 이상 유효하지 않습니다.
MFA 피로 / 푸시 폭탄 변형 – 강제 재설정
고전적인 푸시 폭탄 외에도 운영자는 헬프데스크 통화 중에 새로운 MFA 등록을 강제하여 사용자의 기존 토큰을 무효화합니다. 이후의 로그인 프롬프트는 피해자에게 합법적으로 보입니다.
[Attacker] → Help-Desk: “I lost my phone while travelling, can you unenrol it so I can add a new authenticator?”
[Help-Desk] → AzureAD: ‘Delete existing methods’ → sends registration e-mail
[Attacker] → Completes new TOTP enrolment on their own device
AzureAD/AWS/Okta 이벤트에서 **deleteMFA
+ addMFA
**가 같은 IP에서 몇 분 이내에 발생하는지 모니터링합니다.
클립보드 하이재킹 / 페이스트재킹
공격자는 손상된 웹 페이지나 오타가 있는 웹 페이지에서 피해자의 클립보드에 악성 명령을 조용히 복사한 다음, 사용자가 Win + R, Win + X 또는 터미널 창에 붙여넣도록 속여서 다운로드나 첨부 파일 없이 임의의 코드를 실행할 수 있습니다.
모바일 피싱 및 악성 앱 배포 (안드로이드 및 iOS)
Mobile Phishing Malicious Apps
참고 문헌
- https://zeltser.com/domain-name-variations-in-phishing/
- https://0xpatrik.com/phishing-domains/
- https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/
- https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
- 2025 Unit 42 Global Incident Response Report – Social Engineering Edition
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.