Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
#powershell
HVE Core is a free Microsoft framework for GitHub Copilot in VS Code that boosts coding with 35 specialized agents, 68 instructions, 40 prompts, and skills. Installs in 30 seconds, uses RPI (Research-Plan-Implement) to structure tasks, and validates everything for reliable AI output. You save massive time on boilerplate, repetitive work, and complex projects—staying focused on creative problem-solving while scaling from solo to team use for faster, cleaner code.
https://github.com/microsoft/hve-core
#powershell
EntraGoat creates a safe, vulnerable Microsoft Entra ID setup in your test tenant using PowerShell and a web interface for easy deployment of scenarios like privilege escalation attacks. Clone the GitHub repo, install tools, run scripts for challenges with flags, solutions, and cleanups—no extra costs. You benefit by safely practicing real-world identity hacks, spotting misconfigurations, and boosting your skills to secure production systems without risks.
https://github.com/Semperis/EntraGoat
👩💻PersistenceSniper: Powershell module that can be used by Blue Teams, Incident Responders and System Administrators to hunt persistences implanted in Windows machines.
• Интересный Powershell-модуль, который подходит для Blue Team и предназначен для поиска всех методов закрепления, которые используют хакеры на взломанной тачке. На данный момент умеет находить 60 техник, начиная от популярных методов с реестром, заканчивая злоупотреблением DLL-библиотеки AppInit:
➡https://github.com/last-byte/PersistenceSniper
#Powershell
👩💻 Обфускация PowerShell.
• В базах антивирусов содержатся миллионы сигнатур, однако трояны по-прежнему остаются в хакерском арсенале. Даже публичные и всем известные варианты полезных нагрузок Metasploit, разновидностей RAT и стиллеров могут остаться незамеченными. Как? Благодаря обфускации! Даже скрипт на PowerShell можно спрятать от любопытных глаз антивируса.
• Этот репозиторий содержит тонну полезных техник, примеров и теории на тему ручной обфускации скриптов PowerShell. Ну и что самое главное, содержимое этого репо является результатом проб и ошибок автора, который имеет огромный опыт в проведении тестов на проникновение.
➡https://github.com/t3l3machus/PowerShell-Obfuscation-Bible
#PowerShell
👩💻 PowerShell Commands for Pentesters.
• В продолжении к вчерашней публикации поделюсь с Вами полезными командами, которые будут полезны пентестерам и специалистам в области информационной безопасности:
+ Locating files with sensitive information:
- Find potentially interesting files;
- Find credentials in Sysprep or Unattend files;
- Find configuration files containing “password” string;
- Find database credentials in configuration files;
- Locate web server configuration files;
+ Extracting credentials:
- Get stored passwords from Windows PasswordVault;
- Get stored passwords from Windows Credential Manager;
- Dump passwords from Google Chrome browser;
- Get stored Wi-Fi passwords from Wireless Profiles;
- Search for SNMP community string in registry;
- Search for string pattern in registry;
+ Privilege escalation:
- Search registry for auto-logon credentials;
- Check if AlwaysInstallElevated is enabled;
- Find unquoted service paths;
- Check for LSASS WDigest caching;
- Credentials in SYSVOL and Group Policy Preferences (GPP);
+ Network related commands:
- Set MAC address from command-line;
- Allow Remote Desktop connections;
- Host discovery using mass DNS reverse lookup;
- Port scan a host for interesting ports;
- Port scan a network for a single port (port-sweep);
- Create a guest SMB shared drive;
- Whitelist an IP address in Windows firewall;
+ Other useful commands:
- File-less download and execute;
- Get SID of the current user;
- Check if we are running with elevated (admin) privileges;
- Disable PowerShell command logging;
- List installed antivirus (AV) products.
#PowerShell
👩💻 Коллекция примеров пошаговых сценариев администрирования систем с помощью PowerShell.
Работа с объектами:
- Просмотр структуры объектов;
- Выбор частей объектов;
- Удаление объектов из конвейера;
- Сортировка объектов;
- Создание объектов .NET и COM;
- Использование статических классов и методов;
- Получение объектов WMI с помощью Get-CimInstance;
- Прямое управление элементами.
Управление компьютерами:
- Изменение состояния компьютера;
- Сбор информации о компьютерах;
- Создание запросов Get-WinEvent с помощью FilterHashtable.
Управление процессами и службами:
- Управление процессами при помощи командлетов Process;
- Управление сервисами;
- Работа с принтерами;
- Выполнение задач по работе с сетями;
- Работа с программами установки программного обеспечения;
- Декодирование команды PowerShell из выполняемого процесса.
Работа с выходными данными:
- Перенаправление выходных данных;
- Использование команд Format для изменения представления вывода.
Управление дисками и файлами:
- Управление текущим расположением;
- Управление дисками PowerShell;
- Работа с файлами и папками;
- Работа с файлами, папками и разделами реестра;
- Работа с записями реестра;
- Работа с разделами реестра.
Создание элементов пользовательского интерфейса:
- Создание настраиваемого поля ввода;
- Создание графического элемента управления "Выбор даты";
- Списки с множественным выбором;
- Выбор элементов из списка.
#PowerShell
👩💻 PS-Commands.
• Объемный репо, который содержит в себе полезные заметки о командах PowerShell и представлен на русском языке:
➡https://github.com/Lifailon/PS-Commands
#PowerShell
Quick way with (elevated) #PowerShell to see the versions of particular vendor's running processes. I also remoted this since mstsc etc is overkill
ps |where path -match citrix|gp|select -expand versioninfo
ps=Get-Process
gp = Get-ItemProperty (-path arg comes from path property from Get-Process)
👩💻Win11Debloat.
• Очень полезный PowerShell скрипт, который поможет вырезать весь мусор и ускорить Ваш Windows. Возможности:
— Удалить все бесполезные приложения, которые замедляют ОС;
— Отключить рекламу в меню Пуск;
— Вернуть панель задач из Windows 10;
— Вырубить телеметрию и сбор данных;
— Убрать бессмысленные опции в контекстном меню;
— Вырезать Кортану, Copilot и Bing.
• Работает на Windows 11 и 10. Если какие-то изменения не подходят — их легко откатить. Забираем с GitHub:
➡️https://github.com/Raphire/Win11Debloat
#PowerShell#Windows
#powershell#flare#malware_analysis#reverse_engineering
FLARE-VM lets you quickly set up a full reverse engineering and malware analysis environment on a Windows 10+ virtual machine using simple scripts with Chocolatey and Boxstarter. Prepare a VM with 60GB disk, 2GB RAM, no spaces in username, internet, disabled Windows Updates, Tamper Protection, and anti-malware; then run the installer.ps1 script as admin after downloading it. This saves you hours of manual tool installs like IDA Free, Ghidra, and Binary Ninja, giving a ready-to-use, snapshot-revertible lab to safely analyze threats and boost your cybersecurity work.
https://github.com/mandiant/flare-vm