Phishing Metodolojisi

Reading time: 21 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Metodoloji

  1. Recon the victim
  2. victim alan adını seçin.
  3. Hedefin kullandığı giriş portallarını bulmak için bazı temel web keşfi yapın ve hangi portalı taklit edeceğinize karar verin.
  4. Bazı OSINT teknikleri kullanarak e-posta adreslerini bulun.
  5. Ortamı hazırlama
  6. phishing değerlendirmesinde kullanacağınız domaini satın alın
  7. E-posta servisi ile ilgili kayıtları yapılandırın (SPF, DMARC, DKIM, rDNS)
  8. VPS'i gophish ile yapılandırın
  9. Kampanyayı hazırlama
  10. E-posta şablonunu hazırlayın
  11. Kimlik bilgilerini çalmak için web sayfasını hazırlayın
  12. Kampanyayı başlatın!

Benzer domain isimleri üretme veya güvenilir bir domain satın alma

Domain Adı Varyasyon Teknikleri

  • Keyword: Domain adı, orijinal domainin önemli bir anahtar kelimesini içerir (ör. zelster.com-management.com).
  • hypened subdomain: Bir alt domaindeki nokta yerine tire kullanılır (ör. www-zelster.com).
  • New TLD: Aynı domain farklı bir TLD ile (ör. zelster.org)
  • Homoglyph: Domain adındaki bir harfi benzer görünen harflerle değiştirir (ör. zelfser.com).

Homograph Attacks

  • Transposition: Domain içindeki iki harfi yer değiştirir (ör. zelsetr.com).
  • Singularization/Pluralization: Domainin sonuna “s” ekler veya kaldırır (ör. zeltsers.com).
  • Omission: Domain adından bir harfi çıkarır (ör. zelser.com).
  • Repetition: Domain adındaki bir harfi tekrarlar (ör. zeltsser.com).
  • Replacement: Homoglyph'e benzer ama daha az gizli. Domain içindeki bir harfi, klavyede yakın bir harfle değiştirir (ör. zektser.com).
  • Subdomained: Domain adının içine bir nokta ekler (ör. ze.lster.com).
  • Insertion: Domain adının içine bir harf ekler (ör. zerltser.com).
  • Missing dot: TLD'yi domain adına ekler. (ör. zelstercom.com)

Otomatik Araçlar

Web Siteleri

Bitflipping

Saklanan veya iletişim halindeki bazı bitlerin, güneş patlamaları, kozmik ışınlar veya donanım hataları gibi çeşitli faktörler nedeniyle otomatik olarak fliplenme ihtimali vardır.

Bu kavram DNS isteklerine uygulandığında, DNS sunucusunun aldığı domainin, başlangıçta istenen domain ile aynı olmaması mümkündür.

Örneğin, "windows.com" domainindeki tek bir bit değişikliği bunu "windnws.com" yapabilir.

Saldırganlar, meşru kullanıcıları kendi altyapılarına yönlendirmek amacıyla hedef domainine benzer birden fazla bit-flipping domaini kaydederek bundan yararlanabilirler.

Daha fazla bilgi için okuyun: https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/

Güvenilir Bir Domain Satın Alma

Kullanabileceğiniz bir expired domain aramak için https://www.expireddomains.net/ sitesinde arama yapabilirsiniz.
Satın almayı düşündüğünüz expired domainin zaten iyi bir SEO'ya sahip olduğunu doğrulamak için nasıl kategorize edildiğini şu kaynaklarda kontrol edebilirsiniz:

E-posta Bulma

Daha fazla geçerli e-posta adresi keşfetmek veya zaten keşfettiklerinizi doğrulamak için hedefin SMTP sunucularına kullanıcı adı brute-force (bruteforce) uygulayıp uygulayamayacağınızı kontrol edebilirsiniz. E-posta adresi nasıl doğrulanır/keşfedilir buradan öğrenin.
Ayrıca, kullanıcıların postalarına erişmek için herhangi bir web portalı kullanıp kullanmadığını unutmayın; eğer portal username brute force'a karşı savunmasızsa, mümkünse bu zafiyeti istismar edin.

GoPhish Yapılandırma

Kurulum

İndirme sayfası: https://github.com/gophish/gophish/releases/tag/v0.11.0

Download and decompress it inside /opt/gophish and execute /opt/gophish/gophish
Çıktıda admin kullanıcısı için port 3333 üzerinde bir parola verilecektir. Bu yüzden o porta erişin ve yönetici parolasını değiştirmek için bu kimlik bilgilerini kullanın. Gerekirse bu portu yerel makinenize tünelleyebilirsiniz:

bash
ssh -L 3333:127.0.0.1:3333 <user>@<ip>

Yapılandırma

TLS sertifika yapılandırması

Bu adımdan önce kullanacağınız alan adını zaten satın almış olmalısınız ve bu alan adının gophish'i yapılandırdığınız VPS'nin IP adresine yönlendirilmiş olması gerekir.

bash
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​

Mail configuration

Yüklemeye başlayın: apt-get install postfix

Sonra alan adını aşağıdaki dosyalara ekleyin:

  • /etc/postfix/virtual_domains
  • /etc/postfix/transport
  • /etc/postfix/virtual_regexp

Ayrıca /etc/postfix/main.cf içindeki aşağıdaki değişkenlerin değerlerini değiştirin

myhostname = <domain>
mydestination = $myhostname, <domain>, localhost.com, localhost

Son olarak /etc/hostname ve /etc/mailname dosyalarını alan adınıza göre düzenleyin ve VPS'inizi yeniden başlatın.

Şimdi, VPS'nin ip address'ine işaret eden mail.<domain> için bir DNS A record oluşturun ve mail.<domain>'e işaret eden bir DNS MX kaydı ekleyin

Şimdi e-posta göndermeyi test edelim:

bash
apt install mailutils
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com

Gophish yapılandırması

gophish'in çalışmasını durdurun ve yapılandırın.
Aşağıdaki şekilde /opt/gophish/config.json dosyasını değiştirin (https kullanımına dikkat):

bash
{
"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 servisini yapılandırma

gophish servisini otomatik olarak başlatılabilir ve bir hizmet olarak yönetilebilir hale getirmek için aşağıdaki içeriğe sahip /etc/init.d/gophish dosyasını oluşturabilirsiniz:

bash
#!/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

Hizmeti yapılandırmayı bitirin ve çalıştığını kontrol edin:

bash
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

Mail sunucusu ve alan adı yapılandırma

Bekleyin ve meşru olun

Bir domain ne kadar eskiyse spam olarak yakalanma olasılığı o kadar düşüktür. Bu yüzden phishing değerlendirmesinden önce mümkün olduğunca uzun süre (en az 1 hafta) beklemelisiniz. Ayrıca, itibarlı bir sektörle ilgili bir sayfa eklerseniz elde edilen itibar daha iyi olur.

Not: Bir hafta beklemek zorunda olsanız bile her şeyi şimdi yapılandırmayı bitirebilirsiniz.

Reverse DNS (rDNS) kaydını yapılandırma

VPS'nin IP adresini alan adına çözecek bir rDNS (PTR) kaydı ayarlayın.

Sender Policy Framework (SPF) Kaydı

Yeni alan adı için bir SPF kaydı yapılandırmalısınız. Eğer SPF kaydının ne olduğunu bilmiyorsanız read this page.

SPF politikanızı oluşturmak için https://www.spfwizard.net/ adresini kullanabilirsiniz (VPS makinesinin IP'sini kullanın)

Bu, alan adı içinde bir TXT kaydına eklenmesi gereken içeriktir:

bash
v=spf1 mx a ip4:ip.ip.ip.ip ?all

Alan Tabanlı Mesaj Doğrulama, Raporlama ve Uyumluluk (DMARC) Kaydı

Yeni alan için DMARC kaydını yapılandırmalısınız. Eğer DMARC kaydının ne olduğunu bilmiyorsanız read this page.

Aşağıdaki içeriğe sahip _dmarc.<domain> host adına işaret eden yeni bir DNS TXT kaydı oluşturmalısınız:

bash
v=DMARC1; p=none

DomainKeys Identified Mail (DKIM)

Yeni alan için bir DKIM yapılandırmalısınız. Eğer DMARC kaydının ne olduğunu bilmiyorsanız bu sayfayı okuyun.

This tutorial is based on: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

tip

DKIM anahtarının ürettiği iki B64 değerini birleştirmeniz gerekir:

v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB

E-posta yapılandırma puanınızı test edin

Bunu https://www.mail-tester.com/\ kullanarak yapabilirsiniz. Sayfaya girip size verdikleri adrese bir e-posta gönderin:

bash
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com

Ayrıca check-auth@verifier.port25.com adresine bir e-posta göndererek e-posta yapılandırmanızı kontrol edebilir ve yanıtı okuyabilirsiniz (bunun için 25 numaralı portu açmanız ve e-postayı root olarak gönderirseniz yanıtı /var/mail/root dosyasında görmeniz gerekir).
Tüm testleri geçtiğinizi kontrol edin:

bash
==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         pass
Sender-ID check:    pass
SpamAssassin check: ham

Kontrolünüz altındaki bir Gmail hesabına mesaj da gönderebilir ve Gmail gelen kutunuzda e-postanın başlıklarını kontrol edebilirsiniz; Authentication-Results başlık alanında dkim=pass ifadesinin bulunması gerekir.

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 Kara Listesinden Kaldırma

The page www.mail-tester.com domaininizin spamhouse tarafından engellenip engellenmediğini gösterebilir. Domain/IP adresinizin kaldırılmasını şu adresten talep edebilirsiniz: ​https://www.spamhaus.org/lookup/

Microsoft Kara Listesinden Kaldırma

​​Domain/IP adresinizin kaldırılmasını şu adresten talep edebilirsiniz: https://sender.office.com/.

GoPhish Kampanyası Oluşturma ve Başlatma

Gönderici Profili

  • Gönderici profili için bir tanımlama adı belirleyin
  • Hangi hesap üzerinden phishing e-postalarını göndereceğinize karar verin. Öneriler: noreply, support, servicedesk, salesforce...
  • Kullanıcı adı ve şifreyi boş bırakabilirsiniz, fakat Ignore Certificate Errors seçeneğinin işaretli olduğundan emin olun

tip

Her şeyin çalıştığını test etmek için "Send Test Email" işlevini kullanmanız önerilir.
Testler sırasında kara listeye alınmamak için send the test emails to 10min mails addresses'e göndermenizi öneririm.

Email Template

  • Şablon için bir tanımlama adı belirleyin
  • Ardından bir subject yazın (tuhaf olmayan, sıradan bir e-postada görebileceğiniz bir şey)
  • "Add Tracking Image" seçeneğinin işaretli olduğundan emin olun
  • email template'i yazın (aşağıdaki örnekteki gibi değişkenler kullanabilirsiniz):
html
<html>
<head>
<title></title>
</head>
<body>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Verdana&quot;,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

tip

The Email Template also allows to attach files to send. If you would also like to steal NTLM challenges using some specially crafted files/documents read this page.

Landing Page

  • Write a name
  • Write the HTML code of the web page. Note that you can import web pages.
  • Mark Capture Submitted Data and Capture Passwords
  • Set a redirection

tip

Usually you will need to modify the HTML code of the page and make some tests in local (maybe using some Apache server) until you like the results. Then, write that HTML code in the box.
Note that if you need to use some static resources for the HTML (maybe some CSS and JS pages) you can save them in /opt/gophish/static/endpoint and then access them from /static/<filename>

tip

For the redirection you could redirect the users to the legit main web page of the victim, or redirect them to /static/migration.html for example, put some spinning wheel (https://loading.io/) for 5 seconds and then indicate that the process was successful.

Users & Groups

  • Set a name
  • Import the data (note that in order to use the template for the example you need the firstname, last name and email address of each user)

Campaign

Finally, create a campaign selecting a name, the email template, the landing page, the URL, the sending profile and the group. Note that the URL will be the link sent to the victims

Note that the Sending Profile allow to send a test email to see how will the final phishing email looks like:

tip

I would recommend to send the test emails to 10min mails addresses in order to avoid getting blacklisted making tests.

Once everything is ready, just launch the campaign!

Website Cloning

If for any reason you want to clone the website check the following page:

Clone a Website

Backdoored Documents & Files

In some phishing assessments (mainly for Red Teams) you will want to also send files containing some kind of backdoor (maybe a C2 or maybe just something that will trigger an authentication).
Check out the following page for some examples:

Phishing Files & Documents

Phishing MFA

Via Proxy MitM

The previous attack is pretty clever as you are faking a real website and gathering the information set by the user. Unfortunately, if the user didn't put the correct password or if the application you faked is configured with 2FA, this information won't allow you to impersonate the tricked user.

This is where tools like evilginx2, CredSniper and muraena are useful. This tool will allow you to generate a MitM like attack. Basically, the attacks works in the following way:

  1. You impersonate the login form of the real webpage.
  2. The user send his credentials to your fake page and the tool send those to the real webpage, checking if the credentials work.
  3. If the account is configured with 2FA, the MitM page will ask for it and once the user introduces it the tool will send it to the real web page.
  4. Once the user is authenticated you (as attacker) will have captured the credentials, the 2FA, the cookie and any information of every interaction your while the tool is performing a MitM.

Via VNC

What if instead of sending the victim to a malicious page with the same looks as the original one, you send him to a VNC session with a browser connected to the real web page? You will be able to see what he does, steal the password, the MFA used, the cookies...
You can do this with EvilnVNC

Detecting the detection

Obviously one of the best ways to know if you have been busted is to search your domain inside blacklists. If it appears listed, somehow your domain was detected as suspicions.
One easy way to check if you domain appears in any blacklist is to use https://malwareworld.com/

However, there are other ways to know if the victim is actively looking for suspicions phishing activity in the wild as explained in:

Detecting Phishing

You can buy a domain with a very similar name to the victims domain and/or generate a certificate for a subdomain of a domain controlled by you containing the keyword of the victim's domain. If the victim perform any kind of DNS or HTTP interaction with them, you will know that he is actively looking for suspicious domains and you will need to be very stealth.

Evaluate the phishing

Use Phishious to evaluate if your email is going to end in the spam folder or if it's going to be blocked or successful.

High-Touch Identity Compromise (Help-Desk MFA Reset)

Modern intrusion sets increasingly skip email lures entirely and directly target the service-desk / identity-recovery workflow to defeat MFA. The attack is fully "living-off-the-land": once the operator owns valid credentials they pivot with built-in admin tooling – no malware is required.

Attack flow

  1. Recon the victim
  • Harvest personal & corporate details from LinkedIn, data breaches, public GitHub, etc.
  • Identify high-value identities (executives, IT, finance) and enumerate the exact help-desk process for password / MFA reset.
  1. Real-time social engineering
  • Phone, Teams or chat the help-desk while impersonating the target (often with spoofed caller-ID or cloned voice).
  • Provide the previously-collected PII to pass knowledge-based verification.
  • Convince the agent to reset the MFA secret or perform a SIM-swap on a registered mobile number.
  1. Immediate post-access actions (≤60 min in real cases)
  • Establish a foothold through any web SSO portal.
  • Enumerate AD / AzureAD with built-ins (no binaries dropped):
powershell
# 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>
  • Lateral movement with WMI, PsExec, or legitimate RMM agents already whitelisted in the environment.

Detection & Mitigation

  • Treat help-desk identity recovery as a privileged operation – require step-up auth & manager approval.
  • Deploy Identity Threat Detection & Response (ITDR) / UEBA rules that alert on:
  • MFA method changed + authentication from new device / geo.
  • Immediate elevation of the same principal (user-→-admin).
  • Record help-desk calls and enforce a call-back to an already-registered number before any reset.
  • Implement Just-In-Time (JIT) / Privileged Access so newly reset accounts do not automatically inherit high-privilege tokens.

At-Scale Deception – SEO Poisoning & “ClickFix” Campaigns

Commodity crews offset the cost of high-touch ops with mass attacks that turn search engines & ad networks into the delivery channel.

  1. SEO poisoning / malvertising pushes a fake result such as chromium-update[.]site to the top search ads.
  2. Victim downloads a small first-stage loader (often JS/HTA/ISO). Examples seen by Unit 42:
  • RedLine stealer
  • Lumma stealer
  • Lampion Trojan
  1. Loader exfiltrates browser cookies + credential DBs, then pulls a silent loader which decides – in realtime – whether to deploy:
  • RAT (e.g. AsyncRAT, RustDesk)
  • ransomware / wiper
  • persistence component (registry Run key + scheduled task)

Hardening tips

  • Block newly-registered domains & enforce Advanced DNS / URL Filtering on search-ads as well as e-mail.
  • Restrict software installation to signed MSI / Store packages, deny HTA, ISO, VBS execution by policy.
  • Monitor for child processes of browsers opening installers:
yaml
- parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe
  • Hunt for LOLBins frequently abused by first-stage loaders (e.g. regsvr32, curl, mshta).

AI-Enhanced Phishing Operations

Attackers now chain LLM & voice-clone APIs for fully personalised lures and real-time interaction.

LayerExample use by threat actor
AutomationGenerate & send >100 k emails / SMS with randomised wording & tracking links.
Generative AIProduce one-off emails referencing public M&A, inside jokes from social media; deep-fake CEO voice in callback scam.
Agentic AIAutonomously register domains, scrape open-source intel, craft next-stage mails when a victim clicks but doesn’t submit creds.

Defence: • Add dynamic banners highlighting messages sent from untrusted automation (via ARC/DKIM anomalies). • Deploy voice-biometric challenge phrases for high-risk phone requests. • Continuously simulate AI-generated lures in awareness programmes – static templates are obsolete.

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


MFA Fatigue / Push Bombing Variant – Forced Reset

Besides classic push-bombing, operators simply force a new MFA registration during the help-desk call, nullifying the user’s existing token. Any subsequent login prompt appears legitimate to the victim.

text
[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

Aynı IP'den dakikalar içinde deleteMFA + addMFA olaylarının görüldüğü AzureAD/AWS/Okta etkinliklerini izleyin.

Clipboard Hijacking / Pastejacking

Saldırganlar, ele geçirilmiş veya typosquatted bir web sayfasından kurbanın clipboard'una zararlı komutları sessizce kopyalayabilir ve ardından kullanıcının bunları Win + R, Win + X veya bir terminal penceresine yapıştırmasını sağlayarak herhangi bir indirme veya ek olmadan rastgele kod çalıştırabilir.

Clipboard Hijacking

Mobile Phishing & Malicious App Distribution (Android & iOS)

Mobile Phishing Malicious Apps

Mobile‑gated phishing to evade crawlers/sandboxes

Operatörler artan şekilde phishing akışlarını basit bir cihaz kontrolünün arkasına koyuyor, böylece masaüstü crawlers son sayfalara asla ulaşamıyor. Yaygın bir desen, touch-capable DOM'u test eden ve sonucu bir server endpoint'e post eden küçük bir script'tir; mobil olmayan istemciler HTTP 500 (veya boş bir sayfa) alırken, mobil kullanıcılara tam akış sunulur.

Minimal istemci kod parçası (tipik mantık):

html
<script src="/static/detect_device.js"></script>

detect_device.js mantığı (basitleştirilmiş):

javascript
const isMobile = ('ontouchstart' in document.documentElement);
fetch('/detect', {method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({is_mobile:isMobile})})
.then(()=>location.reload());

Sık gözlemlenen sunucu davranışı:

  • İlk yüklemede bir session cookie ayarlar.
  • Kabul eder POST /detect {"is_mobile":true|false}.
  • Sonraki GET'lere is_mobile=false olduğunda 500 (veya placeholder) döner; phishing'i yalnızca true ise sunar.

Avlama ve tespit heuristikleri:

  • urlscan sorgusu: filename:"detect_device.js" AND page.status:500
  • Web telemetrisi: GET /static/detect_device.jsPOST /detect → non‑mobile için HTTP 500; meşru mobil kurban yolları 200 döner ve takip eden HTML/JS sunulur.
  • İçeriği yalnızca ontouchstart veya benzeri cihaz kontrollerine göre koşullayan sayfaları engelleyin veya dikkatle inceleyin.

Savunma ipuçları:

  • Erişime kapalı içeriği ortaya çıkarmak için mobil benzeri parmak izlerine sahip ve JS etkin crawler'lar çalıştırın.
  • Yeni kayıtlı domainlerde POST /detect'i takiben gelen şüpheli 500 yanıtları için uyarı oluşturun.

Referanslar

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin