Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе.
Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода.
Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу".
С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой.
Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого.
Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :)
Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие.
#dev
#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