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
c05a687430
commit
dd88cb6757
@ -32,6 +32,7 @@
|
|||||||
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.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)
|
- [Detecting Phishing](generic-methodologies-and-resources/phishing-methodology/detecting-phising.md)
|
||||||
- [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md)
|
- [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md)
|
||||||
|
- [Homograph Attacks](generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md)
|
||||||
- [Mobile Phishing Malicious Apps](generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md)
|
- [Mobile Phishing Malicious Apps](generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md)
|
||||||
- [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md)
|
- [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md)
|
||||||
- [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md)
|
- [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md)
|
||||||
|
@ -23,16 +23,20 @@
|
|||||||
|
|
||||||
- **Słowo kluczowe**: Nazwa domeny **zawiera** ważne **słowo kluczowe** oryginalnej domeny (np. zelster.com-management.com).
|
- **Słowo kluczowe**: Nazwa domeny **zawiera** ważne **słowo kluczowe** oryginalnej domeny (np. zelster.com-management.com).
|
||||||
- **poddomena z myślnikiem**: Zmień **kropkę na myślnik** w poddomenie (np. www-zelster.com).
|
- **poddomena z myślnikiem**: Zmień **kropkę na myślnik** w poddomenie (np. www-zelster.com).
|
||||||
- **Nowe TLD**: Ta sama domena używająca **nowego TLD** (np. zelster.org).
|
- **Nowe TLD**: Ta sama domena z użyciem **nowego TLD** (np. zelster.org).
|
||||||
- **Homoglif**: **Zastępuje** literę w nazwie domeny **literami, które wyglądają podobnie** (np. zelfser.com).
|
- **Homoglif**: **Zastępuje** literę w nazwie domeny **literami, które wyglądają podobnie** (np. zelfser.com).
|
||||||
|
|
||||||
|
{{#ref}}
|
||||||
|
homograph-attacks.md
|
||||||
|
{{#endref}}
|
||||||
- **Transpozycja:** **Zamienia dwie litery** w nazwie domeny (np. zelsetr.com).
|
- **Transpozycja:** **Zamienia dwie litery** w nazwie domeny (np. zelsetr.com).
|
||||||
- **Liczba pojedyncza/mnoga**: Dodaje lub usuwa „s” na końcu nazwy domeny (np. zeltsers.com).
|
- **Liczba pojedyncza/mnoga**: Dodaje lub usuwa „s” na końcu nazwy domeny (np. zeltsers.com).
|
||||||
- **Ominięcie**: **Usuwa jedną** z liter z nazwy domeny (np. zelser.com).
|
- **Ominięcie**: **Usuwa jedną** z liter z nazwy domeny (np. zelser.com).
|
||||||
- **Powtórzenie:** **Powtarza jedną** z liter w nazwie domeny (np. zeltsser.com).
|
- **Powtórzenie:** **Powtarza jedną** z liter w nazwie domeny (np. zeltsser.com).
|
||||||
- **Zamiana**: Jak homoglif, ale mniej dyskretny. Zastępuje jedną z liter w nazwie domeny, być może literą bliską oryginalnej literze na klawiaturze (np. zektser.com).
|
- **Zastąpienie**: Jak homoglif, ale mniej dyskretny. Zastępuje jedną z liter w nazwie domeny, być może literą bliską oryginalnej literze na klawiaturze (np. zektser.com).
|
||||||
- **Poddomenowana**: Wprowadza **kropkę** wewnątrz nazwy domeny (np. ze.lster.com).
|
- **Subdomenowana**: Wprowadza **kropkę** wewnątrz nazwy domeny (np. ze.lster.com).
|
||||||
- **Wstawienie**: **Wstawia literę** do nazwy domeny (np. zerltser.com).
|
- **Wstawienie**: **Wstawia literę** do nazwy domeny (np. zerltser.com).
|
||||||
- **Brak kropki**: Dołącz TLD do nazwy domeny. (np. zelstercom.com)
|
- **Brakująca kropka**: Dołącz TLD do nazwy domeny. (np. zelstercom.com)
|
||||||
|
|
||||||
**Narzędzia automatyczne**
|
**Narzędzia automatyczne**
|
||||||
|
|
||||||
@ -47,19 +51,19 @@
|
|||||||
|
|
||||||
### Bitflipping
|
### Bitflipping
|
||||||
|
|
||||||
Istnieje **możliwość, że jeden z bitów przechowywanych lub w komunikacji może zostać automatycznie zmieniony** z powodu różnych czynników, takich jak wybuchy słoneczne, promieniowanie kosmiczne lub błędy sprzętowe.
|
Istnieje **możliwość, że jeden z bitów przechowywanych lub w komunikacji może zostać automatycznie zmieniony** z powodu różnych czynników, takich jak burze słoneczne, promieniowanie kosmiczne lub błędy sprzętowe.
|
||||||
|
|
||||||
Gdy ten koncept jest **stosowany do zapytań DNS**, możliwe jest, że **domena odebrana przez serwer DNS** nie jest taka sama jak domena pierwotnie żądana.
|
Gdy ten koncept jest **stosowany do zapytań DNS**, możliwe jest, że **domena odebrana przez serwer DNS** nie jest taka sama jak domena pierwotnie żądana.
|
||||||
|
|
||||||
Na przykład, pojedyncza modyfikacja bitu w domenie "windows.com" może zmienić ją na "windnws.com."
|
Na przykład, pojedyncza modyfikacja bitu w domenie "windows.com" może zmienić ją na "windnws.com."
|
||||||
|
|
||||||
Atakujący mogą **wykorzystać to, rejestrując wiele domen z bit-flipping**, które są podobne do domeny ofiary. Ich intencją jest przekierowanie legalnych użytkowników do własnej infrastruktury.
|
Napastnicy mogą **wykorzystać to, rejestrując wiele domen z bit-flipping**, które są podobne do domeny ofiary. Ich intencją jest przekierowanie legalnych użytkowników do własnej infrastruktury.
|
||||||
|
|
||||||
Aby uzyskać więcej informacji, przeczytaj [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)
|
Aby uzyskać więcej informacji, przeczytaj [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)
|
||||||
|
|
||||||
### Kup zaufaną domenę
|
### Kup zaufaną domenę
|
||||||
|
|
||||||
Możesz poszukać na [https://www.expireddomains.net/](https://www.expireddomains.net) wygasłej domeny, którą mógłbyś wykorzystać.\
|
Możesz poszukać na [https://www.expireddomains.net/](https://www.expireddomains.net) wygasłej domeny, którą mógłbyś użyć.\
|
||||||
Aby upewnić się, że wygasła domena, którą zamierzasz kupić, **ma już dobrą SEO**, możesz sprawdzić, jak jest sklasyfikowana w:
|
Aby upewnić się, że wygasła domena, którą zamierzasz kupić, **ma już dobrą SEO**, możesz sprawdzić, jak jest sklasyfikowana w:
|
||||||
|
|
||||||
- [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
|
- [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
|
||||||
@ -73,8 +77,8 @@ Aby upewnić się, że wygasła domena, którą zamierzasz kupić, **ma już dob
|
|||||||
- [https://hunter.io/](https://hunter.io)
|
- [https://hunter.io/](https://hunter.io)
|
||||||
- [https://anymailfinder.com/](https://anymailfinder.com)
|
- [https://anymailfinder.com/](https://anymailfinder.com)
|
||||||
|
|
||||||
Aby **odkryć więcej** ważnych adresów e-mail lub **zweryfikować te**, które już odkryłeś, możesz sprawdzić, czy możesz przeprowadzić brute-force na serwerach smtp ofiary. [Dowiedz się, jak zweryfikować/odkryć adres e-mail tutaj](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
|
Aby **odkryć więcej** ważnych adresów e-mail lub **zweryfikować te, które już odkryłeś**, możesz sprawdzić, czy możesz przeprowadzić brute-force na serwerach smtp ofiary. [Dowiedz się, jak zweryfikować/odkryć adres e-mail tutaj](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
|
||||||
Ponadto nie zapomnij, że jeśli użytkownicy korzystają z **jakiegokolwiek portalu internetowego do dostępu do swoich e-maili**, możesz sprawdzić, czy jest on podatny na **brute force nazwy użytkownika** i wykorzystać tę podatność, jeśli to możliwe.
|
Ponadto nie zapomnij, że jeśli użytkownicy korzystają z **jakiegokolwiek portalu internetowego do dostępu do swoich e-maili**, możesz sprawdzić, czy jest on podatny na **brute force nazw użytkowników** i wykorzystać tę podatność, jeśli to możliwe.
|
||||||
|
|
||||||
## Konfigurowanie GoPhish
|
## Konfigurowanie GoPhish
|
||||||
|
|
||||||
@ -109,7 +113,7 @@ cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
|
|||||||
```
|
```
|
||||||
**Konfiguracja poczty**
|
**Konfiguracja poczty**
|
||||||
|
|
||||||
Zacznij od instalacji: `apt-get install postfix`
|
Rozpocznij instalację: `apt-get install postfix`
|
||||||
|
|
||||||
Następnie dodaj domenę do następujących plików:
|
Następnie dodaj domenę do następujących plików:
|
||||||
|
|
||||||
@ -219,7 +223,7 @@ service gophish status
|
|||||||
ss -l | grep "3333\|443"
|
ss -l | grep "3333\|443"
|
||||||
service gophish stop
|
service gophish stop
|
||||||
```
|
```
|
||||||
## Konfiguracja serwera pocztowego i domeny
|
## Konfigurowanie serwera pocztowego i domeny
|
||||||
|
|
||||||
### Czekaj i bądź legitny
|
### Czekaj i bądź legitny
|
||||||
|
|
||||||
@ -235,7 +239,7 @@ Ustaw rekord rDNS (PTR), który rozwiązuje adres IP VPS na nazwę domeny.
|
|||||||
|
|
||||||
Musisz **skonfigurować rekord SPF dla nowej domeny**. Jeśli nie wiesz, czym jest rekord SPF [**przeczytaj tę stronę**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
|
Musisz **skonfigurować rekord SPF dla nowej domeny**. Jeśli nie wiesz, czym jest rekord SPF [**przeczytaj tę stronę**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
|
||||||
|
|
||||||
Możesz użyć [https://www.spfwizard.net/](https://www.spfwizard.net), aby wygenerować swoją politykę SPF (użyj adresu IP maszyny VPS)
|
Możesz użyć [https://www.spfwizard.net/](https://www.spfwizard.net) do wygenerowania swojej polityki SPF (użyj adresu IP maszyny VPS)
|
||||||
|
|
||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
@ -289,17 +293,17 @@ Authentication-Results: mx.google.com;
|
|||||||
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.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;
|
dkim=pass header.i=@example.com;
|
||||||
```
|
```
|
||||||
### Usuwanie z czarnej listy Spamhouse
|
### Usuwanie z Czarnej Listy Spamhouse
|
||||||
|
|
||||||
Strona [www.mail-tester.com](https://www.mail-tester.com) może wskazać, czy Twoja domena jest blokowana przez spamhouse. Możesz poprosić o usunięcie swojej domeny/IP pod adresem: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
|
Strona [www.mail-tester.com](https://www.mail-tester.com) może wskazać, czy Twoja domena jest blokowana przez spamhouse. Możesz poprosić o usunięcie swojej domeny/IP pod adresem: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
|
||||||
|
|
||||||
### Usuwanie z czarnej listy Microsoft
|
### Usuwanie z Czarnej Listy Microsoft
|
||||||
|
|
||||||
Możesz poprosić o usunięcie swojej domeny/IP pod adresem [https://sender.office.com/](https://sender.office.com).
|
Możesz poprosić o usunięcie swojej domeny/IP pod adresem [https://sender.office.com/](https://sender.office.com).
|
||||||
|
|
||||||
## Utwórz i uruchom kampanię GoPhish
|
## Utwórz i Uruchom Kampanię GoPhish
|
||||||
|
|
||||||
### Profil wysyłania
|
### Profil Wysyłania
|
||||||
|
|
||||||
- Ustaw **nazwę identyfikującą** profil nadawcy
|
- Ustaw **nazwę identyfikującą** profil nadawcy
|
||||||
- Zdecyduj, z którego konta będziesz wysyłać e-maile phishingowe. Sugestie: _noreply, support, servicedesk, salesforce..._
|
- Zdecyduj, z którego konta będziesz wysyłać e-maile phishingowe. Sugestie: _noreply, support, servicedesk, salesforce..._
|
||||||
@ -311,12 +315,12 @@ Strona [www.mail-tester.com](https://www.mail-tester.com) może wskazać, czy Tw
|
|||||||
> Zaleca się korzystanie z funkcji "**Wyślij e-mail testowy**", aby sprawdzić, czy wszystko działa.\
|
> Zaleca się korzystanie z funkcji "**Wyślij e-mail testowy**", aby sprawdzić, czy wszystko działa.\
|
||||||
> Zalecałbym **wysyłanie e-maili testowych na adresy 10min mail**, aby uniknąć dodania do czarnej listy podczas testów.
|
> Zalecałbym **wysyłanie e-maili testowych na adresy 10min mail**, aby uniknąć dodania do czarnej listy podczas testów.
|
||||||
|
|
||||||
### Szablon e-maila
|
### Szablon E-mail
|
||||||
|
|
||||||
- Ustaw **nazwę identyfikującą** szablon
|
- Ustaw **nazwę identyfikującą** szablon
|
||||||
- Następnie napisz **temat** (nic dziwnego, po prostu coś, co można by się spodziewać w zwykłym e-mailu)
|
- Następnie napisz **temat** (nic dziwnego, po prostu coś, co można by się spodziewać w zwykłym e-mailu)
|
||||||
- Upewnij się, że zaznaczyłeś "**Dodaj obrazek śledzący**"
|
- Upewnij się, że zaznaczyłeś "**Dodaj obrazek śledzący**"
|
||||||
- Napisz **szablon e-maila** (możesz używać zmiennych, jak w poniższym przykładzie):
|
- Napisz **szablon e-mail** (możesz używać zmiennych, jak w poniższym przykładzie):
|
||||||
```html
|
```html
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
@ -360,7 +364,7 @@ Zauważ, że **aby zwiększyć wiarygodność e-maila**, zaleca się użycie jak
|
|||||||
> Zauważ, że jeśli musisz **użyć jakichś statycznych zasobów** dla HTML (może jakieś strony CSS i JS), możesz je zapisać w _**/opt/gophish/static/endpoint**_ i następnie uzyskać do nich dostęp z _**/static/\<filename>**_
|
> Zauważ, że jeśli musisz **użyć jakichś statycznych zasobów** dla HTML (może jakieś strony CSS i JS), możesz je zapisać w _**/opt/gophish/static/endpoint**_ i następnie uzyskać do nich dostęp z _**/static/\<filename>**_
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> W przypadku przekierowania możesz **przekierować użytkowników na legitną główną stronę internetową** ofiary lub przekierować ich na _/static/migration.html_, na przykład, umieścić jakiś **kręcący się kółko (**[**https://loading.io/**](https://loading.io)**) przez 5 sekund, a następnie wskazać, że proces zakończył się sukcesem**.
|
> W przypadku przekierowania możesz **przekierować użytkowników na legalną główną stronę** ofiary lub przekierować ich na _/static/migration.html_, na przykład, umieścić jakiś **kręcący się kółko (**[**https://loading.io/**](https://loading.io)**) przez 5 sekund, a następnie wskazać, że proces zakończył się sukcesem**.
|
||||||
|
|
||||||
### Użytkownicy i grupy
|
### Użytkownicy i grupy
|
||||||
|
|
||||||
@ -410,11 +414,11 @@ Tutaj przydatne są narzędzia takie jak [**evilginx2**](https://github.com/kgre
|
|||||||
1. **Podszywasz się pod formularz logowania** prawdziwej strony internetowej.
|
1. **Podszywasz się pod formularz logowania** prawdziwej strony internetowej.
|
||||||
2. Użytkownik **wysyła** swoje **dane logowania** na twoją fałszywą stronę, a narzędzie wysyła je na prawdziwą stronę internetową, **sprawdzając, czy dane logowania działają**.
|
2. Użytkownik **wysyła** swoje **dane logowania** na twoją fałszywą stronę, a narzędzie wysyła je na prawdziwą stronę internetową, **sprawdzając, czy dane logowania działają**.
|
||||||
3. Jeśli konto jest skonfigurowane z **2FA**, strona MitM poprosi o to, a gdy **użytkownik wprowadzi** to, narzędzie wyśle to na prawdziwą stronę internetową.
|
3. Jeśli konto jest skonfigurowane z **2FA**, strona MitM poprosi o to, a gdy **użytkownik wprowadzi** to, narzędzie wyśle to na prawdziwą stronę internetową.
|
||||||
4. Gdy użytkownik jest uwierzytelniony, ty (jako atakujący) będziesz miał **przechwycone dane logowania, 2FA, ciasteczka i wszelkie informacje** z każdej interakcji, podczas gdy narzędzie wykonuje atak MitM.
|
4. Gdy użytkownik zostanie uwierzytelniony, ty (jako atakujący) będziesz miał **przechwycone dane logowania, 2FA, ciasteczka i wszelkie informacje** z każdej interakcji, podczas gdy narzędzie wykonuje atak MitM.
|
||||||
|
|
||||||
### Poprzez VNC
|
### Poprzez VNC
|
||||||
|
|
||||||
Co jeśli zamiast **wysyłać ofiarę na złośliwą stronę** o takim samym wyglądzie jak oryginalna, wyślesz go na **sesję VNC z przeglądarką połączoną z prawdziwą stroną internetową**? Będziesz mógł zobaczyć, co robi, ukraść hasło, używane MFA, ciasteczka...\
|
Co jeśli zamiast **wysyłać ofiarę na złośliwą stronę** o takim samym wyglądzie jak oryginalna, wyślesz ją do **sesji VNC z przeglądarką połączoną z prawdziwą stroną internetową**? Będziesz mógł zobaczyć, co robi, ukraść hasło, używane MFA, ciasteczka...\
|
||||||
Możesz to zrobić za pomocą [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
|
Możesz to zrobić za pomocą [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
|
||||||
|
|
||||||
## Wykrywanie wykrycia
|
## Wykrywanie wykrycia
|
||||||
@ -436,7 +440,7 @@ Użyj [**Phishious** ](https://github.com/Rices/Phishious), aby ocenić, czy tw
|
|||||||
|
|
||||||
## Przechwytywanie schowka / Pastejacking
|
## Przechwytywanie schowka / Pastejacking
|
||||||
|
|
||||||
Atakujący mogą cicho kopiować złośliwe polecenia do schowka ofiary z kompromitowanej lub źle napisanej strony internetowej, a następnie oszukać użytkownika, aby wkleił je w **Win + R**, **Win + X** lub oknie terminala, wykonując dowolny kod bez pobierania lub załączania.
|
Atakujący mogą cicho kopiować złośliwe polecenia do schowka ofiary z kompromitowanej lub błędnie napisanej strony internetowej, a następnie oszukać użytkownika, aby wkleił je w **Win + R**, **Win + X** lub oknie terminala, wykonując dowolny kod bez pobierania lub załączania.
|
||||||
|
|
||||||
{{#ref}}
|
{{#ref}}
|
||||||
clipboard-hijacking.md
|
clipboard-hijacking.md
|
||||||
|
@ -0,0 +1,104 @@
|
|||||||
|
# Ataki homograficzne / homoglifowe w phishingu
|
||||||
|
|
||||||
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|
||||||
|
## Przegląd
|
||||||
|
|
||||||
|
Atak homograficzny (znany również jako atak homoglifowy) wykorzystuje fakt, że wiele **punktów kodowych Unicode z nielatynowych skryptów jest wizualnie identycznych lub bardzo podobnych do znaków ASCII**. Poprzez zastąpienie jednego lub więcej znaków łacińskich ich odpowiednikami, atakujący może stworzyć:
|
||||||
|
|
||||||
|
* Nazwy wyświetlane, tematy lub treści wiadomości, które wyglądają na legitymne dla ludzkiego oka, ale omijają detekcje oparte na słowach kluczowych.
|
||||||
|
* Domeny, subdomeny lub ścieżki URL, które oszukują ofiary, sprawiając, że wierzą, iż odwiedzają zaufaną stronę.
|
||||||
|
|
||||||
|
Ponieważ każdy glif jest identyfikowany wewnętrznie przez swój **punkt kodowy Unicode**, pojedynczy zastąpiony znak wystarczy, aby pokonać naiwne porównania ciągów (np. `"Παypal.com"` vs. `"Paypal.com"`).
|
||||||
|
|
||||||
|
## Typowy proces phishingowy
|
||||||
|
|
||||||
|
1. **Stwórz treść wiadomości** – Zastąp konkretne litery łacińskie w podszywającej się marce / słowie kluczowym wizualnie nieodróżnialnymi znakami z innego skryptu (greckiego, cyrylicy, ormiańskiego, cherokee itp.).
|
||||||
|
2. **Zarejestruj infrastrukturę wspierającą** – Opcjonalnie zarejestruj domenę homoglifową i uzyskaj certyfikat TLS (większość CA nie przeprowadza kontroli podobieństwa wizualnego).
|
||||||
|
3. **Wyślij e-mail / SMS** – Wiadomość zawiera homoglify w jednej lub więcej z następujących lokalizacji:
|
||||||
|
* Nazwa wyświetlana nadawcy (np. `Ηеlрdеѕk`)
|
||||||
|
* Temat (`Urgеnt Аctіon Rеquіrеd`)
|
||||||
|
* Tekst hiperlinku lub w pełni kwalifikowana nazwa domeny
|
||||||
|
4. **Łańcuch przekierowań** – Ofiara jest przekierowywana przez pozornie nieszkodliwe strony internetowe lub skracacze URL, zanim trafi na złośliwy host, który zbiera dane uwierzytelniające / dostarcza złośliwe oprogramowanie.
|
||||||
|
|
||||||
|
## Zakresy Unicode powszechnie nadużywane
|
||||||
|
|
||||||
|
| Skrypt | Zakres | Przykładowy glif | Wygląda jak |
|
||||||
|
|--------|-------|---------------|------------|
|
||||||
|
| Grecki | U+0370-03FF | `Η` (U+0397) | Łacińskie `H` |
|
||||||
|
| Grecki | U+0370-03FF | `ρ` (U+03C1) | Łacińskie `p` |
|
||||||
|
| Cyrylica | U+0400-04FF | `а` (U+0430) | Łacińskie `a` |
|
||||||
|
| Cyrylica | U+0400-04FF | `е` (U+0435) | Łacińskie `e` |
|
||||||
|
| Ormiański | U+0530-058F | `օ` (U+0585) | Łacińskie `o` |
|
||||||
|
| Cherokee | U+13A0-13FF | `Ꭲ` (U+13A2) | Łacińskie `T` |
|
||||||
|
|
||||||
|
> Wskazówka: Pełne wykresy Unicode są dostępne na [unicode.org](https://home.unicode.org/).
|
||||||
|
|
||||||
|
## Techniki detekcji
|
||||||
|
|
||||||
|
### 1. Inspekcja mieszanych skryptów
|
||||||
|
|
||||||
|
E-maile phishingowe skierowane do anglojęzycznej organizacji rzadko powinny mieszać znaki z wielu skryptów. Prosta, ale skuteczna heurystyka to:
|
||||||
|
|
||||||
|
1. Iterować przez każdy znak sprawdzanego ciągu.
|
||||||
|
2. Mapować punkt kodowy do jego bloku Unicode.
|
||||||
|
3. Wzbudzić alert, jeśli obecnych jest więcej niż jeden skrypt **lub** jeśli nielatynowe skrypty pojawiają się tam, gdzie nie są oczekiwane (nazwa wyświetlana, domena, temat, URL itp.).
|
||||||
|
|
||||||
|
Python proof-of-concept:
|
||||||
|
```python
|
||||||
|
import unicodedata as ud
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
SUSPECT_FIELDS = {
|
||||||
|
"display_name": "Ηоmоgraph Illusion", # example data
|
||||||
|
"subject": "Finаnꮯiаl Տtatеmеnt",
|
||||||
|
"url": "https://xn--messageconnecton-2kb.blob.core.windows.net" # punycode
|
||||||
|
}
|
||||||
|
|
||||||
|
for field, value in SUSPECT_FIELDS.items():
|
||||||
|
blocks = defaultdict(int)
|
||||||
|
for ch in value:
|
||||||
|
if ch.isascii():
|
||||||
|
blocks['Latin'] += 1
|
||||||
|
else:
|
||||||
|
name = ud.name(ch, 'UNKNOWN')
|
||||||
|
block = name.split(' ')[0] # e.g., 'CYRILLIC'
|
||||||
|
blocks[block] += 1
|
||||||
|
if len(blocks) > 1:
|
||||||
|
print(f"[!] Mixed scripts in {field}: {dict(blocks)} -> {value}")
|
||||||
|
```
|
||||||
|
### 2. Normalizacja Punycode (Domeny)
|
||||||
|
|
||||||
|
Zinternationalizowane Nazwy Domen (IDN) są kodowane za pomocą **punycode** (`xn--`). Konwersja każdej nazwy hosta na punycode, a następnie z powrotem na Unicode, umożliwia porównanie z białą listą lub przeprowadzenie kontroli podobieństwa (np. odległość Levenshteina) **po** normalizacji ciągu.
|
||||||
|
```python
|
||||||
|
import idna
|
||||||
|
hostname = "Ρаypal.com" # Greek Rho + Cyrillic a
|
||||||
|
puny = idna.encode(hostname).decode()
|
||||||
|
print(puny) # xn--yl8hpyal.com
|
||||||
|
```
|
||||||
|
### 3. Słowniki / Algorytmy Homoglifów
|
||||||
|
|
||||||
|
Narzędzia takie jak **dnstwist** (`--homoglyph`) lub **urlcrazy** mogą enumerować wizualnie podobne permutacje domen i są przydatne do proaktywnego usuwania / monitorowania.
|
||||||
|
|
||||||
|
## Zapobieganie i Łagodzenie
|
||||||
|
|
||||||
|
* Wprowadź surowe polityki DMARC/DKIM/SPF – zapobiegaj podszywaniu się z nieautoryzowanych domen.
|
||||||
|
* Wdróż logikę detekcji powyżej w **Secure Email Gateways** i **SIEM/XSOAR** playbookach.
|
||||||
|
* Oznaczaj lub kwarantannuj wiadomości, w których domena wyświetlanej nazwy ≠ domena nadawcy.
|
||||||
|
* Edukuj użytkowników: kopiuj-wklej podejrzany tekst do inspektora Unicode, najeżdżaj na linki, nigdy nie ufaj skracaczom URL.
|
||||||
|
|
||||||
|
## Przykłady z Życia Wziętego
|
||||||
|
|
||||||
|
* Wyświetlana nazwa: `Сonfidеntiаl Ꭲiꮯkеt` (cyrylica `С`, `е`, `а`; cherokee `Ꭲ`; mała litera łacińska `ꮯ`).
|
||||||
|
* Łańcuch domen: `bestseoservices.com` ➜ katalog miejskich `/templates` ➜ `kig.skyvaulyt.ru` ➜ fałszywe logowanie do Microsoftu na `mlcorsftpsswddprotcct.approaches.it.com` chronione przez niestandardowy OTP CAPTCHA.
|
||||||
|
* Podszywanie się pod Spotify: nadawca `Sρօtifւ` z linkiem ukrytym za `redirects.ca`.
|
||||||
|
|
||||||
|
Te przykłady pochodzą z badań Unit 42 (lipiec 2025) i ilustrują, jak nadużycie homoglifów jest łączone z przekierowaniem URL i omijaniem CAPTCHA w celu obejścia analizy automatycznej.
|
||||||
|
|
||||||
|
## Źródła
|
||||||
|
|
||||||
|
- [The Homograph Illusion: Not Everything Is As It Seems](https://unit42.paloaltonetworks.com/homograph-attacks/)
|
||||||
|
- [Unicode Character Database](https://home.unicode.org/)
|
||||||
|
- [dnstwist – domain permutation engine](https://github.com/elceef/dnstwist)
|
||||||
|
|
||||||
|
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user