ハッカーはhekatombでLDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得する(Kali Linux)
hekatombは Kali Linux 2024.3 リリース時に追加されたツールです。
hekatombとは
Hekatomb は、LDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得するPythonスクリプトです。
次に、すべてのコンピューターからすべてのユーザーのすべてのDPAPIブロブをダウンロードします。
最後に、RPCを介してドメインコントローラーの秘密鍵を抽出し、それを使用してすべての資格情報を復号化します。
LDAPディレクトリとは
LDAPディレクトリ(Lightweight Directory Access Protocolディレクトリ)は、ネットワーク上でユーザーやデバイス、その他のリソースに関する情報を効率的に管理するためのデータベースの一種です。LDAPは、ディレクトリサービスにアクセスするためのプロトコル(通信規約)で、特に認証やユーザー管理のために使われます。
LDAPディレクトリでは、情報がツリー構造で整理されています。例えば、学校の組織図のように、学校が一番上にあり、その下にクラスや先生、生徒が並んでいるイメージです。各エントリには、名前やメールアドレスなどの情報が含まれています。
LDAPは主にユーザー認証に使われます。例えば、ログインするときにLDAPディレクトリに保存されている情報を使って、あなたが正しいユーザーかどうかを確認します。企業や学校で多くのユーザーを一元管理するために便利なシステムです。
DPAPIブロブとは
DPAPIブロブは、Windowsの「データ保護API(DPAPI)」を使って暗号化されたデータのことです。DPAPIは、パスワードや機密データを安全に保存するための仕組みです。
たとえば、アプリがユーザーのパスワードを保存したいとき、そのまま保存すると危険なので、DPAPIを使って暗号化します。この暗号化されたデータが「ブロブ」と呼ばれます。ブロブは、外部から見ても元のデータが何か分からないように変換されています。
DPAPIを使うと、Windowsが自動でユーザーのパスワードやコンピュータの情報を利用して暗号化と復号を行います。これにより、ユーザーは特別な知識やツールを使わなくても安全にデータを保護できます。DPAPIは、個人のファイルやパスワードを守るために使われる重要な技術です。
RPCとは
RPC(リモートプロシージャコール)は、離れた場所にあるコンピュータ上のプログラムを、自分のコンピュータ上にいるかのように使うための仕組みです。
たとえば、あなたが家のパソコンから友達のパソコンにあるゲームを操作したいとします。でも、直接そのパソコンの前に座っているわけではありません。この場合、RPCを使えば、自分のパソコンから友達のパソコンのゲームを動かすことができます。RPCは、プログラム同士がネットワークを通じて「リモート」(遠隔)のコンピュータとやり取りする方法を提供します。
簡単に言えば、RPCは遠くにあるコンピュータを手元にあるかのように操作するための便利な仕組みです。
機能
・LDAPからのドメイン・コンピューターとユーザーの抽出を自動化するためのスクリプト。
・ドメインコントローラーの秘密鍵をRPCで抽出し、Windowsのクレデンシャルマネージャーに保存されているすべてのユーザーのDPAPIシークレットを収集し、復号化する。
・Windowsのクレデンシャルマネージャーに保存されているすべてのユーザーのDPAPIシークレットを収集し、復号化する。
ツールの場所
1.検索窓から「hekatomb」を検索して見つからない場合は
2.画面上部メニューより、「Terminal Emulator」から「Root Terminal Emulator」を選択します。
3.Authenticate画面で、Kali Linuxのパスワード"kali"を入力して「Authenticate」ボタンを押下します。
4.Root Terminal Emulatorが立ち上がりました。
5."hekatomb"と入力して、Enterボタンを押下します。
6.以下の応答が帰ってくるので"y"(インストール)ボタンを押下します。
コマンド 'hekatomb’ が見つかりません:
apt install hekatomb
インストールしますか?(N/y)
※ここで、「Error:Unable to locate package hekatomb」と表示された場合は
Kali Linuxをアップデートして、その後アップグレートしてください。
#apt update
#apt full-upgrade -y
アップグレート後、"hekatomb"と入力して、Enterボタンを押下します。
7.hekatombがインストールされました。
8."hekatomb"を実行します。
これでhekatombがインストールされたことを確認しました。
メニューには"hekatomb"が登録されていないため、直にターミナルから"hekatomb"を入力してください。
ツールと使用方法
hekatomb [-h] [-hashes LMHASH:NTHASH] [-pvk PVK] [-dns DNS]
[-port [port]] [-smb2] [-just-user JUST_USER]
[-just-computer JUST_COMPUTER] [-md5] [-csv] [-debug]
[-debugmax]
target
位置引数(positional arguments)
target [[domain/]username[:password]@]<targetName or address of DC>
hekatomb livaspacenter.com
※livaspacenter.comは私のテスト用ドメインです。
オプション(options)
-h, –help
show this help message and exit
このヘルプメッセージを表示して終了する。
認証(authentication)
-hashes LMHASH:NTHASH
NTLM hashes, format is LMHASH:NTHASH
NTLM ハッシュ、フォーマットは LMHASH:NTHASH
-pvk PVK
Domain backup keys file
ドメインバックアップ鍵ファイル
-dns DNS
DNS server IP address to resolve computers hostname
コンピュータのホスト名を解決するための DNS サーバ IP アドレス。
-port [port]
Port to connect to SMB Server
SMBサーバーに接続するポート。
-smb2
Force the use of SMBv2 protocol
SMBv2プロトコルの使用を強制する
-just-user JUST_USER
Test only specified username
指定したユーザー名のみをテストする。
-just-computer JUST_COMPUTER
Test only specified computer
指定したコンピュータのみをテストする
-md5
Print md5 hash instead of clear passwords
明確なパスワードの代わりにmd5ハッシュを出力する。
冗長性(verbosity)
-csv
Export results to CSV file
-結果を CSV ファイルにエクスポートする。
-debug
Turn DEBUG output ON
DEBUG出力をオンにする。
-debugmax
Turn DEBUG output TO MAAAAXXXX
DEBUG出力をMAAAAXXXXにする。
hekatombのまとめ
hekatombのコマンドは恐ろしいツールですね。
LDAPディレクトリに接続してすべてのコンピューターとユーザー情報を取得するのですから。
Pythonスクリプトということで、ソースを見て見たいですね。