
Active Directory 環境向け偽ユーザー生成ツール
Youzer の目的は、情報豊富な Active Directory 環境を作成することです。このツールは、python3 ライブラリ 'faker' を使用してランダムなアカウントを生成します。
pip3 install faker
ワードリストを指定するか、パスワードを自動生成するかを選択できます。生成オプションは、hashcat のルールマスクなどをテストするのに最適です。ワードリストオプションは、環境にシードされた特定のパスワードリストを供給したい場合や、辞書攻撃の練習に便利です。
出力は CSV と PowerShell スクリプトで、どちらもターゲットにコピーできます。実行されると、PowerShell スクリプトは LDAP 経由でバインドするため、新しい Active Directory モジュールに依存せず、各ユーザーオブジェクトを作成します。現在のところ OU は事前に存在している必要がありますが、このツールは Active Directory 構造を作成する 'Labseed' のサブプロジェクトです。
Youzer は 30 秒未満で 100,000 ユーザー、約 3 分で 1,000,000 ユーザーを作成できます。
[-] Domain Name set to : example
[*] Writing to output file : sales_example.csv
[!] Generating 100000 users in password generate mode
[!] Creating Powershell script for import : sales_example.ps1
python3 youzer.py --generate --generate_length 20 --ou --domain example 20.35s user 0.11s system 95% cpu 21.354 total
python3 youzer.py --generate --generate_length 20 --ou "ou=sales,dc=example,dc=domain" --domain example --users 1000 --output sales_example.csv
?88 d8P d8888b ?88 d8Pd88888P d8888b 88bd88b
d88 88 d8P' ?88d88 88 d8P' d8b_,dP 88P' `
?8( d88 88b d88?8( d88 d8P' 88b d88
`?88P'?8b `?8888P'`?88P'?8bd88888P'`?888P'd88'
)88
,d8P version : 0.1
`?888P'
author : @lorentzenman
team : SpiderLabs
[-] Domain Name set to : example
[*] Writing to output file : sales_example.csv
[!] Generating 1000 users in password generate mode
[!] Creating Powershell script for import : sales_example.ps1
生成オプションで作成された CSV ファイルのサンプル出力
Name,GivenName,sn,ou,password,address,description
Dennis Shaw,Dennis,Shaw,"ou=sales,dc=example,dc=domain",VwVeloi09FaECRdNbbXD,
Sam Francis,Sam,Francis,"ou=sales,dc=example,dc=domain",qhitxgjDW4gZFuraLJbB,
Ellie Freeman,Ellie,Freeman,"ou=sales,dc=example,dc=domain",7qbLcknqlPtpkOzdLyw3,
Terence Arnold,Terence,Arnold,"ou=sales,dc=example,dc=domain",lumPMbDk1YomypRj26by,
Anne Murphy,Anne,Murphy,"ou=sales,dc=example,dc=domain",6r42EGGoEJYe9PydHRTV,
Wendy Smith,Wendy,Smith,"ou=sales,dc=example,dc=domain",tKI2zFUOU8XdK4ZTUJas,
Jay Lyons,Jay,Lyons,"ou=sales,dc=example,dc=domain",wxEIbw18tW9uFYXtMI9H,
Jonathan White,Jonathan,White,"ou=sales,dc=example,dc=domain",caoHcm2Y90lIH7zskJYr,
Adam Roberts,Adam,Roberts,"ou=sales,dc=example,dc=domain",Qu0y7mlb2haQQddxYrcN,
Georgina Jones,Georgina,Jones,"ou=sales,dc=example,dc=domain",rYBjxs4tpj9Qza7HcKYI,
Lee Newton,Lee,Newton,"ou=sales,dc=example,dc=domain",6CVlBvEutc3Ahco2UI5q,
Aaron Smith,Aaron,Smith,"ou=sales,dc=example,dc=domain",hmSSoKILfvrHuHbPTDIQ,
Max Hall,Max,Hall,"ou=sales,dc=example,dc=domain",11Ys9Zdk2M8J1JAScBkP,
Kimberley Douglas,Kimberley,Douglas,"ou=sales,dc=example,dc=domain",WQ9285gSHv2MXkwoLYlg,
Denise Fisher,Denise,Fisher,"ou=sales,dc=example,dc=domain",CT1pbfAnCoezuyrJbQX9,
python3 youzer.py --wordlist ~/tools/pw/Probable-Wordlists/Real-Passwords/Top12Thousand-probable-v2.txt --ou "ou=IT,dc=example,dc=domain" --domain example --users 1000 --output IT_example.csv
?88 d8P d8888b ?88 d8Pd88888P d8888b 88bd88b
d88 88 d8P' ?88d88 88 d8P' d8b_,dP 88P' `
?8( d88 88b d88?8( d88 d8P' 88b d88
`?88P'?8b `?8888P'`?88P'?8bd88888P'`?888P'd88'
)88
,d8P version : 0.1
`?888P'
author : @lorentzenman
team : SpiderLabs
[-] Domain Name set to : example
[*] Writing to output file : IT_example.csv
[!] Generating 1000 users in wordlist mode
[!] Creating Powershell script for import : IT_example.ps1
上記のワードリストオプションからの CSV ファイルのサンプル出力
Name,GivenName,sn,ou,password,address,description
Rhys Parker,Rhys,Parker,"ou=IT,dc=example,dc=domain",houston,
Geoffrey Harris,Geoffrey,Harris,"ou=IT,dc=example,dc=domain",clothing,
Georgia Davis,Georgia,Davis,"ou=IT,dc=example,dc=domain",spotty,
Gemma Norris,Gemma,Norris,"ou=IT,dc=example,dc=domain",brendan1,
Daniel Marsh,Daniel,Marsh,"ou=IT,dc=example,dc=domain",pauline,
Dominic Harvey,Dominic,Harvey,"ou=IT,dc=example,dc=domain",devin,
Teresa Stokes,Teresa,Stokes,"ou=IT,dc=example,dc=domain",snapple,
Joanna Morgan,Joanna,Morgan,"ou=IT,dc=example,dc=domain",volcom,
Oliver Middleton,Oliver,Middleton,"ou=IT,dc=example,dc=domain",master,