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

Статья Идентификация железа

Benihowy

(L1) cache
Пользователь
Регистрация
30.01.2019
Сообщения
815
Реакции
428
Мало кого можно удивить сбором информации о железе тем или иным приложением. Но конкретно, какая информация может быть доступна мало кто знает. Найти все идентификаторы нашего железа можно различными способами, для любителей консолей есть варианты через poweshell. Я сторонник графического интерфейса, поэтому для этих целей необходимо воспользоваться сторонним софтом. Возьмём, например, CIM Explorer

1.png


Теперь рассмотрим некоторые идентификаторы железа с помощью этой программы. Информация хранится во вкладке CIMV2. Чтобы узнать идентификатор нужно по классу нажать ctrl+q и внизу в окошке Output будет результат. Итак, приступим
CIM_Display

2.png


CIM_OperatingSystem

3.png


Win32_BIOS

4.png


Win32_OperatingSystem

5.png


Win32_ComputerSystemProduct

6.png


Так как это виртуальная машина, то не все значения видны, на реальном железе не будет такого недостатка. Нужно понимать, каждое устройство начиная от материнской платы и заканчивая мышью имеет свой уникальный идентификатор и перечислять их все составит 10 страниц. Имея доступ к этой информации можно на 100% узнать всю историю серфинга любого пользователя. Впн, тор и прочие анонимайзеры будут просто бесполезны, если браузер захочет узнать, например, серийный номер биоса и будет привязан к нему. Такого быть не может? Зачем браузеру такая информация? Это очень хороший вопрос, ответа на него к сожалению, еще нету. Но запрос информации про биос есть. Нам понадобится некий софт, который отлавливает WMI запросы – wmimon. Качаем, например, с гитхаба. Запускаем через консоль wmimon.exe и ждем. Возьмем самый популярный браузер Google Chrome

7.png


При запуске браузер требует информацию Manufacturer и Model с раздела Win32_ComputerSystem. А что это? А это материнская плата, вендор и модель. Далее ему нужен серийный номер БИОСа (Serial Number from Win32_BIOS). Наверное, это очень важная информация, без которой браузер не сможет работать. А может эта информация используется несколько для иных целей – идентификации.
Всем известен Chrome своими сборами данных, и тут ничего удивительно. Возьмем браузер Firefox

8.png


Здесь разработчики не стали долго думать и запросили полностью всю информацию с Win32_BIOS и Win32_PhysicalMemoryArray. Вот это стало неожиданным.
А как насчет tor браузера? Ведь его называют анонимным и т.д.

9.png


Увы, но он основан на Firefox, поэтому тоже запрашивает информацию.
Посмотрим, что делает Opera

10.png


Тут целый букет. Материнская плата, процессор, ОС
Возьмем браузер Sphere

11.png


Ииии, тут пусто, даже в течении суток не было не одного запроса. Выходит, что браузерам Chrome и Firefox не обязательна та информация, которую они запрашивают.
Немного отвлеклись информацией о браузерах и вернемся к теме статьи. Так как эти идентификаторы находятся в «открытом доступе» ОС, поэтому любой софт спокойно сможет запросить информацию и сделать привязку к железу. Тогда пропадает понятие анонимности в целом, ведь совокупность идентификаторов дает точное представление о истории пользователя, не зависимо от браузера или мессенджера. И что нам дает виртуальная машина? Подмену идентификаторов, ведь виртуальное железо будет иметь отличие от реального. Также нужно понимать, что все идентификаторы виртуальной машины все равно будут неизменны. И при запуске приложение может жестко привязаться к виртуальному железу. Чтобы этого не происходило нужно прибегать к некой хитрости, которая сможет аннулировать почти все идентификаторы и заполнить их новыми значениями. Ничего скачивать не нужно, в Windows утилита эта уже есть. И находится она по адресу C:\Windows\System32\Sysprep\sysprep.exe. запуская ее ставим галочку generalize и ждем окончания. После перезагрузки появится окно установки Windows

12.png


В котором указываем имя компьютера, имя пользователя и ждем завершения настройки параметров. Теперь посмотрим, что изменилось
CIM_Display

13.png


CIM_OperatingSystem

14.png


Win32_BIOS

15.png


Win32_OperatingSystem

16.png


Win32_ComputerSystemProduct

17.png


В итоге мы не изменили серийные номера, в том числе БИОС. Да, все идентификаторы всех устройств были обновлены. Но как же выйти из ситуации, если sysprep’а не хватает? Изнутри системы изменить их не получится, поэтому будем менять снаружи с помощью powershell.
Откроем консоль от имени администратора и впишем некий скрипт на создание новой машины
New-VM -name "111some name" -Generation 2 -MemoryStartupBytes 1024MB -VHDPath "D:\test powershell\test w8.vhdx" -SwitchName "VNC Network"
Полагаю, что тут все ясно, и некие значения подставляем свои. Это лишь пример скрипта, а powershell очень гибкий инструмент и способен полностью автоматизировать создание новой и удаление старой машины. Список команд для гипервизора docs.microsoft.com/en-us/powershell/module/hyper-v/. Нужно заготовить виртуальный диск с примененным sysprep’ом (в самом окне выбрать выключение, а не перезагрузку). Диск оставляем и не изменяем, и каждый раз копируем, затем монтируем к новой виртуальной машине. И процесс копирования можно и нужно автоматизировать.
Создадим новую виртуальную машину и проверим данные идентификаторы.
Win32_BIOS

18.png


Win32_ComputerSystemProduct

19.png


Наконец-то, они будут отличатся от прежних. Поэтому каждый раз нужно создавать новую виртуальную машину, доустанавливать Windows, потом установить сам браузер (остальной софт можно установить и настроить до sysprep’a).
 
Не подскажете такой же софт для лини?
Мониторить запросы к hwid
Предпочитаю только виндовс
 
Можно же блокировать доступ к идентификаторам. На винде помню Agnitum файрвол настраивал на полную, там он спрашивал о каждом доступе программ, разрешать или нет. На линуксе присутствует ручная настройка Apparmor, где тоже можно просмотреть и запретить действия.
 
Можно же блокировать доступ к идентификаторам. На винде помню Agnitum файрвол настраивал на полную, там он спрашивал о каждом доступе программ, разрешать или нет. На линуксе присутствует ручная настройка Apparmor, где тоже можно просмотреть и запретить действия.
Не фанат линукса, так что скажу за винду. Эта опция называется Антилик. Нельзя блокировать файерволом доступ к железу. Загрузку файлов, достук к ветки реестра, изменение памяти какого нить процеса можно.
 
Мало кого можно удивить сбором информации о железе тем или иным приложением. Но конкретно, какая информация может быть доступна мало кто знает. Найти все идентификаторы нашего железа можно различными способами, для любителей консолей есть варианты через poweshell. Я сторонник графического интерфейса, поэтому для этих целей необходимо воспользоваться сторонним софтом. Возьмём, например, CIM Explorer

Посмотреть вложение 22655

Теперь рассмотрим некоторые идентификаторы железа с помощью этой программы. Информация хранится во вкладке CIMV2. Чтобы узнать идентификатор нужно по классу нажать ctrl+q и внизу в окошке Output будет результат. Итак, приступим
CIM_Display

Посмотреть вложение 22656

CIM_OperatingSystem

Посмотреть вложение 22657

Win32_BIOS

Посмотреть вложение 22658

Win32_OperatingSystem

Посмотреть вложение 22659

Win32_ComputerSystemProduct

Посмотреть вложение 22660

Так как это виртуальная машина, то не все значения видны, на реальном железе не будет такого недостатка. Нужно понимать, каждое устройство начиная от материнской платы и заканчивая мышью имеет свой уникальный идентификатор и перечислять их все составит 10 страниц. Имея доступ к этой информации можно на 100% узнать всю историю серфинга любого пользователя. Впн, тор и прочие анонимайзеры будут просто бесполезны, если браузер захочет узнать, например, серийный номер биоса и будет привязан к нему. Такого быть не может? Зачем браузеру такая информация? Это очень хороший вопрос, ответа на него к сожалению, еще нету. Но запрос информации про биос есть. Нам понадобится некий софт, который отлавливает WMI запросы – wmimon. Качаем, например, с гитхаба. Запускаем через консоль wmimon.exe и ждем. Возьмем самый популярный браузер Google Chrome

Посмотреть вложение 22661

При запуске браузер требует информацию Manufacturer и Model с раздела Win32_ComputerSystem. А что это? А это материнская плата, вендор и модель. Далее ему нужен серийный номер БИОСа (Serial Number from Win32_BIOS). Наверное, это очень важная информация, без которой браузер не сможет работать. А может эта информация используется несколько для иных целей – идентификации.
Всем известен Chrome своими сборами данных, и тут ничего удивительно. Возьмем браузер Firefox

Посмотреть вложение 22662

Здесь разработчики не стали долго думать и запросили полностью всю информацию с Win32_BIOS и Win32_PhysicalMemoryArray. Вот это стало неожиданным.
А как насчет tor браузера? Ведь его называют анонимным и т.д.

Посмотреть вложение 22663

Увы, но он основан на Firefox, поэтому тоже запрашивает информацию.
Посмотрим, что делает Opera

Посмотреть вложение 22664

Тут целый букет. Материнская плата, процессор, ОС
Возьмем браузер Sphere

Посмотреть вложение 22665

Ииии, тут пусто, даже в течении суток не было не одного запроса. Выходит, что браузерам Chrome и Firefox не обязательна та информация, которую они запрашивают.
Немного отвлеклись информацией о браузерах и вернемся к теме статьи. Так как эти идентификаторы находятся в «открытом доступе» ОС, поэтому любой софт спокойно сможет запросить информацию и сделать привязку к железу. Тогда пропадает понятие анонимности в целом, ведь совокупность идентификаторов дает точное представление о истории пользователя, не зависимо от браузера или мессенджера. И что нам дает виртуальная машина? Подмену идентификаторов, ведь виртуальное железо будет иметь отличие от реального. Также нужно понимать, что все идентификаторы виртуальной машины все равно будут неизменны. И при запуске приложение может жестко привязаться к виртуальному железу. Чтобы этого не происходило нужно прибегать к некой хитрости, которая сможет аннулировать почти все идентификаторы и заполнить их новыми значениями. Ничего скачивать не нужно, в Windows утилита эта уже есть. И находится она по адресу C:\Windows\System32\Sysprep\sysprep.exe. запуская ее ставим галочку generalize и ждем окончания. После перезагрузки появится окно установки Windows

Посмотреть вложение 22666

В котором указываем имя компьютера, имя пользователя и ждем завершения настройки параметров. Теперь посмотрим, что изменилось
CIM_Display

Посмотреть вложение 22667

CIM_OperatingSystem

Посмотреть вложение 22668

Win32_BIOS

Посмотреть вложение 22669

Win32_OperatingSystem

Посмотреть вложение 22670

Win32_ComputerSystemProduct

Посмотреть вложение 22671

В итоге мы не изменили серийные номера, в том числе БИОС. Да, все идентификаторы всех устройств были обновлены. Но как же выйти из ситуации, если sysprep’а не хватает? Изнутри системы изменить их не получится, поэтому будем менять снаружи с помощью powershell.
Откроем консоль от имени администратора и впишем некий скрипт на создание новой машины
New-VM -name "111some name" -Generation 2 -MemoryStartupBytes 1024MB -VHDPath "D:\test powershell\test w8.vhdx" -SwitchName "VNC Network"
Полагаю, что тут все ясно, и некие значения подставляем свои. Это лишь пример скрипта, а powershell очень гибкий инструмент и способен полностью автоматизировать создание новой и удаление старой машины. Список команд для гипервизора docs.microsoft.com/en-us/powershell/module/hyper-v/. Нужно заготовить виртуальный диск с примененным sysprep’ом (в самом окне выбрать выключение, а не перезагрузку). Диск оставляем и не изменяем, и каждый раз копируем, затем монтируем к новой виртуальной машине. И процесс копирования можно и нужно автоматизировать.
Создадим новую виртуальную машину и проверим данные идентификаторы.
Win32_BIOS

Посмотреть вложение 22672

Win32_ComputerSystemProduct

Посмотреть вложение 22673

Наконец-то, они будут отличатся от прежних. Поэтому каждый раз нужно создавать новую виртуальную машину, доустанавливать Windows, потом установить сам браузер (остальной софт можно установить и настроить до sysprep’a).
Прочитал почти все ваши ветки созданые вы просто грааль для новичка и не только. Вопрос такой, на дворе 23 год ,появился ли способ как то проще сменить серийник биоса ?, а то я пока ненастолько въезжаю, спасибо.
 
Прочитал почти все ваши ветки созданые вы просто грааль для новичка и не только. Вопрос такой, на дворе 23 год ,появился ли способ как то проще сменить серийник биоса ?, а то я пока ненастолько въезжаю, спасибо.
В статье рассматривается смена серийников виртуальной машины, так как она и выходит в интернет, а само реально железо не имеет к нему доступа. Если вам все же нужно сменить серийник биоса на реальном железе - перепрошейте его.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Возможно не совсем по теме вопрос, но насколько реальна ситуация когда приложение в виртуалке "просачивается" к основной оси?
 
Возможно не совсем по теме вопрос, но насколько реальна ситуация когда приложение в виртуалке "просачивается" к основной оси?
Нужно порассуждать, какое-то приложение должно получить доступ из виртуалки на хостовую ОС. Возмем к примеру хайпер ви. После установки система создает изолированую область, в которых запускаются гостевые ОС. Сама основная ОС также начинает работать в другой изолированой области. И только из области основоной ОС можно получить доступ к аппарату сервера, а все остальные области изолированы от него и друг от друга. Слово "изолированный" выбрано не просто так. Если не используется сеть, то приложение просто не сможет выйти за рамки виртуальной машины.
 
Возможно не совсем по теме вопрос, но насколько реальна ситуация когда приложение в виртуалке "просачивается" к основной оси?
периодически всплывают такие уязвимости, погугли "guest to host vm escape", но я сильно сомневаюсь, что в какой-нибудь простой и/или дешёвый софт будут встраивать подобный эксплоит.
вот если крякнутую иду или кобальт ставишь, то там всё может быть :D
 
Аналогичным образом раньше платные читы на игры работали. При первом запуске собирает серийники/делает цифровой слепок оборудования, и при замене харда начинает ругаться.
 
периодически всплывают такие уязвимости, погугли "guest to host vm escape", но я сильно сомневаюсь, что в какой-нибудь простой и/или дешёвый софт будут встраивать подобный эксплоит.
вот если крякнутую иду или кобальт ставишь, то там всё может быть :D
Может ли такое чудо быть завернуто в готовые сборки систем по типу .ova? И как это может быть реализовано (в теории хотя-бы)?
В такие сборки гораздо резонее это засовывть
 
Может ли такое чудо быть завернуто в готовые сборки систем по типу .ova?
вряд ли - это слишком ценный эксплоит, чтобы распространять его массово и таким образом спалить.
И как это может быть реализовано (в теории хотя-бы)?
скорее всего это будет какой-нибудь кряк, для запуска которого автор просит отключить антивирус.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
скорее всего это будет какой-нибудь кряк, для запуска которого автор просит отключить антивирус.
обычно все проще - обновление vm guest additions ) В виртуалбоксе дырка именно там, в вмваре ищите сами.
 
Нажми «Win + X», чтобы найти Девайс Менеджер, и щелкни его. Щелкни правой кнопкой сетевой адаптер и выбери «Properties» > «Advanced». Выбери «Network Address/Locally Administered Address» и измени MAC-адрес. на другой.
 
как поменять все id железа на винде 10?
https://xss.pro/threads/97615/
https://xss.pro/threads/51786/
https://xss.pro/threads/65570/
https://xss.pro/threads/27236/
 


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