Phishing Methodology
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Розвідка жертви
Виберіть домен жертви.
Виконайте базову веб-інвентаризацію в пошуках порталів для входу, які використовує жертва, і вирішіть, який з них ви будете імітувати.
Використовуйте деякі OSINT для пошуку електронних адрес.
Підготуйте середовище
Купіть домен, який ви будете використовувати для фішингової оцінки.
Налаштуйте записи служби електронної пошти (SPF, DMARC, DKIM, rDNS).
Налаштуйте VPS з gophish.
Підготуйте кампанію
Підготуйте шаблон електронної пошти.
Підготуйте веб-сторінку для крадіжки облікових даних.
Запустіть кампанію!
Ключове слово: Доменне ім'я містить важливе ключове слово оригінального домену (наприклад, 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)
Автоматичні інструменти
Вебсайти
Існує можливість того, що один з бітів, що зберігаються або передаються, може автоматично змінитися через різні фактори, такі як сонячні спалахи, космічні промені або апаратні помилки.
Коли цей концепт застосовується до 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% безкоштовно)
Щоб виявити більше дійсних електронних адрес або перевірити ті, які ви вже виявили, ви можете перевірити, чи можете ви брутфорсити їх SMTP-сервери жертви. Дізнайтеся, як перевірити/виявити електронну адресу тут. Крім того, не забувайте, що якщо користувачі використовують будь-який веб-портал для доступу до своїх електронних листів, ви можете перевірити, чи він вразливий до брутфорсу імен користувачів, і експлуатувати вразливість, якщо це можливо.
Ви можете завантажити його з https://github.com/gophish/gophish/releases/tag/v0.11.0
Завантажте та розпакуйте його в /opt/gophish
і виконайте /opt/gophish/gophish
Вам буде надано пароль для адміністратора на порту 3333 виводу. Тому отримайте доступ до цього порту та використовуйте ці облікові дані, щоб змінити пароль адміністратора. Вам може знадобитися тунелювати цей порт на локальний:
Налаштування TLS сертифіката
Перед цим кроком ви повинні вже купити домен, який ви збираєтеся використовувати, і він повинен вказувати на IP VPS, де ви налаштовуєте gophish.
Налаштування пошти
Почніть установку: 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>
, що вказує на ip-адресу VPS, та DNS MX запис, що вказує на mail.<domain>
Тепер давайте протестуємо відправку електронного листа:
Конфігурація Gophish
Зупиніть виконання gophish і давайте налаштуємо його.
Змініть /opt/gophish/config.json
на наступне (зверніть увагу на використання https):
Налаштуйте сервіс gophish
Щоб створити сервіс gophish, щоб його можна було запускати автоматично та керувати ним як сервісом, ви можете створити файл /etc/init.d/gophish
з наступним вмістом:
Завершіть налаштування служби та перевірте її, виконавши:
Чим старіший домен, тим менше ймовірно, що його сприймуть як спам. Тому вам слід чекати якомога довше (принаймні 1 тиждень) перед оцінкою фішингу. Більше того, якщо ви створите сторінку про репутаційний сектор, отримана репутація буде кращою.
Зверніть увагу, що навіть якщо вам потрібно почекати тиждень, ви можете закінчити налаштування всього зараз.
Встановіть запис rDNS (PTR), який перетворює IP-адресу VPS на доменне ім'я.
Вам потрібно налаштувати запис SPF для нового домену. Якщо ви не знаєте, що таке запис SPF прочитайте цю сторінку.
Ви можете використовувати https://www.spfwizard.net/ для генерації вашої SPF політики (використовуйте IP-адресу машини VPS)
Це вміст, який потрібно встановити в TXT записі всередині домену:
Ви повинні налаштувати запис DMARC для нового домену. Якщо ви не знаєте, що таке запис DMARC прочитайте цю сторінку.
Вам потрібно створити новий DNS TXT запис, вказуючи ім'я хоста _dmarc.<domain>
з наступним вмістом:
Вам потрібно налаштувати DKIM для нового домену. Якщо ви не знаєте, що таке запис DMARC прочитайте цю сторінку.
Цей посібник оснований на: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
Вам потрібно об'єднати обидва значення B64, які генерує ключ DKIM:
Ви можете зробити це, використовуючи https://www.mail-tester.com/ Просто перейдіть на сторінку та надішліть електронний лист на адресу, яку вони вам нададуть:
Ви також можете перевірити вашу конфігурацію електронної пошти, надіславши електронний лист на check-auth@verifier.port25.com
та прочитавши відповідь (для цього вам потрібно буде відкрити порт 25 і побачити відповідь у файлі /var/mail/root, якщо ви надішлете електронний лист як root).
Перевірте, чи проходите ви всі тести:
Ви також можете надіслати повідомлення на Gmail під вашим контролем і перевірити заголовки електронної пошти у вашій поштовій скриньці Gmail, dkim=pass
має бути присутнім у полі заголовка Authentication-Results
.
Сторінка www.mail-tester.com може показати, чи ваш домен заблоковано Spamhouse. Ви можете запросити видалення вашого домену/IP за адресою: https://www.spamhaus.org/lookup/
Ви можете запросити видалення вашого домену/IP за адресою https://sender.office.com/.
Встановіть ім'я для ідентифікації профілю відправника
Вирішіть, з якого облікового запису ви будете надсилати фішингові електронні листи. Пропозиції: noreply, support, servicedesk, salesforce...
Ви можете залишити порожніми ім'я користувача та пароль, але обов'язково перевірте "Ігнорувати помилки сертифіката"
Рекомендується використовувати функцію "Надіслати тестовий електронний лист", щоб перевірити, чи все працює. Я б рекомендував надсилати тестові електронні листи на адреси 10min mails, щоб уникнути потрапляння до чорного списку під час тестування.
Встановіть ім'я для ідентифікації шаблону
Потім напишіть тему (нічого дивного, просто щось, що ви могли б очікувати прочитати в звичайному електронному листі)
Переконайтеся, що ви відмітили "Додати трекінгове зображення"
Напишіть шаблон електронного листа (ви можете використовувати змінні, як у наступному прикладі):
Зверніть увагу, що для підвищення достовірності електронного листа рекомендується використовувати підпис з електронного листа клієнта. Пропозиції:
Відправте електронний лист на неіснуючу адресу та перевірте, чи є у відповіді підпис.
Шукайте публічні електронні адреси такі як info@ex.com або press@ex.com або public@ex.com і надішліть їм електронний лист, а потім чекайте на відповідь.
Спробуйте зв'язатися з якою-небудь дійсною виявленою електронною адресою та чекайте на відповідь.
Шаблон електронного листа також дозволяє додавати файли для відправки. Якщо ви також хочете вкрасти NTLM виклики, використовуючи спеціально підготовлені файли/документи прочитайте цю сторінку.
Напишіть ім'я
Напишіть HTML код веб-сторінки. Зверніть увагу, що ви можете імпортувати веб-сторінки.
Відмітьте Захопити надіслані дані та Захопити паролі
Встановіть перенаправлення
Зазвичай вам потрібно буде змінити HTML код сторінки та провести деякі тести локально (можливо, використовуючи якийсь Apache сервер) доки вам не сподобаються результати. Потім напишіть цей HTML код у вікні. Зверніть увагу, що якщо вам потрібно використовувати деякі статичні ресурси для HTML (можливо, деякі CSS та JS сторінки), ви можете зберегти їх у /opt/gophish/static/endpoint і потім отримати до них доступ з /static/<filename>
Для перенаправлення ви можете перенаправити користувачів на легітимну основну веб-сторінку жертви або перенаправити їх на /static/migration.html, наприклад, поставити крутильне колесо (https://loading.io/) на 5 секунд, а потім вказати, що процес був успішним.
Встановіть ім'я
Імпортуйте дані (зверніть увагу, що для використання шаблону для прикладу вам потрібні ім'я, прізвище та електронна адреса кожного користувача)
Нарешті, створіть кампанію, вибравши ім'я, шаблон електронного листа, лендінг пейдж, URL, профіль відправлення та групу. Зверніть увагу, що URL буде посиланням, надісланим жертвам.
Зверніть увагу, що Профіль відправлення дозволяє надіслати тестовий електронний лист, щоб побачити, як виглядатиме фінальний фішинговий електронний лист:
Я б рекомендував надсилати тестові електронні листи на адреси 10min mails, щоб уникнути потрапляння в чорний список під час тестування.
Коли все готово, просто запустіть кампанію!
Якщо з якоїсь причини ви хочете клонувати веб-сайт, перегляньте наступну сторінку:
Clone a WebsiteУ деяких фішингових оцінках (в основному для Red Teams) ви також захочете надсилати файли, що містять якийсь вид бекдору (можливо, C2 або просто щось, що викликає аутентифікацію). Перегляньте наступну сторінку для деяких прикладів:
Phishing Files & DocumentsПопередня атака досить хитра, оскільки ви підробляєте реальний веб-сайт і збираєте інформацію, введену користувачем. На жаль, якщо користувач не ввів правильний пароль або якщо програма, яку ви підробили, налаштована з 2FA, ця інформація не дозволить вам видавати себе за обманутого користувача.
Ось де корисні інструменти, такі як evilginx2, CredSniper та muraena. Цей інструмент дозволить вам згенерувати атаку типу MitM. В основному, атака працює наступним чином:
Ви підробляєте форму входу реальної веб-сторінки.
Користувач надсилає свої облікові дані на вашу підроблену сторінку, а інструмент надсилає їх на реальну веб-сторінку, перевіряючи, чи працюють облікові дані.
Якщо обліковий запис налаштований з 2FA, сторінка MitM запитає про це, і як тільки користувач введе його, інструмент надішле його на реальну веб-сторінку.
Як тільки користувач аутентифікований, ви (як зловмисник) будете захопили облікові дані, 2FA, куки та будь-яку інформацію про кожну взаємодію, поки інструмент виконує MitM.
Що, якщо замість відправлення жертви на шкідливу сторінку з таким же виглядом, як оригінальна, ви відправите його на сесію VNC з браузером, підключеним до реальної веб-сторінки? Ви зможете бачити, що він робить, вкрасти пароль, використовувану MFA, куки... Ви можете зробити це за допомогою EvilnVNC
Очевидно, один з найкращих способів дізнатися, чи вас викрили, це шукати ваш домен у чорних списках. Якщо він з'являється в списку, ваш домен був виявлений як підозрілий. Один простий спосіб перевірити, чи ваш домен з'являється в будь-якому чорному списку, це використовувати https://malwareworld.com/
Однак є й інші способи дізнатися, чи жертва активно шукає підозрілу фішингову активність у мережі, як пояснено в:
Detecting PhishingВи можете придбати домен з дуже схожою назвою на домен жертви та/або згенерувати сертифікат для піддомену домену, контрольованого вами, який містить ключове слово домену жертви. Якщо жертва виконає будь-який вид DNS або HTTP взаємодії з ними, ви дізнаєтеся, що він активно шукає підозрілі домени, і вам потрібно буде бути дуже обережним.
Використовуйте Phishious , щоб оцінити, чи ваш електронний лист потрапить у папку спаму або буде заблокований чи успішним.
Вчіться та практикуйте Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)