【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

ハッカーは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スクリプトということで、ソースを見て見たいですね。