~前回までのあらすじ~
セキュリティ監査を続けていたオレは、基幹系のサーバに侵入する為にドメインコントローラの攻略を試みる。
しかしActive Directoryの堅牢な設計を前に、攻略の道は半ば閉ざされかけていた。
なんとかドメインコントローラを掌握したいオレだったが、その想いとは裏腹になかなか足取りを掴むことはできなかった。
オレは諦めかけながらも調査結果を洗い直すことにした。
洗い直しの一環としてNessusのスキャン結果を眺めていたオレは、ふとあることに気がついた。
Domain Adminsグループにいくつかの不自然なアカウントが含まれていたのだ。
以前はセキュリティリスクの低い情報として見落としてしまっていたらしい。
どうやら管理者が普段の業務で使用しているアカウントのようだった。
これらはドメインのAdministratorアカウントより脆弱なパスワードを使用している可能性が十分にある。
望みはつながった。
あとはどう料理するかだ。
まず管理者が使用しているPCにソフトウェアキーロガーをインストールすることを考えた。
が、コレはAntiVirusなどで検出される恐れがあったため見送った。
(それ以前に倫理的な問題があるような気もするが)
思案の結果、自分のマシンにDomain Adminsのアクセスのみが許可された共有フォルダを作成し、辞書攻撃を仕掛けることにした。
この手法では自身のマシンに攻撃を仕掛ける為、検知される可能性は低い。
(ただしパスワードの問い合わせはドメインコントローラに対して行われる為、可能性は0ではない)
ツールにはNetwork Share Brute Forcerを使用することにした。
Network Share Brute Forcer (dfg-crew.com)
http://www.dfg-crew.com/files/netbrute-3.1.zip
また、辞書には日本語を標的にしたpassword.lstファイルを用意した。
攻撃を開始してから30分も経たずして、先程のアカウントのパスワードクラックに成功した。
このアカウントのパスワードにはその管理者の苗字が使用されていた。
オレはすぐさまこのアカウントを使用し、ドメインコントローラにAbelをインストールした。(過去記事参照
)
そして全ユーザのアカウントとそのLANMANハッシュを取得し、パスワードクラックをかけた。(過去記事参照
)
オレはようやくドメインを制圧することに成功した。
-つづく-
いつものように解説いくよーん。
まず、ユーザに与える権限についてだが、アカウントに不用意に権限を与えるのはオススメできない。
特にDomain Adminsにはドメインにおける完全なアクセス権限が与えられるので、アカウントはAdministratorのみに絞るべきだ。
可能ならAdministratorという名前も変更することが望ましい。
次に、パスワードの設定についてだが、これは以前に触れたとおりだ。(過去記事参照
)
推測されやすい言葉や辞書に載っている単語は、クラッカーの格好の餌食になる。
特に強い権限を持つユーザにはなるべく強固なパスワードを設定するべきだろう。
最後に、ドメインのグループポリシーについて。
今回の攻撃が成功した背景には、アカウントロックアウトのポリシーが設定されていなかったことが大きい。
これは認証に一定回数の失敗があった場合に、そのアカウントを一時的に使用不能にする設定だ。
これを有効にしていれば、辞書攻撃やブルートフォースアタックといった手法は通用しなくなる。
また、これ以外にもグループポリシーにはセキュリティ強化に有効な設定項目が多数含まれているので、合わせて参照しておくといいだろう。
※あ、勝手に監査の真似事とかやると犯罪者になります。この件は合意の元でやってたんだから勘違いしないでよねっ。