
Создание локальных администраторов с помощью SAMR API (метод самого низкого уровня). Реализован на C#, Crystal, Python и Rust.
Создание локальных администраторов с использованием SAMR API, работающего на более низком уровне, чем net.exe, PowerShell New-LocalUser или API NetUserAdd.
Требуются права администратора. Если пользователь существует, он добавляется в группу, но пароль не обновляется.
В этом репозитории 4 реализации (C#, Python, Rust и Crystal), но есть публичные версии на других языках, такие как C++ от @M0nster3 или BOF файл от @AgeloVito.
Этот код служит дополнением к этой статье блога о различных методах создания локальных учётных записей.
Аргументы:
-u, --username - Имя пользователя для создания (обязательно)
-p, --password - Пароль для пользователя (обязательно)
-g, --group - Имя группы (по умолчанию: "Administrators")
-v, --verbose - Включить подробный вывод
-h, --help - Показать справку
# Basic usage
adduser.exe -u <username> -p <password>
# Specify group
adduser.exe -u <username> -p <password> -g <group>
# Verbose output
adduser.exe -u testuser -p MyPass123 -g Administrators -v

Инструмент использует следующие вызовы протокола SAMR:
Скомпилируйте с помощью Visual Studio или msbuild.
cd Crystal
crystal build adduser.cr --release
.\adduser.exe -u testuser -p MyPass123 -v
Вы можете использовать Python-скрипт:
cd Python
python adduser.py -u testuser -p MyPass123 -v
Или создать автономный бинарный файл с помощью:
cd Python
pyinstaller -F adduser.py
.\dist\adduser.exe -u testuser -p MyPass123 -v
cd Rust && mkdir target
cargo build --release
.\target\release\adduser.exe -u testuser -p MyPass123 -v