Skip to content

Create local administrators with the SAMR API (lowest-level technique). Implemented in C#, Python, Rust and Crystal

Notifications You must be signed in to change notification settings

ricardojoserf/AddUser-SAMR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AddUser-SAMR

Create local administrators using the SAMR API, operating at a lower level than net.exe, PowerShell's New-LocalUser or NetUserAdd API.

It requires Administrator privileges and if the user exists, it gets added to the group but the password is not updated.

There are 4 implementations in this repo (C#, Python, Rust and Crystal), but there are public versions in other languages such as C++ by @M0nster3 or BOF file by @AgeloVito.

This code serves as complement to this blog post about different techniques to create local accounts.



Usage

The arguments are:

  • -u, --username - Username to create (required)

  • -p, --password - Password for the user (required)

  • -g, --group - Group name (default: "Administrators")

  • -v, --verbose - Enable verbose

  • -h, --help - Show help message

# 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

img1



SAMR functions

The tool uses the following SAMR protocol calls:



Compilation (for Windows)

C#

cd CSharp
msbuild adduser.slnx /p:Configuration=Release /p:Platform=x64
.\adduser\bin\x64\Release\adduser.exe -u testuser -p MyPass123 -v

Crystal

cd Crystal
crystal build adduser.cr --release
.\adduser.exe -u testuser -p MyPass123 -v

Python

You can use the Python script:

cd Python
python adduser.py -u testuser -p MyPass123 -v

Or create a stand-alone binary with:

cd Python
pyinstaller -F adduser.py
.\dist\adduser.exe -u testuser -p MyPass123 -v

Rust

cd Rust && mkdir target
cargo build --release
.\target\release\adduser.exe -u testuser -p MyPass123 -v

About

Create local administrators with the SAMR API (lowest-level technique). Implemented in C#, Python, Rust and Crystal

Topics

Resources

Stars

Watchers

Forks

Sponsor this project