hacktricks/generic-methodologies-and-resources/phishing-methodology
2024-07-18 22:14:33 +00:00
..
clone-a-website.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:37:42 +00:00
detecting-phising.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:14:33 +00:00
phishing-documents.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:14:33 +00:00
README.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:14:33 +00:00

Phishing Methodology

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Methodology

  1. Fanya utafiti kuhusu mwathirika
  2. Chagua domeni la mwathirika.
  3. Fanya utafiti wa msingi wa wavuti ukitafuta milango ya kuingia inayotumiwa na mwathirika na amua ni ipi utayejifanya kuwa.
  4. Tumia OSINT ili kupata barua pepe.
  5. Andaa mazingira
  6. Nunua domeni ambayo utatumia kwa tathmini ya phishing
  7. Sanidi huduma ya barua pepe rekodi zinazohusiana (SPF, DMARC, DKIM, rDNS)
  8. Sanidi VPS na gophish
  9. Andaa kampeni
  10. Andaa kigezo cha barua pepe
  11. Andaa ukurasa wa wavuti wa kuiba taarifa za kuingia
  12. Anzisha kampeni!

Generate similar domain names or buy a trusted domain

Domain Name Variation Techniques

  • Neno muhimu: Jina la domeni linajumuisha neno muhimu la domeni asilia (mfano, zelster.com-management.com).
  • subdomain yenye hyphen: Badilisha dot kuwa hyphen ya subdomain (mfano, www-zelster.com).
  • TLD Mpya: Domeni sawa ikitumia TLD mpya (mfano, zelster.org)
  • Homoglyph: In badilisha herufi katika jina la domeni kwa herufi zinazofanana (mfano, zelfser.com).
  • Transposition: In badilisha herufi mbili ndani ya jina la domeni (mfano, zelsetr.com).
  • Singularization/Pluralization: Ongeza au ondolea “s” mwishoni mwa jina la domeni (mfano, zeltsers.com).
  • Omission: In ondoa moja ya herufi kutoka jina la domeni (mfano, zelser.com).
  • Repetition: In rudia moja ya herufi katika jina la domeni (mfano, zeltsser.com).
  • Replacement: Kama homoglyph lakini si ya siri sana. Inabadilisha moja ya herufi katika jina la domeni, labda kwa herufi iliyo karibu na herufi asilia kwenye kibodi (mfano, zektser.com).
  • Subdomained: Ingiza dot ndani ya jina la domeni (mfano, ze.lster.com).
  • Insertion: In ingiza herufi ndani ya jina la domeni (mfano, zerltser.com).
  • Missing dot: Ongeza TLD kwenye jina la domeni. (mfano, zelstercom.com)

Automatic Tools

Websites

Bitflipping

Kuna uwezekano kwamba moja ya baadhi ya bits zilizohifadhiwa au katika mawasiliano inaweza kubadilishwa kiotomatiki kutokana na sababu mbalimbali kama vile miale ya jua, mionzi ya anga, au makosa ya vifaa.

Wakati dhana hii inatumika kwa maombi ya DNS, inawezekana kwamba domeni iliyopokelewa na seva ya DNS si sawa na domeni iliyotakiwa awali.

Kwa mfano, mabadiliko ya bit moja katika jina la domeni "windows.com" yanaweza kubadilisha kuwa "windnws.com."

Wavamizi wanaweza kunufaika na hili kwa kujiandikisha kwa domeni nyingi zenye kubadilishwa bit ambazo zinafanana na domeni ya mwathirika. Nia yao ni kuelekeza watumiaji halali kwenye miundombinu yao.

Kwa maelezo zaidi soma https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/

Buy a trusted domain

Unaweza kutafuta katika https://www.expireddomains.net/ kwa domeni iliyokwisha ambayo unaweza kutumia.
Ili kuhakikisha kwamba domeni iliyokwisha unayopanga kununua ina SEO nzuri tayari unaweza kutafuta jinsi inavyopangwa katika:

Discovering Emails

Ili kuweza kugundua zaidi anwani halali za barua pepe au kuhakiki zile ulizozigundua tayari unaweza kuangalia kama unaweza kujaribu nguvu kwenye seva za smtp za mwathirika. Jifunze jinsi ya kuangalia/kugundua anwani ya barua pepe hapa.
Zaidi ya hayo, usisahau kwamba ikiwa watumiaji wanatumia milango yoyote ya wavuti kuingia kwenye barua zao, unaweza kuangalia kama inahatarishwa kwa kujaribu nguvu jina la mtumiaji, na kutumia udhaifu huo ikiwa inawezekana.

Configuring GoPhish

Installation

Unaweza kuipakua kutoka https://github.com/gophish/gophish/releases/tag/v0.11.0

Pakua na uondoe ndani ya /opt/gophish na uendeshe /opt/gophish/gophish
Utapewa nenosiri kwa mtumiaji wa admin kwenye bandari 3333 katika matokeo. Hivyo, fikia bandari hiyo na tumia akidi hizo kubadilisha nenosiri la admin. Unaweza kuhitaji kuunganisha bandari hiyo kwa local:

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

Configuration

TLS certificate configuration

Kabla ya hatua hii unapaswa kuwa umeshanunua jina la kikoa unalotaka kutumia na lazima liwe linaanika kwenye IP ya VPS ambapo unafanya usanidi wa 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

Mail configuration

Anza kufunga: apt-get install postfix

Kisha ongeza domain kwenye faili zifuatazo:

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

Badilisha pia thamani za vigezo vifuatavyo ndani ya /etc/postfix/main.cf

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

Hatimaye badilisha faili /etc/hostname na /etc/mailname kuwa jina la domain yako na anzisha upya VPS yako.

Sasa, tengeneza rekodi ya DNS A ya mail.<domain> ikielekeza kwenye anwani ya ip ya VPS na rekodi ya DNS MX ikielekeza kwa mail.<domain>

Sasa hebu tujaribu kutuma barua pepe:

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

Mipangilio ya Gophish

Acha utekelezaji wa gophish na hebu tuipange.
Badilisha /opt/gophish/config.json kuwa ifuatayo (zingatia matumizi ya 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": ""
}
}

Configure gophish service

Ili kuunda huduma ya gophish ili iweze kuanzishwa kiotomatiki na kusimamiwa kama huduma unaweza kuunda faili /etc/init.d/gophish yenye maudhui yafuatayo:

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

Maliza kuunda huduma na kuangalia inavyofanya:

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

Kuunda seva ya barua na jina la kikoa

Subiri & kuwa halali

Kadri jina la kikoa linavyozeeka ndivyo inavyokuwa vigumu kukamatwa kama spam. Hivyo unapaswa kusubiri muda mrefu iwezekanavyo (angalau wiki 1) kabla ya tathmini ya phishing. Zaidi ya hayo, ikiwa utaweka ukurasa kuhusu sekta yenye sifa, sifa iliyopatikana itakuwa bora.

Kumbuka kwamba hata kama unapaswa kusubiri wiki moja unaweza kumaliza kuunda kila kitu sasa.

Kuunda Rekodi ya Reverse DNS (rDNS)

Weka rekodi ya rDNS (PTR) inayotatua anwani ya IP ya VPS kwa jina la kikoa.

Rekodi ya Sender Policy Framework (SPF)

Lazima uunde rekodi ya SPF kwa jina jipya la kikoa. Ikiwa hujui ni nini rekodi ya SPF soma ukurasa huu.

Unaweza kutumia https://www.spfwizard.net/ kuunda sera yako ya SPF (tumia IP ya mashine ya VPS)

Hii ni maudhui ambayo yanapaswa kuwekwa ndani ya rekodi ya TXT ndani ya kikoa:

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

Domain-based Message Authentication, Reporting & Conformance (DMARC) Record

Lazima uweke rekodi ya DMARC kwa jina jipya la kikoa. Ikiwa hujui ni nini rekodi ya DMARC soma ukurasa huu.

Lazima uunde rekodi mpya ya DNS TXT ikielekeza kwenye jina la mwenyeji _dmarc.<domain> yenye maudhui yafuatayo:

v=DMARC1; p=none

DomainKeys Identified Mail (DKIM)

Lazima uweke DKIM kwa jina jipya la kikoa. Ikiwa hujui ni nini rekodi ya DMARC soma ukurasa huu.

Hii ni mafunzo yanayotegemea: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

{% hint style="info" %} Unahitaji kuunganisha thamani zote mbili za B64 ambazo funguo za DKIM zinazalisha:

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

{% endhint %}

Jaribu alama ya usanidi wa barua pepe yako

Unaweza kufanya hivyo kwa kutumia https://www.mail-tester.com/
Fikia tu ukurasa huo na tuma barua pepe kwa anwani wanayokupa:

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

Unaweza pia kuangalia usanidi wa barua pepe yako kwa kutuma barua pepe kwa check-auth@verifier.port25.com na kusoma jibu (kwa hili utahitaji kufungua bandari 25 na kuona jibu katika faili /var/mail/root ikiwa utatuma barua pepe kama root).
Angalia kwamba unapitisha majaribio yote:

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

Unaweza pia kutuma ujumbe kwa Gmail chini ya udhibiti wako, na kuangalia vichwa vya barua pepe katika kikasha chako cha Gmail, dkim=pass inapaswa kuwepo katika uwanja wa kichwa cha 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;

Kuondoa kutoka kwenye Orodha ya Spamhouse

Ukurasa www.mail-tester.com unaweza kuonyesha ikiwa jina la kikoa chako linazuiwa na spamhouse. Unaweza kuomba jina la kikoa/IP yako kuondolewa kwenye: https://www.spamhaus.org/lookup/

Kuondoa kutoka kwenye Orodha ya Microsoft

Unaweza kuomba jina la kikoa/IP yako kuondolewa kwenye https://sender.office.com/.

Unda & Uzindue Kampeni ya GoPhish

Profaili ya Kutuma

  • Weka jina la kutambulisha profaili ya mtumaji
  • Amua kutoka kwenye akaunti gani utaenda kutuma barua pepe za phishing. Mapendekezo: noreply, support, servicedesk, salesforce...
  • Unaweza kuacha jina la mtumiaji na nenosiri kuwa tupu, lakini hakikisha umeangalia Ignore Certificate Errors

{% hint style="info" %} Inapendekezwa kutumia kazi ya "Send Test Email" ili kujaribu kwamba kila kitu kinafanya kazi.
Ningependekeza kutuma barua pepe za majaribio kwa anwani za barua za 10min ili kuepuka kuorodheshwa kwenye orodha ya wezi wakati wa kufanya majaribio. {% endhint %}

Kiolezo cha Barua Pepe

  • Weka jina la kutambulisha kiolezo
  • Kisha andika kichwa (hakuna kitu cha ajabu, ni kitu ambacho unaweza kutarajia kusoma kwenye barua pepe ya kawaida)
  • Hakikisha umeangalia "Add Tracking Image"
  • Andika kiolezo cha barua pepe (unaweza kutumia vigezo kama katika mfano ufuatao):
<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 ili kuongeza uaminifu wa barua pepe, inashauriwa kutumia saini kutoka kwa barua pepe ya mteja. Mapendekezo:

  • Tuma barua pepe kwa anwani isiyo na maana na uangalie kama jibu lina saini yoyote.
  • Tafuta barua pepe za umma kama info@ex.com au press@ex.com au public@ex.com na uwatume barua pepe na subiri jibu.
  • Jaribu kuwasiliana na barua pepe halali zilizogunduliwa na subiri jibu.

{% hint style="info" %} Kigezo cha Barua Pepe pia kinaruhusu kuambatisha faili za kutuma. Ikiwa ungependa pia kuiba changamoto za NTLM kwa kutumia faili/hati zilizoundwa kwa njia maalum soma ukurasa huu. {% endhint %}

Ukurasa wa Kutua

  • Andika jina
  • Andika msimbo wa HTML wa ukurasa wa wavuti. Kumbuka kwamba unaweza kuagiza kurasa za wavuti.
  • Mark Kamata Data Zilizowasilishwa na Kamata Nywila
  • Weka mwelekeo

{% hint style="info" %} Kawaida utahitaji kubadilisha msimbo wa HTML wa ukurasa na kufanya majaribio katika eneo (labda ukitumia seva ya Apache) hadi upate matokeo unayopenda. Kisha, andika msimbo huo wa HTML katika kisanduku.
Kumbuka kwamba ikiwa unahitaji kutumia rasilimali za kudumu kwa HTML (labda kurasa za CSS na JS) unaweza kuziokoa katika /opt/gophish/static/endpoint na kisha uzifikie kutoka /static/<filename> {% endhint %}

{% hint style="info" %} Kwa mwelekeo unaweza kuwapeleka watumiaji kwenye ukurasa halali wa wavuti wa mwathirika, au kuwapeleka kwenye /static/migration.html kwa mfano, weka wheel inayozunguka (https://loading.io/) kwa sekunde 5 na kisha onyesha kwamba mchakato ulikuwa wa mafanikio. {% endhint %}

Watumiaji na Makundi

  • Weka jina
  • Agiza data (kumbuka kwamba ili kutumia kigezo kwa mfano unahitaji jina la kwanza, jina la mwisho na anwani ya barua pepe ya kila mtumiaji)

Kampeni

Hatimaye, tengeneza kampeni ukichagua jina, kigezo cha barua pepe, ukurasa wa kutua, URL, wasifu wa kutuma na kundi. Kumbuka kwamba URL itakuwa kiungo kitakachotumwa kwa wahanga.

Kumbuka kwamba Wasifu wa Kutuma unaruhusu kutuma barua pepe ya majaribio kuona jinsi barua pepe ya mwisho ya uvuvi itakavyokuwa:

{% hint style="info" %} Ningependekeza kutuma barua pepe za majaribio kwa anwani za barua pepe za 10min ili kuepuka kuorodheshwa kwenye orodha ya watu wasiokubalika wakati wa kufanya majaribio. {% endhint %}

Mara kila kitu kiko tayari, uzindue kampeni!

Kloni ya Tovuti

Ikiwa kwa sababu yoyote unataka kunakili tovuti angalia ukurasa ufuatao:

{% content-ref url="clone-a-website.md" %} clone-a-website.md {% endcontent-ref %}

Hati na Faili Zenye Backdoor

Katika tathmini za uvuvi (hasa kwa Timu za Red) utataka pia kutuma faili zinazokuwa na aina fulani ya backdoor (labda C2 au labda kitu ambacho kitachochea uthibitisho).
Angalia ukurasa ufuatao kwa mifano:

{% content-ref url="phishing-documents.md" %} phishing-documents.md {% endcontent-ref %}

Uvuvi wa MFA

Kupitia Proxy MitM

Shambulio la awali ni la busara kwani unafanyia kazi tovuti halisi na kukusanya taarifa zilizowekwa na mtumiaji. Kwa bahati mbaya, ikiwa mtumiaji hakuweka nywila sahihi au ikiwa programu uliyofanya kazi nayo imewekwa na 2FA, habari hii haitakuruhusu kujifanya kuwa mtumiaji aliyejipatia hila.

Hapa ndipo zana kama evilginx2, CredSniper na muraena zinakuwa na manufaa. Zana hii itakuruhusu kuunda shambulio kama la MitM. Kimsingi, shambulio linafanya kazi kwa njia ifuatayo:

  1. Unajifanya kuwa fomu ya kuingia ya ukurasa halisi wa wavuti.
  2. Mtumiaji anatumia taarifa zake kwenye ukurasa wako wa uongo na zana inatumia hizo kwenye ukurasa halisi wa wavuti, ikikagua ikiwa taarifa hizo zinafanya kazi.
  3. Ikiwa akaunti imewekwa na 2FA, ukurasa wa MitM utauliza kwa hiyo na mara mtumiaji anapoweka hiyo zana itaituma kwenye ukurasa halisi wa wavuti.
  4. Mara mtumiaji anapothibitishwa wewe (kama mshambuliaji) utakuwa umechukua taarifa, 2FA, cookie na taarifa yoyote ya kila mwingiliano wako wakati zana inafanya MitM.

Kupitia VNC

Je, ni vipi badala ya kumpeleka mwathirika kwenye ukurasa mbaya wenye muonekano sawa na wa asili, unampeleka kwenye kikao cha VNC chenye kivinjari kilichounganishwa na ukurasa halisi wa wavuti? Utaweza kuona anachofanya, kuiba nywila, MFA iliyotumika, cookies...
Unaweza kufanya hivi na EvilnVNC

Kugundua kugunduliwa

Bila shaka moja ya njia bora za kujua ikiwa umekamatwa ni kutafuta domain yako ndani ya orodha za watu wasiokubalika. Ikiwa inaonekana kwenye orodha, kwa namna fulani domain yako iligunduliwa kama ya mashaka.
Njia rahisi ya kuangalia ikiwa domain yako inaonekana katika orodha yoyote ya watu wasiokubalika ni kutumia https://malwareworld.com/

Hata hivyo, kuna njia nyingine za kujua ikiwa mwathirika anatafuta kwa makini shughuli za uvuvi za mashaka katika mazingira kama ilivyoelezwa katika:

{% content-ref url="detecting-phising.md" %} detecting-phising.md {% endcontent-ref %}

Unaweza kununua domain yenye jina linalofanana sana na domain ya mwathirika na/au kuunda cheti kwa subdomain ya domain inayodhibitiwa na wewe ikiwemo neno muhimu la domain ya mwathirika. Ikiwa mwathirika atafanya aina yoyote ya DNS au mwingiliano wa HTTP nao, utajua kwamba anatafuta kwa makini domain za mashaka na utahitaji kuwa na uangalifu mkubwa.

Kadiria uvuvi

Tumia Phishious kadiria ikiwa barua pepe yako itamalizika kwenye folda ya spam au ikiwa itazuiwa au kufanikiwa.

Marejeo

{% hint style="success" %} Jifunze na fanya mazoezi ya Uvuvi wa AWS:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya Uvuvi wa GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}