Главная

Tuesday, 23 November 2021

Практические кейсы с Volatility.

Всем привет.

Анализ памяти ОС актуален в ситуации, когда есть или был физичес­кий дос­туп к компьютеру и была возможность снять дамп опе­ратив­ной памяти. По слепку оперативной памяти мож­но опре­делить, какие при­ложе­ния запус­кались во вре­мя работы компьютера, дан­ные про­цес­сов и получить другую полезную информацию. Все это можно сделать пока пользователь не вык­лючил или не перезаг­рузил компь­ютер. Suspend состояние ОС идеально для этого подходит.

Как правило, для ана­лиза оперативной памяти используют нес­коль­ко при­ложе­ний: Volatility, Memoryze и Autopsy. Autopsy конечно же удобный инструмент, который может одним нажатием кнопки сделать комплексный анализ всего дампа. Но, если речь идет о кейсах когда вы ограничены о времени, тогда важна скорость получения результатов, т.е. лучше использовать, что-то другое консольное. Поэтому сегодня я для анализа дампа оперативной памяти буду исполь­зовать Volatility.

Для своих тестов я взял три дампа Windows:

1) ch2.dmp, Win7SP0x86 получен здесь.

2) memdump.mem, WinXPSP3x86 получен самостоятельно.

3) challenge.vmem, Win10x64_18362 получен здесь.

Сразу оговорюсь что с третьим кейсом у меня получился фейл. Традиционный запрос на определение профиля дампа:

volatility_2.6_win64_standalone.exe -f challenge.vmem imageinfo

мне ничего не выдал. Даже подстановка вручную профиля Win10x64 к успеху не привела. Так что далее я работал только с первыми двумя дампами.

Case 1.

Получение имени компьютера, с моей точки зрения, не является чем-то важным, поэтому это присходит буквально за два шага извлечением значения ключа реестра из ControlSet001\Control\ComputerName\ActiveComputerName:

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 hivelist

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 hivedump -o 0x8b21c008 > hi_dump.txt

findstr "ComputerName" hi_dump.txt

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 printkey -K "ControlSet001\Control\ComputerName\ActiveComputerName"

В качестве бонуса к заданию я попытался реконструировать снимок последнего desktop-a.

volatility_2.6_win64_standalone.exe -f ch2.dmp --profile=Win7SP0x86 screenshot -D F:\Case\Dump

Однако сборка версии 2.6 заточена на библиотеку PIL, где и я получил ошибку "Please Install PIL". PIL уже давно именуется как Pillow, что требует перекомпиляцию всего кода volatility, поэтому более быстрым решением стало использование версии volatility 2.4:

volatility-2.4.standalone.exe -f ch2.dmp --profile=Win7SP0x86 screenshot --dump-dir=/


Wednesday, 17 November 2021

Уникальный плагин для Teams.

Всем привет.

Cегодня утром при запуске всеми обожаемого Teams-а выплыло предложение установить плагин Helper v1.0. Не вдаваясь в детали Алекс согласился. После установки плагина Teams попросил перезапуск, вслед за ним на перезапуск попросилась и сама Windows.

После нового старта Teams-а Helper провел анализ времени продуктивной работы за неделю и запланированных собраний. И выдал напоминание на экран что Алексу буквально вчера рекомендовали изменить фон видеочата. Да, участвовать в митингах из дому удобно, но эта стена в его комнате... Алекс по привычке потянулся оформлять заявку на сервис-деск...

- Я могу сделать это прямо сейчас. - выскочило в новом окне.

- Вот как? А ну-ка покажи варианты. - отстучал Алекс в ответ.

Фон позади Алекса изменился на светлый офис с видом на деловой квартал города.

- А еще?

Фон позади начал меняться с частотой в одну секунду... 

- О, вот эти пальмы, прибой, океан,...то что надо. - поспешил заметил Алекс.

- Нет, не пойдет, - вежливо заметил Helper.

- Как это "не пойдет"? - возмутился Алекс.

- Смотри сам - невозмутимо заметил Helper.

При этом изображение Алекса за пару секунд растворилось до слабовидимых контуров на экране.

- Это еще что за глюк?

- Мои алгоритмы анализа совместимости говорят мне что ты являешься лишним на таком фоне. - также невозмутимо продолжил Helper.

- Ты ваще офигел? Алгоритмы видите ли?! Это я то лишний? - Алекс не находил себе места.

- Алекс, а зачем тебе другой фон? - продолжил Helper.

- Что? Фон?! Ты видишь что у меня за спиной? - Алекс был вне себя.

- Ну не то чтобы очень, но этот ковер из прошлого века на стене наводит грусть даже на меня. Ты что-то там прячешь? - спросил Helper.

- Не твое дело. У меня совещание завтра. Говорят что в Teams можно поменять фон на время митинга. Это что - проблема?

- Вовсе нет. А ты не пробовал поменять сам ковер или, на худой конец, повернуть камеру? - спросил Helper.

- Меня все устраивает и так! - отрезал Алекс.

- Как интересно, все устраивает, кроме фона для завтрашнего митинга...! - Helper взял паузу.

- Ок, я попробую что-нибудь сделать до завтра, не выключай свой ПК пока. - и плагин умолк.

К 8-ми утра Алекс приготовил себе кофе, и привычным кликом активировал утренний митинг. На экране он увидел себя, а позади солнце, пальмы, прибой океана,...то что надо. Плагин работает! Пальмы на экране раскачивались при дуновении ветра, волны нехотя накатывались на белый песок.

- Класс, даже анимацию всунули. - заметил улыбаясь Алекс.

Митинг закончился быстро. Кто-то даже пошутил про новый фон Алекса. "Зато не ковер!" - отметил он про себя. По окончании митинга выплыло сообщение оценить качество связи, в котором Алекс поставил твердую пять. Затем выплыл еще один запрос - желает ли Алекс использовать новую версию фона по умолчанию. Он, не задумываясь, ответил "Yes". Алекс услышал крики чаек, чуть помедлив сбросил туфли и с наслаждением погрузил свои ноги в белый песок. Он почувствовал как океан осторожно коснулся его ног... тропическое солнце становилось все ярче...

Плагин работал на полную.

Tuesday, 16 November 2021

Подписываем PowerShell скрипт с помощью сертификата.


Всем привет.

Наличие цифровой подписи у скрипта или исполняемого файла позволяет пользователю удостовериться, что файл является оригинальным и его код не был изменен третьими лицами. В современных версиях PowerShell есть встроенные средства для подписывания кода файла скриптов *.ps1 с помощью цифровых сертификатов.

Для подписывания скриптов PowerShell нужно использовать специальный сертификат типа Code Signing. Этот сертификат может быть получен от внешнего коммерческого центра сертификации, внутреннего корпоративного Certificate Authority (CA) или можно даже самоподписанный сертификат.

Шаг 1 - сертификат.

В первую очередь нам нужно получить сертификат типа CodeSign из локального хранилища сертификатов текущего пользователя. Сначала выведем список всех сертификатов, которые можно использовать для подписывания кода:

Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert

Возьмем первый сертификат и сохраним его в переменную $cert.

$cert = (Get-ChildItem cert:\CurrentUser\my –CodeSigningCert)[0]

Затем можно использовать данный сертификат, чтобы подписать файл PS1 с вашим скриптом PowerShell:

Set-AuthenticodeSignature MyTest.ps1 -Certificate $cert

Или

Set-AuthenticodeSignature -Certificate $cert -FilePath MyTest.ps1

Теперь можно проверить, что скрипт подписан. Можно использовать командлет Get-AuthenticodeSignature  или открыть свойства PS1 файла и перейдти на вкладку Digital Signatures: Get-AuthenticodeSignature MyTest.ps1 | ft -AutoSize

Если при выполнении команды Set-AuthenticodeSignature появится предупреждение  UnknownError, значит наш сертификат недоверенный, т.к. находится в персональном хранилище сертификатов пользователя. Нужно переместить его в корневые сертификаты:

Move-Item -Path $cert.PSPath -Destination "Cert:\LocalMachine\Root"

Хотя наш сертификат теперь из доверенного Центра Сертификации, но он не от доверенного издателя. Поэтому следует его также скопировать в раздел Trusted Publishers с помощью обычной операции Copy-Paste в консоли Certificates.

Saturday, 13 November 2021

REST API и PowerShell.

Всем привет.

Теперь, когда вы знаете, как работать с данными JSON, давайте сделаем нечто более интересное: мы воспользуемся PowerShell для запроса REST API и анализа полученных результатов. Вы можете использовать практически любой REST API, но для некоторых требуется  аутентификация, поэтому будем использовать тот, который ее не требует. Используем сервис postcodes.io как вариант REST API, который позволяет вам запрашивать почтовые индексы стран по различным критериям.

Мы будем использовать URI api.postcodes.io/random/postcodes. Когда вы обращаетесь к этому URI, он запрашивает службу API postcodes.io и возвращает случайный почтовый индекс в форме JSON. Чтобы запросить этот URI, мы будем использовать PowerShell-командлет Invoke-WebRequest:

PS> $result = Invoke-WebRequest -Uri 'http://api.postcodes.io/random/postcodes'

PS> $result.Content


{"status":200,"result":{"postcode":"IP12

2FE","quality":1,"eastings":641878,"northings":250383,"country

:"England","nhs_ha":"East of England","longitude":

1.53013518866685,"latitude":52.0988661618569,"european_elector

al_region":"Eastern","primary_care_trust":"Suffolk","region":"

East of England","lsoa":"Suffo

lk Coastal 007C","msoa":"Suffolk Coastal

007","incode":"2FE","outcode":"IP12","parliamentary_constituen

cy":"Suffolk Coastal","admin_district":"Suffolk Coa

stal","parish":"Orford","admin_county":"Suffolk","admin_ward":

"Orford & Eyke","ccg":"NHS Ipswich and East

Suffolk","nuts":"Suffolk","codes":{"admin_distri

ct":"E07000205","admin_county":"E10000029","admin_ward":"E0501

449","parish":"E04009440","parliamentary_constituency":"E14000

81","ccg":"E38000086","nuts"

:"UKH14"}}}

Friday, 12 November 2021

JSON и Powershell.


Всем привет. 

Если вы работали в ИТ-сфере в течение последних пяти лет, вы, вероятно, сталкивались с объектами JSON. JavaScript Object Notation (JSON), созданный в начале 2000-х годов, представляет собой машиночитаемый, но при этом понятный человеку язык иерархической организации наборов данных. Как следует из названия, такое представление данных активно использовалось в приложениях JavaScript, а следовательно, и в веб-разработке. Недавний всплеск числа онлайн-сервисов, пользующихся REST API (это технология, которую используют для передачи данных между клиентом и сервером), привел к параллельному всплеску использования JSON. Если вы что-то делаете в интернете, вам пригодится навык работы с файлами JSON, которыми можно легко управлять в PowerShell.

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

Следующий пример показывает JSON-представление объекта, описывающего человека. В объекте есть строковые поля имени и фамилии, объект, описывающий адрес, и массив, содержащий список телефонов.

{

   "firstName": "Иван",

   "lastName": "Иванов",

   "address": {

       "streetAddress": "Московское ш., 101, кв.101",

       "city": "Петербург",

       "postalCode": 101101

   },

   "phoneNumbers": [

       "812 123-1234",

       "916 123-4567"

   ]

}

Для работы с JSON-объектами в Powershell начиная с версии 3.0 предусмотрены специальные командлеты:

PS C:\> Get-Command '*json'

CommandType    Name                              ModuleName

-----------    ----                              ----------

Cmdlet         ConvertFrom-Json                  Microsoft.PowerShell.Utility

Cmdlet         ConvertTo-Json                    Microsoft.PowerShell.Utility

Wednesday, 10 November 2021

Pixel Maker - все возможно!

Всем привет.

Известная компания The Mountain более 40 лет выпускает футболки с рисунком.

В 1996 году The Mountain начинают сотрудничать с профессиональными художниками и становятся единственными в мире, кто выпускает футболки с потрясающими и уникальными рисунками, которые являются произведением искусства класса "artwear". Футболка с романтическими рисунками, футболка в готическом стиле - все это работы Энн Стокс, благодаря которой была создана коллекция невероятных футболок в стиле Fantasy. Для любителей дикой природы, Антониа Нешью более 20 лет создает реалистичные дизайны диких животных, в попытке показать удивительный, скрытый от наших глаз мир красоты и необычайности дикой природы. Она знаменита своей коллекцией футболок Three Wolf Moon - феномен, произведший сенсацию во всем мире.

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

Однако я нашел для вас выход! Вот онлайн площадка Pixel Maker где все возможно!


Здесь доступна как флекс-печать так и прямая печать которую можно заказать на футболке любого размера и цвета.  А можно на кепке, худи, сумке и даже на анти-ковидной маске! Это ваш шанс заявить про себя без лишних слов!

Налетай!🤩 

iLO 5 и удаленное управление.

Всем привет.

Сегодня глянем одни глазком на iLO 5 на базе сервера HPE Proliant Gen10. Собственно массивный обзор с большим количеством скриншотов находится здесь.  Лично у меня была задача выяснить все способы удаленного управления iLO. Integrated Lights-Out (iLO) - механизм управления серверами в условиях отсутствия физического доступа к ним. Этакая проприетарная ОС на борту, которая применяется фирмой Hewlett Packard почти для всех своих серверов.

Первым мне поддержка НР указала на утилиту Directories Support for ProLiant Management Processors.

# Directories Support for ProLiant Management Processors: DirSupport.exe

Собственно с ее помощью можно легко выяснить активные iLO в вашей сети. Разумеется нужна учетка админа iLO. Поэтому желательно чтобы она была одинакова на всех ваших iLO.

Можно также выполнить следующее:

1.Find management processors on the network.

2.Upgrade their firmware to versions that support directories.

3.Give them names that will be used to identify them in the directory.

4.Create objects in the directory corresponding to each management processor and associate them to a role.

5.Configure the management processors to allow them to communicate with the directory.

6.Configure management processors for Kerberos based authentication.

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

# HP Lights-Out Configuration Utility: HP ILO Remote Console.exe

Исполняемый файл после инсталяции hpqlocfg.exe

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

hpqlocfg -f Factory_Defaults.xml -s 192.168.0.10 -t user=administrator,password=mypass

Вот содержимое файла Factory_defaults.xml:

<RIBCL VERSION="2.0">

   <LOGIN USER_LOGIN="adminname" PASSWORD="password">

      <RIB_INFO MODE="write">

         <FACTORY_DEFAULTS/>

      </RIB_INFO>

   </LOGIN>

</RIBCL>

Tuesday, 9 November 2021

Про PowerShell Empire Framework.

Всем привет.

Наша жизнь невозможна без фреймворков. Фреймворки помогают создавать код, помагают выполнять код, и помогают код исследовать. Сегодня говорим про иcследование кода.

Мы любим PowerShell, но когда на нем еще и создан фреймворк, то мы любим его вдвойне. PowerShell Empire Framework - это фреймворк для пост эксплуатации windows(и не только!) систем, написанный полностью на PowerShell (серверная часть на Python, а клиентская на PowerShell, поэтому легко поднять серверную часть на том же Kali Linux, что я и сделал) который имеет в себе огромный функционал. Как вы заметили что помимо того, что он используется для постэксплуатации (повышение привилегий и закрепленния в системе) он активно используется и для активного фишинга, обхода антивируса и эксплуатации уязвимостей и одна из главных фишок - отлично используется для атак на AD (PowerView). 

Тут и далее я бы начал рассказывать вам про инсталяцию PowerShell Empire Framework, про листенеры, стейджеры и агенты, про огромный список модулей постэксплуатации на все случаи жизни, про все то что красиво описано во многих других местах сети, но... не буду. Смотрите сюда, и повторяйте шаг за шагом. Если вам это интересно. Алгоритм работы очень похож на работу с Metasploit в том же Kali Linux. Кто из них лучше? По моему оба хороши.

По своему первому тесту PowerShell Empire Framework могу сказать что код агента по умолчанию направлен на разовое исполнение с последующим удалением себя на жертве как файла. Полезная нагрузка агента (payload) обфусфицирована в base64.

Пример:

#2>NUL & @CLS & PUSHD "%~dp0" 

& "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -nol -nop -ep bypass "[IO.File]::ReadAllText('%~f0')|iex" 

& DEL "%~f0" & POPD /B powershell -noP -sta -w 1 -enc ..., тут далее следует код нагрузки.

На что следует обратить внимание - генерируемый код stagers в виде файла Powershell Empire теперь ложит в папку kali\Empire\empire\client\generated-stagers или в зависиммости от места самой инсталяции Powershell Empire в /usr/share/powershell-empire/empire/client/generated-stagers.


При этом Empire все равно что мы там указали предварительно в параметр Outfile.

Также полезно помнить что Powershell Empire вывод агента пишет в журнал который можно найти здесь:

kali\Empire\empire\server\downloads\<AgentName>\agent.log

Для каждого агента своя папка. Вот для моего агента ABX2G8DY была такая:

kali\Empire\empire\server\downloads\ABX2G8DY\agent.log

Wednesday, 3 November 2021

Чистим Windows 10 вручную.


Всем привет.

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

C:\Windows\Temp\

C:\Users\%UserName%\AppData\Local\Temp

C:\Users\%UserName%\AppData\Local\Microsoft\Windows\Temporary Internet Files

Для этого мы можем создать простой bat-скрипт, который удаляет из временных каталогов все файлы старше "Days" дней (пример на 14): 

SET Days = "-14"

SET Path1Del="C:\Windows\Temp\"

SET Path2Del="C:\Users\%UserName%\AppData\Local\Microsoft\Windows\Temporary Internet Files"

forfiles.exe /p %temp% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

forfiles.exe /p %Path1Del% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

forfiles.exe /p %Path2Del% /s /m *.* /d %Days% /c "cmd /c del /q /f @file"

Разумеется запускать этот bat-файл нужно с правами Администратора. А еще лучше его зарядить в шедулер раз в месяц.

Если мы любим использовать PowerShell, то пишем такой скрипт для автоматического удаления файлов старше "Days" дней из всех временных папок:

# Традиционная времянка

$Path = "C:\Windows\Temp"

$Days = "-14"

$CurrentDate = Get-Date

$OldDate = $CurrentDate.AddDays($Days)

Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

# Пользовательская времянка ТЕМР

$Path = $env:TEMP

  if($Path -ne $null){

  Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

  }

# Пользовательская времянка ТМР

$Path = $env:TMP

  if($Path -ne $null){

  Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

  }

# Времянка серфинга по интернет в Internet Explorer

$Urname = $env:Username

$Path = 'C:\Users\' + $Urname + '\AppData\Local\Microsoft\Windows\Temporary Internet Files'

Get-ChildItem $Path -Recurse | Where-Object { $_.LastWriteTime -lt $OldDate } | Remove-Item -force

Как чистить кеши других web-браузеров описано здесь.
Успехов. 

Tuesday, 2 November 2021

Эффект полного присутствия.

Всем привет.

Для вас очередная почемучка с утра. Карантиним уверенно!

Уже какое утро рабочего дня 2021-го начиналось, как обычно, с летучки в Teams. Часть участников оперативно активировала сеанс, предусмотрительно выключив свою камеру и микрофон, и сами продолжали заниматься своими домашними делами стараясь изо всех сил проснуться окончательно. Алекс пропускал свой утренний кофе, так как ему для этого всегда хватало наставлений от шефа. Он, по привычке, хотел было начать и быстро закончить беглым отчетом, но сегодня шеф начал первым...

- Всем добрый день. Пожалуй начнем нашу летучку. Что там  у нас на повестке дня?... Ах да, минутку, Алекс, как прошла вчерашнее собрание коллектива? Гости остались всем довольны? Видеосвязь не подвела? Запись не прерывалалсь?

- Шеф, все отлично. Запись готова, можем ее разослать по списку. Или глянете сами перед тем как... - робко спросил Алекс.

- Конечо гляну. А было что-то интересное?

- Да все как обычно: планы, свершения, мы работает над этим, вы исправляете и докладываете, нам было хорошо, а будет еще лучше,  и бла-бла-бла. Ну я же говорю, ничего не обычного как для нас.

- Хм, ок, меня не спрашивали?

- Хм, пожалуй нет. Да и зачем, если ...? Т.е.мы постарались включить эффект вашего присутствия по максимуму. - Алекс никак не мог подобрать нужные слова, так как еще сам пребывал под впечатлением от произведенного вчера эффекта.

- Эффект присутствия? Знаешь Алекс, мне эти ваши жаргончики уже поднадоели. - как обычно пробурчал шеф.

- Как скажете шеф. Но ведь вы были на собрании, и все прошло на ура.

- Разумеется был, я висел в этом вашем Teams-е все собрание с признаком "В сети" и все слышал. Отвечать не мог потому что я был занят с этой..., как ее, проблемной лицензией.

- Конечно, ну а после вам дали слово... - Алекс почти решился на попытку поставить шефа в известность.

- Слово мне?!  Алекс, ты ничего не путаешь? Вы что, черти, вывели меня на экран проектора?!! Хех, хорошо что я хоть бекграунд сеанса поменял вовремя. Но,... стоп, я не помню чтобы что-то вчера говорил на публику в Teams.

- Какой Teams, шеф? Вы вчера говорили  с трибуны! И причем довольно убедительно. Мы были в восторге, а гости местами были ошарашены вашей лаконичностью и выразительностью мыслей. Мы уже раз пять пересматриваем ваш спич. Шеф, ах если бы вас толкнуть в youtube, вам лайки навалили бы...

Monday, 1 November 2021

Клонирование физического хоста в Hyper-V.


Всем привет.

Вчера задача была такова что мне понадобилось создать клон одного физического хоста и перенести его на платформу Hyper-V. Из всех конвертеров для Hyper-V самым удобным для этой операции мне представился Disk2VHD. Он создан инженерами Microsoft, имеет малый размер, запускается без инсталяции. 

Перед операцией клонирования рекомендую тщательно почистить сам хост: корзина, кеши, сессии пользователей.

Далее запускаем Disk2VHD на нашем целевом хосте. Как показано на рисунке интерфейс программы очень простой. 


Чтобы создать диск VHDX, ставим флажок Use Vhdx. VHDX - это формат диска, появившийся в Windows Server 2012. По сравнению с традиционным VHD, в VHDX был внесен ряд изменений: появился специальный внутренний журнал, снижающий вероятность повреждения данных, увеличилась емкость (до 64 ТБ), добавлены некоторые другие функции.

Также выбираем Use Volume Shadow Copy если вы хотим получить копию диска, согласованную на уровне транзакций, а не сбоев. Выбираем место, где будет находиться файл VHDX (если оно будет расположено на том же диске, возможно «поглощение», поэтому для хранения образа лучше использовать другой жесткий диск). Выбираем любой диск/том, который нужно виртуализовать. Если вы хотите сделать этот диск загрузочным, необходимо включить туда системный диск и область загрузки (поставьте флажок System Reserved (Зарезервировано системой)). Нажимаем Create (Создать), чтобы начать преобразование.

Чтобы использовать созданный VHDX-диск, необходимо создать новую ВМ Hyper-V.  Запустите мастер (New → Virtual Machine) в менеджере Hyper-V и настройте ее в соответствии со своими требованиями. Дойдя до шага Connect Virtual Hard Disk (Подключение виртуального жесткого диска), необходимо настроить полученный виртуальный диск. Найдите уже созданный диск, сошлитесь на него, и выполните оставшиеся действия с помощью мастера.

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

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

Решение было следующее - отключаем у клона сеть, и выводим его из домена. Следом даем ему другое имя, включаем сеть и вводим в домен. Вуаля! Близняшки работают вместе.

Удачи.