Showing posts with label virtualbox. Show all posts
Showing posts with label virtualbox. Show all posts

Tuesday, 3 February 2026

Время современного ИТ-инженера #2.

Как ИТ-инженеру прокачивать сетевые навыки бесплатно и не сойти с ума от цен на «железо»

Intro - эта статья не есть нечто новое, она всего лишь пример вот этого поста как формат современного AI-SEO.


Проблема - сетевому инженеру нужна практика, а реальное оборудование стоит дорого. 

Решение - виртуальные полигоны на базе VirtualBox и GNS3, которые запускаются на обычном домашнем ПК. Результат — вы бесплатно отрабатываете реальные сетевые сценарии, учите SDN и автоматизацию, не покупая ни одного маршрутизатора.

Виртуальные полигоны для ИТ-инженеров

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

Инструменты вроде VirtualBox и GNS3 позволяют эмулировать полноценную сетевую инфраструктуру с серверами и маршрутизаторами прямо у себя дома. Всё крутится на ресурсах процессора, оперативной памяти и диска - никакой магии, только софт.

Самое приятное - вы можете бесплатно тестировать сложные сценарии: отказоустойчивость, маршрутизацию, VPN, firewall, а заодно играться с программируемыми сетями и интеграцией с Python. И всё это - до того, как вы вообще прикоснётесь к реальному «железу».

Что именно можно собрать в домашней лаборатории

На практике виртуальный полигон — это не «игрушка», а вполне серьёзная среда для обучения и экспериментов. Обычно я рекомендую начинать с простого, а дальше — как затянет.

  • Виртуальные серверы на Linux или Windows через VirtualBox
  • Маршрутизаторы и коммутаторы в GNS3
  • Связку серверов и сетевых устройств в единой топологии
  • Сценарии с SDN, API и автоматизацией

Если GNS3 вдруг покажется тесным, всегда есть EVE-NG. Это уже тяжёлая артиллерия, но для старта обычно хватает и GNS3.

Почему без Python сетевику дальше будет скучно

Современные сети постепенно перестают быть «ручными». Всё больше появляется концепций вроде SDN и «инфраструктуры как кода». И вот тут без Python уже никуда.

Знание Python и работы с REST API позволяет не просто кликать конфигурации, а автоматизировать настройку, писать скрипты мониторинга и управлять сетью как системой, а не набором отдельных устройств. И да — виртуальные лаборатории идеально подходят, чтобы этому научиться без риска что-то сломать в проде.

FAQ - коротко и по делу

Где практиковаться работе с сетями бесплатно?

Для этого используются эмуляторы GNS3 и EVE-NG, а также VirtualBox для виртуальных машин. Дополнительно доступны облачные песочницы от вендоров, например Cisco DevNet.

Какие требования к ПК для домашней сетевой лаборатории?

Ключевой ресурс — оперативная память. Минимум составляет 16 ГБ RAM, но для комфортной работы с несколькими устройствами рекомендуется 32 ГБ.

Зачем сетевому инженеру изучать Python?

Python используется для автоматизации и управления сетями через API. Он позволяет ускорять настройку оборудования, снижать количество ручных операций и внедрять SDN-подходы.

Tuesday, 12 November 2024

Детектим виртуалку #2.

Привіт, привіт.

Не так давно я намагався впевнетись що ВМ сховати від зловреда майже неможливо. Тому вирішив ще перевірити як з цим справи в HyperV. На поміч мені став ChatGPT, бо в мене не було часу самому рискати по мережі, але результат очікуваний - для експериментів а якості пісочниці HyperV точно не годиться. Дивіться результати далі.

Щоб визначити, чи машина є віртуальною, будь хто може скористатися командою PowerShell, яка перевіряє наявність ознак віртуалізації. Один з найпростіших способів - це скористатися `Get-WmiObject` або `Get-CimInstance` для отримання інформації про BIOS чи апаратне забезпечення. Якщо сервер є віртуальним, у властивостях часто можна побачити такі рядки, як "Microsoft Corporation" для Hyper-V або інші специфічні ознаки.


Ось приклади команд, які можна виконати в PowerShell:

1. Використання класу Win32_BIOS

(Get-WmiObject -Class Win32_BIOS).SerialNumber

Значення `SerialNumber` часто вказує на віртуальну платформу. Наприклад, для Hyper-V він може починатися з `Microsoft Corporation`.


2. Перевірка за допомогою класу Win32_ComputerSystem

(Get-WmiObject -Class Win32_ComputerSystem).Manufacturer

Для віртуальних машин на Hyper-V `Manufacturer` зазвичай повертає `Microsoft Corporation`.


3. Використання класу Win32_SystemEnclosure

(Get-CimInstance -ClassName Win32_SystemEnclosure).ChassisTypes

Ця команда виведе код типу шасі. Для віртуальних машин Hyper-V зазвичай повертається значення `3` (для віртуального шасі).

4. Перевірка через властивості Hyper-V специфічного класу

Get-VM | Where-Object { $_.Name -eq (hostname) }

Ця команда підійде, якщо є доступ до PowerShell команд Hyper-V на хості. Команда спробує знайти віртуальну машину з ім’ям, яке відповідає поточному хосту.

Friday, 11 October 2024

Детектим виртуалку.

Всем привет.

Известно что для исследования зловреда нужна песочница. В бюджетном варианте какая-нибудь виртуалка с Windows 7 на борту. 10-ку для этого не советуют ибо там кода который следит за вами, и за самим собой немеряно. Но хакеры ребята умные, и потому не леняться писать детекторы виртуального окружения в свой зловред тоже. Честно говоря,  я был удивлен когда мне предложили спрятать виртуалку простой правкой реестра, как на рисунке.

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

Как распознать виртуальную машину?

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

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

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

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

Что же касается общих признаков наличия виртуальной машины, предложенных в свое время госпожой Рутковской (характерное расположение таблиц IDT, GDT и LDT, а также время выполнения операций процессором), то в настоящий момент все эти признаки трудно поддаются анализу и приведению к какому-нибудь общему знаменателю, главным образом из-за многоядерности и многоликости современных процессоров.

Friday, 4 October 2024

Лаборатория с REMnux.

Всем привет.

Форензика (Forensics) - это компьютерная криминалистика, наука о расследовании киберпреступлений, то есть прикладная наука о раскрытии преступлений, связанных с компьютерной информацией. Неотъемлемой частью форензики является исследование цифровых доказательств, использование методов поиска, получения и закрепления данных доказательств.

Когда произошел инцидент, необходимо оперативно получить ответы на следующие вопросы:

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

Форензика делится на следующие направления:

  • computer forensics – к ней относится все, что связано с поиском артефактов взлома на локальной машине: анализ ram, hdd, реестра, журналов ОС и т. д.;
  • network forensics – анализ сетевого трафика;
  • forensic data analysis – посвящена анализу файлов, структур данных и бинарных последовательностей, оставшихся после атаки или использовавшихся при вторжении;
  • mobile device forensics – занимается всем, что касается особенностей извлечения данных из android и ios;
  • hardware forensic – экспертиза аппаратного обеспечения и технических устройств прошивки, bios и т. д.

В задачи исследователя входит анализ скомпрометированной машины на наличие доказательств компрометации (улик). То есть, по сути, нам важно понимать, как злоумышленник проник в систему, какие уязвимости он использовал, какие учетные записи были скомпрометированы и т. д.

Важно отметить, что доказательства должны быть сохранены в исходном виде, для того чтобы впоследствии эксперты со стороны защиты не смогли заявить, что эти доказательства были подделаны или изменены.

Экспертиза взломанного хоста состоит из Статического анализа и Динамического анализа.

Статический анализ

Задачи статического анализа:

  • создать образ жесткого диска или дампа оперативной памяти;
  • выявить и восстановить удаленные файлы;
  • остатки аномальных файлов в %temp% и системных директориях;
  • собрать историю серфинга веб-браузера;
  • системные логи события авторизации;
  • аудит доступа к файлам и директориям и т. д.;
  • получить список запущенных в памяти процессов и открытых коннектов сети.

Monday, 9 January 2023

MS HyperV and Oracle VirtualBox.


Hi all.

I know this problem is -  problem due to the fact of incompatibility between MS HyperV and Oracle VirtualBox on the one host. However, today I can propose for you 3 steps for resolving it with VirtualBox:

1) to get your VMs working, you will need to go into the VM settings, choose the System section, go into the Acceleration tab, and select "Hyper-V" as the Paravirtualization Interface. 

2) you may also have to disable the "Enable I/O APIC" checkbox on the Motherboard tab. 

3) if you found some guest OS crash with it checked, but if it works for you, then leave it as is. Then,  you need to add an obscure setting to the .vbox file associated with your VM image:

VBoxManage setextradata "<VM Name>" "VBoxInternal/NEM/UseRing0Runloop" 0

Good luck!

Friday, 9 December 2022

Время современного ИТ-инженера.

Всем привет.

Чем замечательно наше время для ИТ-инженера? Прежде всего тем что для своего профессионального развития ему стали доступны многие тестовые полигоны бесплатно. Собрать свою мини-сеть с сервером, станциями и даже маршрутизаторами можно на своем домашнем компьютере в VirtualBox или GNS3, главное чтобы ОЗУ было побольше. Благо что в дисковом пространстве недостатка уже нет. Вот мой список виртуального оборудования в VirtualBox:


Что недоступно как виртаульный образ (у вас нет подписки), то можно пошупать на сайте самого производителя оборудования. Например Cisco. Уверен, небольшая регистрация вас не затруднит.

Вы же знаете что многие производители сетевого оборудования все больше склоннны к программируемым сетям, поэтому программная начинка их железа все больше напоминает мне хорошо кастомизированный Linux. А поддержка REST API и Python из коробки идет как must have!

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

Успехов всем нам!

Friday, 4 November 2022

Старые сайты с Adobe Flash.

Всем привет.

Время от времени у меня есть необходоимость по просмотру старых web-сайтов где многое было сделано по технологии Adobe Flash. Сам когда-то их налепил с десяток. Разумеется сейчас никакой web-браузер ее не поддерживает.

Также не открываются web-сайты, например iLO 3, контент которых заточен на старые алгоритмы шифрования и тогда я имею ошибку типа ERR_SSL_VERSION_OR_CIPHER_MISMATCH. Здесь пока еще возможен выход с использованием Internet Explorer версии 11. Весьма временное решение ибо в Wndows 11 его уже нет, а предлагаемый режим совместимости в Edge иногда не спасает от пустого экрана.

Какой же выход? Да самый простой. Он подходит для решения обоих проблем - я создал виртуалный хост с Windows ХР и доставил туда браузер Chrome 15-й версии. Почему 15-я версия или ХР?


Критерий был следующим - и ОС и браузер не должны иметь официальных обновлений! И все, теперь я могу смело открыть то чем современные версии Chrome или Edge брезгуют.

Успехов!

Thursday, 20 October 2022

Конвертация vmdk в vdi-формат.

Всем привет.

Сегодня я покажу, как быстро сконвертировать файл виртуальной машины в формате VMWare (файл vmdk) в формат Oracle VirtualBox (vdi - VirtualBox Disk Image). Этот метод покажет вам как можно без лишних сложностей запустить виртуальную машину, созданную в среде VMWare на компьютере с установленным VirtualBox.

Но вначале небольшое отступление. Мне настоятельно рекоменадовали использовать для таких целей StarWind V2V Converter. 

StarWind V2V Converter is a free software for cloning and transforming VMs from one format to another, as well as converting physical machines into virtual ones. It is utilized when migration or Hypervisor Switch is required. Compared to the typical converters built into hypervisors, StarWind V2V Converter / P2V Migrator offers bi-directional conversion between all the major VM formats: VMDK, VHD/VHDX (Windows Repair Mode aware), QCOW2, and StarWind native IMG.

Хотя это инструмент бесплатен и не имеет в своем списке vdi-формата, тем не менее мне захотелось его попробовать на своих vmdk-файлах. А результат на первом же шаге был таков:


Как говорится "ну не смогла я". Поиск решения в сети чаще приводил к тому что перед конвертацией в vmdk-файле не должно быть контрольных точек (snapshot) и виртуальная машина должна быть выключена (shutdown). В соблюдении обоих требований я был уверен на 99%.

Не долго думая, я вернулся к Oracle VirtualBox. А здесь все оказалось намного проще -  берем наш vmdk файл виртуальной машины и запускаем на нем с правами Администратора встроенную утилиту VBoxManage с параметром clonehd для создания копии файла данных виртуальной машины с преобразованием его из формата VMDK в VDI:

"C:\Program Files\Oracle\VirtualBox\VBoxManage" clonehd --format VDI "E:\Virtual\WinXPZverCD\Windows XP Professional.vmdk" C:\VM\WinXPZverCD.vdi

Через пару минут имеем новый файл WinXPZverCD.vdi на котором в VirtualBox нужно создать новую виртуальную машину с подключенным к ней указанного vdi-диска.

Это все. Удачи!

Friday, 1 July 2022

Про Xplico.

Всем привет.

Есть такой парень Xplico - это инструмент анализа сетевой криминалистики (NFAT). Цель Xplico в извлечении из захваченного интернет трафика данных приложения протокола, и он может распознавать протоколы с помощью метода под названием Port Independent Protocol Identification (PIPI).

Например, из файла pcap Xplico извлекает каждый email (протоколы POP, IMAP и SMTP), всё содержимое HTTP, каждый звонок VoIP (SIP), FTP, TFTP и т. д. Xplico не является анализатором сетевого протокола.  Повторюсь, что Xplico - это криминалистический инструмент анализа сети.

Домашняя страница: http://www.xplico.org/. Автор: Gianluca Costa, Andre de Franceschi. Лицензия: GPLv2

Его особенности:

  • Поддерживаемые протоколы: HTTP, SIP, IMAP, POP, SMTP, TCP, UDP, IPv6;
  • Независимая идентификация портов протоколов (PIPI) для каждого протокола приложений:
  • Многопоточность;
  • Выводимые данные и информация в базе данных SQLite или базе данных database и/или файлах:
  • Все перекомпонованные в Xplico данные ассоциируются с файлом XML, который однозначно идентифицирует содержимое пересобранных данных потоков и pcap;
  • Проработка в реальном времени (зависит от количества потоков, типов протоколов и производительности компьютера — оперативной памяти, процессора, времени доступа к жёсткому диску и т. д.);
  • Сборка TCP с верификацией ACK для всех пакетов или программная ACK верификация
  • Обратный поиск DNS из содержащих DNS пакетов во входящих файлах (pcap), а не с внешнего DNS сервера;
  • Нет ограничения на размер входящих данных или на количество входящих файлов (ограничение только по размеру жёсткого диска);
  • Поддержка IPv4 и IPv6;
  • Модульность. Каждый компонент Xplico является модулем. Протокол ввода, протокол декодирования (Dissector) и интерфейс вывода (dispatcher) — это всё модули;
  • Возможность легко создавать любые типы dispatcher с помощью которых организовывать извлечение данных наиболее подходящим и полезным для вас путём.

Xplico использование:

xplico [-v] [-c <файл_конфигурации>] [-h] [-s] [-g] [-l] [-i <prot>] -m <модуль_захвата></prot>

-v версия

-c файл конфигурации

-h эта помощь

-i информация по протоколу 'prot' 

-g показать дерево-график протоколов

-l напечатать на экране всё содержимое логов

-s печатать каждую секунду статус декодирования

-m тип модуля захвата

Параметры должны следовать в этом порядке!

Monday, 25 April 2022

Vagrantfile features.


Всем привет.

Уверен что вы с VirtualBox командную строку используете намного реже чем GUI. Но есть одна причина не пользоваться ни тем ни другим - это Vagrant.  Vagrant этакая надстройка для виртуальных провайдеров 2-го уровня, которая позволяет автоматизировать многие  повторяющиеся процессы по развертыванию виртуалок. Все описание процесса создания ВМ определенной конфигурации попадает в единый файл Vagrantfile. Полное его описание не последует в рамках данного поста, а последуют его фишки которые мне понравились от одного умного автора.

Например, чтобы сказать что: 

- мы хотим развернуть виртуальную машину из образа, имя которого задается переменной окружения 'box_name',  

- при этом следует проигнорировать Vagrantfile, включенный в состав этого образа как файл по умолчанию,

- машина в этом образе относится к классу Linux,

- по завершении запуска машины нужно вывести в консоль сообщение "Machine started".

Тогда следует в Vagrantfile написать так:

Vagrant.configure("2") do |config|

    config.vm.box = ENV['box_name']

    config.vm.ignore_box_vagrantfile = true 

    config.vm.guest = :linux

    config.vm.post_up_message = "Machine started"

end

Можно создать отдельный раздел, определяющий какие ресурсы хостовой машины мы выделяем для гостевой машины.  Делается это через доступ к свойствам отдельных провайдеров (гипервизоров), т.е обращаемся к свойствам VirtualBox:

    config.vm.provider :virtualbox do |v, override|

         v.gui = true # Display the VirtualBox GUI when booting the machine

        v.customize ["modifyvm", :id, "--memory", ENV['ram_memory_size_mb']]

        v.customize ["modifyvm", :id, "--cpus", ENV['cpu_count']]

        v.customize ["modifyvm", :id, "--vram", 64] # Video memory 64 MB

     end

где ram_memory_size_mb и cpu_count переменные окружения.

Saturday, 23 April 2022

Командная строка в VirtualBox.

Всем привет. 

Так уж сложилось что многие пользуются в Oracle VirtualBox графическим интерфейсом. Тем не менее сам VirtualBox имеет довольно развитой CLI, которым вовсю пользуется популярный Vagrant (про него в следующий раз). Но я считаю что знать основы CLI от производителя тоже полезно. Ниже приведу наброски которые позволяют экономить время в работе с VirtualBox в домашней лаборатории.

Создание виртуальной машины.

1. создаем ВМ с указанным именем в заданной группе, указываем тип ОС (список поддерживаемых получаем VBoxManage list ostypes), регистрируем ВМ:

VBoxManage createvm –name “parrot” –groups “/pentest” –ostype “Debian” –register

2. выделяем системе ресурсы: 2 ядра, 1024 Мб ОЗУ, 16 МБ видеопамяти,  включаем ACPI и I/O APIC,  отключаем буффер обмена, включаем протокол удаленного рабочего стола, задаем порт, делаем привод загрузочным, добавляем две сетевухи 1-я NAT, 2-я внутрення сеть:

VBoxManage modifyvm “parrot” –cpus 2 –memory 1024 –vram 16 –acpi on –ioapic on –clipboard disabled –vrde on –vrdeport 888 –boot1 dvd –nic1 nat –nic2 intnet

3. создаем виртуальный жесткий диск (динамического объема) по указаному пути:

VBoxManage createhd –filename D:\work\vm\test\parrot.vdi –size 7168

4. добавляем к машине контроллер жесткого диска:

VBoxManage storagectl “parrot” –name “IDE” –add ide –controller PIIX4 –bootable on –hostiocache on

5. подключаем к контроллеру созданный ранее виртуальный жесткий диск:

VBoxManage storageattach “parrot” –storagectl “IDE” –port 0 –device 0 –type hdd –medium D:\work\vm\test\parrot.vdi

6. подключаем к кнотроллеру образ с дистрибутивом ОС:

VboxManage storageattach “parrot” –storagectl “IDE” –port 1 –device 0 –type dvddrive –medium D:\work\iso_nix\debian-7.1.0-i386-netinst.iso

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 (Подключение виртуального жесткого диска), необходимо настроить полученный виртуальный диск. Найдите уже созданный диск, сошлитесь на него, и выполните оставшиеся действия с помощью мастера.

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

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

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

Удачи.

Saturday, 2 January 2021

Алгоритм начального расследования.

Всем привет.

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

Итак, прежде всего нам надо иметь изолированный от рабочей сети полигон для исследования. Можно подготовить физический ПК (рекомендуется свежая(без патчей) или клонировання среда Win7) или в видеVM в Virtualbox. Зловреды не любят VM, тогда вам надо будет убрать возможные признаки  виртуальности.  Paranoid-fish покажет по каким признакам можно отследить что вы использутете VM. Также стоит обратить внимание на установленные Guest tools и неправильное системное время.

Интернет подаем на полигон через WiFi-точку доступа или через NAT в случае с Virtualbox.

1. Ок, нам передали зловред testik.doc полученный в письме по почте. Забрасываем наш зловред в VM в архиве с паролем. Не помешает также скрыть имена файлов в архиве. Или проделываем туже операцию через онлайновый файлообменник.

2. Прежде всего следует определить реальный формат файла:

>file testik.doc

В этом плане полезный набор OLEtools:

>olevba testik.doc

>mraptor testik.doc

>rtfobj testik.doc

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

Готовы? Тогда даем зловреду развернуться, открываем testik.doc в непропатченном MS Word 2007.

В Wireshark отслеживаем и захватываем сетевое взаимодействие зловреда в системе на каждом этапе исследования.

С помощью TCPhound и TCPView отслеживаем сетевые соединения которые порождает зловред в системе на каждом этапе исследования.

В ProcessMonitor (Process tree) отслеживаем процессы которые порождает зловред в системе на каждом этапе исследования.

В Autoruns остлеживаем закрепление зловреда в системе.

Ожидаем ситуацию установки стабильных сетевых соединений которые породил зловред (ESTABLISHED).

Закрываем MS Word 2007. Он нам больше не нужен.

В ProcessMonitor УБИВАЕМ процессы которые породил зловред в системе исследования.

Исследуем в Wireshark порожденные сетевые взаимодействия зловреда в тестовой системе. Определяем IOC, и находим полученную нагрузку (payload).

3. Паралелльно п.2. забрасываем testik.doc в онлайновые сервисы проверки типа virustotal.com: 

- еще раз проверяем filetype 

- закладка Сommunity покажут информацию может кто встречал с ним ранее

- закладка Relations может показать прямой путь к нагрузке(payload), возможно будет его загрузить по wget не вылавливая его на своем полигоне.

4. Анализируем полученный payload на ресурсах anayze.intezer.com, pastebin.com, quiksand.io, 

irish.malwageddon.com, cucko.cert.ee и прочих.

Как-то так. Что успел записать по следах семинара.


Friday, 11 December 2020

Testing Ansible roles with Molecule.

Hi all.

Today we will speaking about how to automate your verifications of code using Python.

Story author - Jairo da Silva Junior.

Test techniques role in software development, and this is no different when we are talking about infrastructure as Code (iaC). Developers are always testing, and constant feedback is necessary to drive development. if it takes too long to get feedback on a change, your steps might be too large, making errors hard to spot. baby steps and fast feedback are the essence of tdd (test-driven development). but how do you apply this approach to the development of ad hoc playbooks or roles?

When you’re developing an automation, a typical workflow would start with a new virtual machine. i will use Vagrant [1] to illustrate this idea, but you could use libvirt [2], docker [3], Virtualbox [4], or Vmware [5], an instance in a private or public cloud, or a virtual machine provisioned in your data center hypervisor (oVirt [6], Xen [7], or Vmware, for example).

When deciding which virtual machine to use, balance feedback speed and similarity with your real target environment.

The minimal start point with Vagrant would be:

vagrant init centos/7 # or any other box

Then add Ansible provisioning to your Vagrantfile:

config.vm.provision "ansible" do |ansible|   

  ansible.playbook = "playbook.yml" 

end

In the end, your workflow would be:

1. vagrant up 2. edit playbook. 

3. vagrant provision 

4. vagrant ssh to verify Vm state. 

5. repeat steps 2 to 4. 

Occasionally, the Vm should be destroyed and brought up again (vagrant destroy -f; vagrant up) to increase the reliability of your playbook (i.e., to test if your automation is working end-to-end). Although this is a good workflow, you’re still doing all the hard work of connecting to the Vm and verifying that everything is working as expected. When tests are not automated, you’ll face issues similar to those when you do not automate your infrastructure. Luckily, tools like testinfra [8] and Goss [9] can help automate these verifications.

Thursday, 24 September 2020

Наш нежный VirtualBox.

Всем привет.

Быстренько поменяв очередную железку и восстановив по памяти все свои тулзы я уже было заварил кофе, но меня ожидал подвох со стороны VirtualBox - на первой же ВМ ошибка запуска E_FAIL 0x80004005. Потыкав мышкой туда сюда, подозрительно посмотрев на грозное сообщение я обнаружил что любая ВМ валится с таким же сообщением. Это меня малость успокоило.


Беглый обзор в сети показал что, как правило, Virtualbox вылетает с ошибкой E_FAIL 0x80004005 из-за того, что программе по какой-то причине не удалось сохранить состояние вашей виртуальной машины в файл с расширением .vbox. Причин, почему это произошло – множество. Например, он мог быть поврежден или использован во время сохранения состояния для какой-то иной цели. В общем, VirtualBox попытался загрузить состояние ВМ из vbox-файла, но ничего не вышло и он выдал ошибку. Однако, стоит заметить, что ошибка виртуальной машины E_FAIL 0x80004005 могла возникнуть также из-за ряда других причин: конфликтующее с VirtualBox обновление для операционной системы, отключенная функция виртуализации в BIOS или нестабильная версия самой программы VirtualBox. И т.п.

Поскольку я переносил ВМ со старого ПК то в состоянии самих файлов vbox и vdi был уверен на 99%. Поэтому я решил проверить окружение.

Что я проверял? Прежде всего убедитесь что в Windows 10 отключены опции "Hyper-V" и "Песочница". Увы,  но Virtualbox до сих пор (версия 6.0.12)  с ними не совместима. Далее проверьте что ваш антивирусник не блокирует Virtualbox. Убедитесь что служба "VirtualBox system service" работает нормально. Убедитесь что в BIOS вашего ПК включена поддержка виртуализации. Однако даже после всего этого ошибка оставалась. И тут я обратил внимание что мой антивирусник хочет фокусировать мое внимание на чрезмерной активности предустановленного фирменного софта от НР - НР Sure Sense. Рядом с ним были размещены еще пять софтин, которые идут в комплекте. Так как у меня был другой антивирусник, то я сделал выбор в пользу первого и решил снести  НР Sure Sense.

И ура, моя VirtualBox ожила. Таким образом, я получил ситуацию когда искусственный интеллект для обнаружения вредоносных программ от НР перестарался.

Успехов.

Saturday, 13 June 2020

Домашний полигон.

Всем привет.

Пользуясь моментом и прелестями удаленной работы решил я соорудить себе дома полигон для отработки некоторых сетевых нюансов. По большому счету мне надобилась VirtualBox в которой была развернута виртуальная Debian Linux на которой, в свою очередь, поднят GNS3 с эмуляцией 3-х маршрутизаторов Cisco. Такой каламбур вышел по причине тестирования двух технологий одновременно: Ansible и Zabbix. Собственно основная задача - весь полигон должен видеть интернет и сервер Zabbix, который находится в первой подсети 192.168.1.0/24. Схемка полигона ниже и что мне для этого понадобилось.


В качестве Cloud-1 выступает Debian VM. Ее сетевые настройки получились следующие.

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:f0:ae:b2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.240/24 brd 192.168.1.255 scope global dynamic enp0s17
       valid_lft 85797sec preferred_lft 85797sec
    inet6 fe80::a00:27ff:fef0:aeb2/64 scope link
       valid_lft forever preferred_lft forever
3: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 82:f8:51:83:45:36 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.100/24 scope global br1
       valid_lft forever preferred_lft forever
    inet6 fe80::546c:a3ff:fe10:6b61/64 scope link
       valid_lft forever preferred_lft forever
6: gns3tap0-0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN group default qlen 1000
    link/ether 82:f8:51:83:45:36 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::80f8:51ff:fe83:4536/64 scope link
       valid_lft forever preferred_lft forever

$ip route
default via 192.168.1.1 dev enp0s17 proto static metric 100
192.168.1.0/24 dev enp0s17 proto kernel scope link src 192.168.1.240 metric 100
192.168.100.0/24 dev br1 proto kernel scope link src 192.168.100.100

Friday, 20 March 2020

Oracle VM VirtualBox и его дополнения.

Всем привет.

В расширении возможностей Oracle VM VirtualBox принимают участие два важных дополнения: Guest Additions и Еxtension package. Причем отвечают они за разный функционал.

Еxtension package, он же пакет расширений, устанавливается один для Oracle VirtualBox Manager. Он поддерживает следующие функции для всех созданных ВМ:
-The virtual USB 2.0 (EHCI) device.
-The virtual USB 3.0 (xHCI) device.
-VirtualBox Remote Desktop Protocol (VRDP) support.
-Host webcam passthrough.
-Intel PXE boot ROM.
-Experimental support for PCI passthrough on Linux hosts, PCI Passthrough.
-Disk image encryption with AES algorithm.

А вот более знакомый нам Guest Additions в виде ISO монтируется и инсталируется для каждой ВМ отдельно для поддержки следующих функций:
-Shared folders
-Shared clipboard
-Drag and Drop
-Mouse pointer integration
-Better video support
-Seamless windows
-Generic host/guest communication channels
-Time synchronization
-Automated logins

Обычно чаще других востребованы первые три функции для передачи файлов между хостом и ВМ.

Увидимся.

Saturday, 1 February 2020

Общие папки VirtualBox для Ubuntu.


Всем привет.

Такую полезную фишку VirtualBox как "Общие папки" (Shared folders)  может использовать и Windows и Linux. Но если для Windows эта штука подключается на раз два, то для Linux нужны дополнительные действия. Сделаем это на примере Ubuntu.

Устанавливаем в виртуальную машину Ubuntu. Запускаем виртуальную машину.

Выбираем пункт Подключить образ диска Дополнений гостевой ОС (VBoxGuestAdditions_5.2.6.iso) в меню Устройства окна виртуальной машины:



Соглашаемся на автоматическое скачивание образа с сервера VirtualBox или подключаем его как ISO-образ.

1. Входим в виртуальную машину и выполняем от пользователя root:
apt-get install build-essential

PS: у меня последующие команды не понадобились, так как Ubuntu сделалa все сама, и я сразу перешел к пункту 2.

mount /dev/cdrom /media/cdrom/

Проверяем, что диск примонтировался (ответ команды должен быть не пустой):
ls -l /media/cdrom/

Запускаем установку Дополнений гостевой ОС:
/media/cdrom/VBoxLinuxAdditions.run

После окончания процесса выключаем виртуальную машину:
shutdown -h now

Friday, 11 October 2019

Фишки HyperV.

Всем привет.

По случаю надо было поднять Hyper-V на Windows 10. Все работает как описано в мануалах за исключением WinXP. Для XP-ки, как устаревшей ОС надо выбирать дополнительный сетевой адаптер, который так и называется "Устаревший сетевой адаптер".


Плюс к этому неплохо бы для пользователя создать ярлык на запуск созданной ВМ не запуская оснастку самого Hyper-V. Делается это так - создаем ярлык и в нем пишем

vmconnect.exe localhost "Windows ХР virtus"

где "Windows ХР virtus" имя нашей ВМ в HyperV.

А вот с переносом файлов в ВМ с хостового ПК какая то незадача. В предыдущих версиях Hyper-V, чтобы скопировать файл внутрь виртуальной машины с хоста Hyper-V приходилось настраивать rdp подключение, общие папки через дополнительную внутреннюю сеть или общие vhd файлы. Также не стоит путать копирование файлов через службу Guest Services с возможностью копирования файлов через режим-расширение rdp-протокола - Enhanсed Session Mode. Сейчас появилась дополнительная возможность использовать Powershell. Все равно криво.

Успехов.

Saturday, 5 October 2019

Hyper-V против VirtualBox - кто кого.

Всем привет.

Если на вашем компьютере установлена Windows 10 Pro или Enterprise, вы наверняка уже знаете что эта операционная система имеет встроенную поддержку виртуальных машин Hyper-V. Т.е. все что нужно, чтобы установить другую Windows (и не только) в виртуальную машину уже имеется в вашей ОС. Более того Windows 10 Pro начиная с билда 1903 имеет такую игрушку как "Песочница".  Но про саму песочницу в следующий раз.

Но если вы пользуетесь виртуализацией в VirtualBox и захотите установить виртуальную машину Hyper-V, вы столкнетесь с тем, что виртуальные машины VirtualBox далее перестанут запускаться.

Текст ошибки будет приблизительно такой: «Не удалось открыть сессию для виртуальной машины», с описанием "VT-x is not available (VERR_VMX_NO_VMX) код ошибки E_FAIL".

Решение конфликта между HyperV и Virtualbox простое.

Включаем HyperV, тогда Virtualbox не будет работать:
bcdedit /set hypervisorlaunchtype auto

Отключаем HyperV, Virtualbox работает:
bcdedit /set hypervisorlaunchtype off

Не забывайте - вашей ОС необходима перезагрузка.

Не миновала сея печальная участь и виртуализацию на VMware.

Нижеследующие операции называют решением проблемы совместимости HyperV с VMware.

При этом сообщение будет про ошибку совместимости вашей ОС с Device Guard and Credential Guard. Можно начать проверку готовности вашей ОС с помощью скрипта Readiness Tool Version.

Версия на печать

Популярное