Что нового

Article [0] Muraena - Bypass 2FA

Vander 0

Vander

Команда форума
10.11.2019
444
987
Приветствую уважаемых участников и гостей форума Protey!​

В этом цикле публикаций мы поговорим о способе обхода двухфакторной аутентификации с помощью Muraena & Necrobrowser.

Всего я планирую три статьи:
  • Muraena – установка и настройка, DNS, SSL;
  • Necrobrowser – установка и настройка;
  • 2FA Bypass, Phishing Attack - практическое применение.
1.png

Для начала, немного теоретических знаний, я полагаю, многие из Вас знают, что такое 2FA, но без малого количества вводных данных статью нельзя будет считать полноценной.

Для начала, вспомним, как работает двухфакторная аутентификация:

2.jpg

Двухфакторная аутентификация считается «решением» для предотвращения фишинговых атак.

В действительности, только универсальный двухфакторный (U2F)* полезен после развертывания аппаратных ключей, в то время как остальные решения 2FA с треском проваливаются, включая SMS, Push, SoftwareAuthenticators, OTP и другие.

3.png
  • U2F (англ. Universal 2nd Factor) — открытый, бездрайверный протокол для двухфакторной аутентификации, основанный на вызов-ответной аутентификации, позволяющий интернет-пользователям использовать U2F устройство как второй фактор для аутентификации на большом количестве онлайн-сервисов.
Если нет проверки происхождения HTTP трафика и ключ 2FA отправляется через Интернет, фишинг может выполняться почти прозрачно посредством MiTM с использованием обратного прокси-сервера.

Кроме того, после сбора активных сессий пользователя их можно использовать с помощью различных докеризированных приложений включая браузеры, настроенные на отправку сообщений без заголовков. Такие экземпляры полезны не только для сохранения украденных сеансов, но также для очистки и извлечения данных из захваченных учетных записей, а также для выполнения любых действий от имени пользователя.

В дальнейшем, всё зависит от целей преследуемых злоумышленником, например:
  • Создание учетной записи GitHub путем добавления ключа SSH
  • Поиск учетных данных по веб-почте OWA
  • Анализ ошибок в WordPress и автоматизации RCE.
Целью этой статьи будет автоматизация обхода 2FA с помощью Muraena и Necrobrowser.

Такой подход сводит к минимуму сложность обработки полученных фишинг-данных в результате работы с 2FA, и сокращает время, необходимое для выполнения действий после фишинга, что позволяет исследователю сосредоточиться на анализе данных и планировании сценариев.

Muraena

Muraena - это прозрачный обратный прокси-сервер, предназначенный для автоматизации фишинговой и постфишинговой деятельности.

Инструмент повторно реализует идею использования настраиваемого обратного прокси-сервера для динамического взаимодействия с целевым источником, а не для обслуживания статических страниц.

Написанный на Go, Muraena не использует медленные регулярные выражения для выполнения магии подмены и встраивает сканер (Colly), который помогает заранее определить, какой ресурс следует проксировать.

Muraena делает минимум для поиска/замены источников в запросах/ответах.

Это означает, что для сложных сайтов может потребоваться дополнительный ручной анализ для настройки автоматически сгенерированного файла конфигурации JSON. Следовательно, не ожидайте, что обратный прокси будет работать прямо из коробки для всех случаев.

В папке config есть несколько примеров шаблонов, для сложных ресурсов, таких как GSuite, Dropbox, GitHub и других.

Установка

Для начала необходимо, по традиции, установить Go, т.к. в Kali Linux он отсутствует:
Код:
wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
12.png

Код:
tar -C /usr/local/ -xvf go1.13.5.linux-amd64.tar.gz
Добавляем переменную окружения и проверяем версию Go:

Код:
export PATH=$PATH:/usr/local/go/bin
go version
123.png

Muraena компилируется из исходников, получаем их:

Код:
go get github.com/muraenateam/muraena
cd $GOPATH/src/github.com/muraenateam/muraena
И компилируем инструмент:

Код:
make build
22.png

В случае успешной компиляции, появляется скрипт запуска muraena, в директории конфиг вы сможете найти шаблоны ресурсов для фишинга:

1231.png

В нашем случае, атака будет выглядеть примерно как на схеме ниже:

15.png

Следующим шагом на пути к успеху, будет получение бесплатных SSL сертификатов от Let’s Encrypt и настройка DNS.

16.jpg

Код:
apt install certbot
q1.png

Запрашиваем сертификат для своего домена и следуем дальнейшим инструкциям:

Код:
certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'maligncorp.com’
w1.png

В процессе, будет необходимо прописать TXT запись в панели управления доменом, чтобы подтвердить, что вы им владеете:

124.png

Добавляем запись:

1d.png

Если всё проделано правильно, то сертификат сохранится по указанному пути:

12d.png

DNS Config

Ваш DNS должен быть настроен с CNAME и A записью, указывающей на местоположение вашего прокси-сервера Muraena. Для меня это выглядит так:

1f.png

Вам нужно будет изменить конфигурационный файл для Muraena, редактируем его, как показано ниже. В этом примере мы будем использовать предварительно настроенный файл: config/google.com.json.

12da.png

Так же, добавим в директиву SSL полные пути к файлам сертификата:

1fs.png

Пробуем запустить Muraena, используя в качестве аргумента наш модифицированный файл:

Код:
./muraena --config config/google.com.json
4f.png

Как видим, инструмент успешно запустился, и даже начал проксировать какие-то пакеты.

Muraena - работает на 443 порту, как отдельный сетевой сервис.

g5.png

В следующей статье, настройка и работа с Necrobrowser.

Спасибо за внимание, материал подготовлен специально для форума protey.net
 
Vander 0

Vander

Команда форума
10.11.2019
444
987
А в чем отличие от Evilginx?
Из тех отличий, что сразу бросаются в глаза:
  • На Go реализован, нет возможности конфигурировать сам reverse proxy сервер.
  • Все упирается в файлы настроек шаблонов json.
Сейчас немного застрял с сертификатами, есть ошибки по сравнению с другими инструментами, тот же evilginx, как разберусь, допишу следующую статью.
 
whitehat 0

whitehat

New Member
09.11.2020
1
0
hi i followed your steps for configuring muraena but when i successfully proxy through it when i try to login to capture data it doesn't work

sorry for my bad russian language
 
Vander 0

Vander

Команда форума
10.11.2019
444
987
Hello! Perhaps you can describe in more detail the steps you have taken, and we can together try to sort out your problem.
 
Верх Низ