HackTheBox プラットフォームからマシンのファイナライズのために送信されたソリューションを引き続き公開しています。
この記事では、LDAPを掘り下げ、VNCパスワードをデコードし、dotNetアプリケーションを逆コンパイルし、AESを簡単に復号化し、削除されたActiveDirectoryオブジェクトを回復します。
ラボへの接続はVPN経由です。情報セキュリティについて何か知っている人とのプライベートネットワークにいることに気付くので、仕事用のコンピュータや重要なデータがあるホストからは接続しないことをお勧めします。
組織情報
偵察
このマシンのIPアドレスは10.10.10.182で、これを/ etc / hostsに追加します。
10.10.10.182 cascade.htb
最初のステップは、開いているポートをスキャンすることです。nmapですべてのポートをスキャンするのに長い時間がかかるので、最初にmasscanを使用してスキャンします。tun0インターフェイスからすべてのTCPポートとUDPポートを毎秒500パケットでスキャンします。
masscan -e tun0 -p1-65535,U:1-65535 10.10.10.182 --rate=500
ホスト上で多くのポートが開いています。それでは、nmapでそれらをスキャンして、必要なものをフィルタリングして選択しましょう。
nmap cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88
ここで、ポートで実行されるサービスに関する詳細情報を取得するには、-Aオプションを指定してスキャンを実行します。
nmap -A cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88
いつものように、最初に行うことは、SMB(enum4linux)をリストすることから始めます。
enum4linux -a cascade.htb
ユーザーとそのグループメンバーシップのリストを保存します。LDAPが提供するものを見てみましょう。
エントリーポイント
LDAPの操作にはJXplorerを使用します。接続して、すべてのオブジェクトを見てみましょう。
そして、ユーザーRyan Thompsonから、cascadeLegacyPwd属性が見つかりました。
base64をデコードし、パスワードを取得します。
ユーザー
資格情報を見つけたら、CrackMapExecを使用して利用できるSMBリソースを見てみましょう。
cme smb cascade.htb -u "r.thompson" -p "rY4n5eva" --shares
データリソースに接続しましょう。
smbclient -U r.thompson //10.10.10.182/Data
すべてを再帰的に調べてみましょう。
それでは、これらのファイルをダウンロードして見てみましょう。
get "IT\Email Archives\Meeting_Notes_June_2018.html"
get "IT\Logs\Ark AD Recycle Bin\ArkAdRecycleBin.log"
get IT\Logs\DCs\dcdiag.log
get "IT\Temp\s.smith\VNC Install.reg"
最初のファイルでは、ネットワーク転送について説明しており、TempAdminパスワードは通常の管理者パスワードと同じです。
2番目のファイルから、ユーザーArkSvcの権限に注意してください。
3番目のファイルには興味深いものは何もありません。しかし、4番目に、s.smithユーザーのVNCパスワードが見つかります。vncpasswdで
デコードします。パスワード(-d)をデコードし、16進形式で渡すことを示します。
vncpasswd.py -d -H 6bcf2a4b6e5aca0f
enum4linuxの出力を見ると、このユーザーがRemote ManagementUsersグループのメンバーであることがわかります。このパスワードを使用してwinrmサービスからログインしてみましょう。
evil-winrm -i cascade.htb -u s.smith -p sT333ve2
ユーザー2
このユーザーのSMBリソースを見てみましょう。
cme smb cascade.htb -u s.smith -p sT333ve2 --shares
利用可能な$リソースを監査します。
smbclient -U s.smith //10.10.10.182/Audit$
あるものをすべてダウンロードしましょう。
ダウンロードしたファイルの中にデータベースがあり、それを開くと、LDAPテーブルに資格情報を入力できます。
しかし、それらはどこにも収まりません。明らかにパスワードは暗号化されていますが、プログラムを使用して復号化されています。この場合、CascCrypto.dllがあります。さらに、プログラムとライブラリの両方がC#で記述されています。
dnSpyを使用してプログラムを逆コンパイルしましょう。データベースからパスワードが読み取られ、復号化機能に転送される場所を見つけます。キーもそこに転送されます。
ライブラリを逆コンパイルすると、暗号化モードと初期化ベクトルがわかります。
したがって、次のパラメータがあります。
次に、復号化する必要があります。CyberChefのWebサイトでやってみましょう。
そして、パスワードを取得します。enum4linuxから次のように、このユーザーはRemote ManagementUsersグループとADRecycleBinグループに属しています。覚えていると思いますが、このユーザーはオブジェクトを転送するために必要でした。また、TempAdminユーザーは管理者と同じパスワードを持っています。しかし、それは削除されました。
リモートオブジェクトを見てみましょう。
Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $True}
そして、私たちが探していたオブジェクトを見つけます。その属性を取得しましょう。
Get-ADObject -Filter {SamAccountName -eq 'TempAdmin'} -IncludeDeletedObjects -Properties *
そして、パスワードをデコードします。
WinRMに接続してフラグを立てましょう。
evil-winrm -i cascade.htb -u Administrator -p baCT3r1aN00dles
Telegramに 参加できます。そこには、興味深い資料、リークされたコース、およびソフトウェアがあります。ITの多くの分野に精通している人々がいるコミュニティを集めましょう。そうすれば、ITと情報のセキュリティの問題についていつでも互いに助け合うことができます。