
SAMR API를 사용하여 로컬 관리자를 생성합니다 (가장 낮은 수준의 기법). C#, Crystal, Python 및 Rust로 구현됨.
SAMR API를 사용하여 로컬 관리자를 생성합니다. 이는 net.exe, PowerShell의 New-LocalUser 또는 NetUserAdd API보다 낮은 수준에서 작동합니다.
관리자 권한이 필요하며, 사용자가 이미 존재하는 경우 그룹에 추가되지만 비밀번호는 업데이트되지 않습니다.
이 저장소에는 4가지 구현체(C#, Python, Rust, Crystal)가 있지만, @M0nster3의 C++ 버전이나 @AgeloVito의 BOF 파일과 같은 다른 언어의 공개 버전도 있습니다.
이 코드는 로컬 계정을 생성하는 다양한 기술에 관한 이 블로그 게시물을 보완하기 위한 것입니다.
인수는 다음과 같습니다:
-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