volatilityにSANSのプラグインを追加する方法
volatilityでmimikatzを使いたくなった.
セットアップ方法が見つからなかったから書き残す.
mimikatzとは
Windowsのパスワードなどの各種認証情報をメモリから抜き出すツール.
管理者権限の取得やなりすましにも使える.
CTFではメモリダンプからアカウントの平文パスワードを抜き出すのによく使う.
デフォルトではvolatilityと連携して使うことができない.
SANSがプラグインを書いて公開しているから,それを追加してやれば良い.
やり方
基本はプラグインをコピーするだけ.
$ git clone https://github.com/volatilityfoundation/volati $ git clone https://github.com/sans-dfir/sift-files $ cp sift-files/volatility/* volatility/volatility/plugins
これでmimikatz
コマンド自体は使えるよう.しかし・・・
$ python2 volatility/vol.py -f ./memdump.mem mimikatz Volatility Foundation Volatility Framework 2.6 *** Failed to import volatility.plugins.openioc_scan (ImportError: No module named ioc_writer) ERROR : volatility.debug : You must specify something to do (try -h)
pythonモジュール不足でまだ動かない.
ERROR : volatility.debug : You must specify something to do (try -h)
はコマンドが無いときにも出る.わかりにくい.
モジュールについてはvirtualenv2
でローカル環境を作成して,整えていく.
$ virtualenv2 ENV && . ENV/bin/activate $ pip install distorm3 pycrypto lxml ioc_writer colorama construct==2.5.5-reupload
Crypt.Hash
モジュールのためにpycrypto
.
AttributeError: 'module' object has no attribute 'ULInt32'
はconstruct==2.5.5-reupload
で対処.
$ python2 volatility/vol.py -f <mem file> --profile=WinXPSP2x86 mimikatz
これで動く.
参考
error in attribute with construct module · Issue #15 · volatilityfoundation/community · GitHub
python - ImportError: No module named Crypto.Cipher - Stack Overflow
lsass.exe のダンプからユーザーパスワードを抽出 :mimikatz
https://www.iij.ad.jp/dev/tech/techweek/pdf/171108_02.pdf
GitHub - gentilkiwi/mimikatz: A little tool to play with Windows security