Ghidra インストールガイド
Ghidraについて
2019年3月5日にNSAがOSSのリバースエンジニアリングツール「Ghidra(ギドラ)」を公開しました。 有料の「IDA Pro」と違い無料でデコンパイルまでしてくれるので、非常に魅力的なツールです。
今回は、Ghidra の公式サイトを参考にインストール手順を紹介します。 特に下記の2つが参考になりました。
他にも、Ghidraの使い方やプロジェクト共有機能などについてまとめていますので、こちらの記事も参考にしてください。
最小要件
ハードウェア
- 4 GBのRAM
- 1 GBの空き容量(Ghidraのインストール用)
- (デュアルモニター推奨)
ソフトウェア
- Java Development Kit 11(JDK 11)
※ JDK Builds from Oracle が配布しているOpenJDK 推奨
- Java Development Kit 11(JDK 11)
Ghidraのインストール
OpenJDK 11のインストール
- Windows10の場合 (OpenJDK11のインストール方法メモ - Qiitaを参考)
- JDK Builds from Oracle にアクセスする。
- Windows/x64と書いてあるzipファイルをダウンロードする。
- ダウンロードしたzipファイルを展開する。
- C:\ProgramFiles\Java\ に展開したファイルを移動する。
- 環境変数を設定する。
- Linux(Debian 9)の場合
$ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz $ tar xvf openjdk-11.0.2_linux-x64_bin.tar.gz $ sudo mkdir /opt/java/ $ sudo mv jdk-11.0.2 /opt/java/ $ echo 'JAVA_HOME=/opt/java/jdk-11.0.2' >> ~/.bashrc $ echo 'PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc $ source ~/.bashrc
Ghidraのインストール
Ghidra公式サイトにアクセスし、「Download Ghidra」からダウンロードする。
ダウンロードしたzipファイルを展開する(7-Zipやunzipなど)。
※ Ghidraにインストーラはありません。好きな場所に保存してください。
Ghidraの起動
Ghidraの起動用スクリプトを実行します。
利用規約が表示されるので、「I Agree」ボタンを押す。
「Ghidra: NO ACTIVE PROJECT」、「Ghidra Help」、「Tip of the Day」の3つのウインドウが表示される。 「Ghidra Help」と「Tip of the Day」は使わないので、閉じてください。
新しいプロジェクトを作成します。「File」→「New Project..」から作成できます。
プロジェクトを共有するかどうかを選択します。今回は共有しないので、「Non-Shared Project」を選択して「Next >>」をクリックします。
プロジェクトを管理するディレクトリとプロジェクト名を設定します。今回は、下記の通りに設定しました。
- Project Directory →「/home/test/GhidraProjects」
※ この画面でディレクトリを新しく作成することができないので、あらかじめ作成しておいてください。 - Project Name →「myProject」
- Project Directory →「/home/test/GhidraProjects」
「Finish」をクリックすると、プロジェクトが作成されます。
をクリックすると、「CodeBrowser」が起動します。ここで解析作業が行えます。
解析したいファイルをインポートします。「File」→「Import File...」からインポートできます。
解析したいファイルを選択します。今回は、サンプルとして下記のファイルをコンパイルしたものを指定しました。 gist.github.com
「Format」や「Language」などを確認し、「OK」をクリックする。
解析するかどうかを聞かれるので、「Yes」をクリックします。
「Analyze」をクリックすると、解析が開始されます。
指定したファイルのサマリも表示されています。「OK」をクリックすると、閉じることができます。
Ghidraデバッグモードにおける注意点
※ こちらの内容は、Ghidra v9.0.1で修正されました。
Ghidra: Release Notes より
Basic Infrastructure. Running Ghidra in debug mode no longer opens remotely accessible ports by default. (Issue #6)
Ghidraをデバッグモードで起動すると、JDWP用のデバッグポート(18001番)が開かれます。 ただし、デフォルトでローカルだけでなく、インターネットにも公開状態となってしまいます。 通常、インターネットに公開する必要はないので、閉じておきましょう。 既にJDWPのデバッグポートを利用したPoCも公開されています。
Ghidra opens up JDWP in debug mode listening on port 18001, you can use it to execute code remotely 🤦♂️.. to fix change line 150 of support/launch.sh from * to 127.0.0.1 https://t.co/J3E8q5edC7
— Hacker Fantastic (@hackerfantastic) 2019年3月6日
修正方法
- Windows系の場合
ghidra_9.0\support\launch.bat 140行目
set VMARG_LIST=!VMARG_LIST! -Xrunjdwp:transport=dt_socket,server=y,suspend=!SUSPEND!,address=*:!DEBUG_PORT!
↓ 下記のように書き換える
set VMARG_LIST=!VMARG_LIST! -Xrunjdwp:transport=dt_socket,server=y,suspend=!SUSPEND!,address=127.0.0.1:!DEBUG_PORT!
- Linux系の場合
ghidra_9.0\support\launch.sh 150行目
VMARG_LIST+=" -Xrunjdwp:transport=dt_socket,server=y,suspend=${SUSPEND},address=*:${DEBUG_PORT}"
↓ 下記のように書き換える
VMARG_LIST+=" -Xrunjdwp:transport=dt_socket,server=y,suspend=${SUSPEND},address=127.0.0.1:${DEBUG_PORT}"
参考になるサイト
Ghidraの使い方をまとめた記事
JDWPのデバッグポートがインターネットに公開されている件について
NTFSFileExtractor - NTFSボリュームから特定のファイルを抽出する
NTFSFileExtractor について
このツールを使用すると、NTFSボリュームを解析してファイルを抽出することができます。 例えば、下記のようなファイルを抽出することができます。
- 削除されたファイル
- 今使用されているファイル
- 指定したMFT IDのファイル
今回は、特定のファイルを抽出する方法について紹介します。
MFT IDを指定してファイルを抽出する
今回は、通常の操作で抽出することができない$UsnJrnlファイルの抽出を行ってみます。 ちなみに、このファイルをNTFS Log Trackerに解析させると、ファイルの操作履歴が確認できます。
事前準備(MFT IDを特定する)
NTFSFileExtractorは、特定のファイルを抽出したい場合、MFT IDを指定する必要があります。 fteで$MFTを解析することで、MFT IDを特定できます。
- 「Run」ボタンを押すと、解析が始まります。
- 「File」→「Export」で解析結果をテキスト形式で出力することができます。
ファイル名が分かっている場合は、PowerShellなどで検索すると便利です。 今回の場合、3つ目のエントリ(78509)が$UsnJrnlのMFT IDになります。
> type .\fte_result.txt | Select-String "UsnJrnl" $UsnJrnl|2137|78509|11|Unknown|POSIX|1|FILETIME|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.9138068|2019/01/10 21:54:07.913806 8| cr = m = c = a = fcr = fm = fc = fa
特定のファイルを抽出する
- 「User Selec」を選択して、「Start Extraction」を実行する。
- 「User Selected File Set」のウインドウが表示されたら、78509($UsnJrnlのMFT ID)を指定して「OK」を押す。
- NTFSFileExtractorを実行した場所に「C」というディレクトリが作成されています。余計なファイルも出力されていますが、「$Extend」以下に目的のファイルが抽出されています。
参考情報
PECmd - Windows Prefetchの解析
Windows Prefetch について
Windows Prefetchは、アプリケーションの起動の高速化のために導入された機能です。 Prefetchファイルには、下記のような情報が含まれています。
- 実行ファイル名(最大29文字)
- アプリケーションの実行回数
- ボリュームパスやボリュームシリアル番号などのボリューム関連情報
- アプリケーションの起動に使用されたファイルとディレクトリ
- アプリケーションが最後に実行された時刻
Prefetchファイルには、上記の情報が含まれているので、 解析することでプログラムの実行痕跡などが得られる可能性があります。
なお、Prefetchファイルは、下記のディレクトリに「~.pf」という拡張子で格納されています。
C:\Windows\Prefetch
PECmd(Prefetchファイルの解析ツール)
Prefetchファイルの解析ツールは、色々とありますが、今回はPECmdというコマンドラインのツールを紹介します。 PECmdは、Prefetchファイルをパースすることで、下記の項目を抽出することができます。
PECmdは、こちら(Eric Zimmerman's tools)のページでダウンロードできます。
※ ただし、Windows 8以下のバージョンでは、Windows 10のPrefetchファイルを解析できないので、注意してください。
使い方
基本
- Prefetchファイルを直接指定する(-f オプション)
PECmd.exe -f "NOTEPAD.EXE-B28CC291.pf"
PECmd.exe -d "C:\Windows\Prefetch"
実行例(Prefetchファイルを直接指定する)
今回は、例として C:\Users\TEST\Desktop\test.txt を notepad.exe で開いたときに生成されたPrefetchファイルを解析してみます。下記が解析結果より、実行時間や参照したファイルなどが確認できます。
C:\Windows\Prefetch>PECmd.exe -f NOTEPAD.EXE-B28CC291.pf PECmd version 1.3.0.0 Author: Eric Zimmerman (saericzimmerman@gmail.com) https://github.com/EricZimmerman/PECmd Command line: -f NOTEPAD.EXE-B28CC291.pf Keywords: temp, tmp Processing 'NOTEPAD.EXE-B28CC291.pf' Created on: 2019-02-24 04:55:17 Modified on: 2019-02-24 04:54:06 Last accessed on: 2019-02-24 05:02:51 Executable name: NOTEPAD.EXE Hash: B28CC291 File size (bytes): 50,472 Version: Windows 10 Run count: 2 Last run: 2019-02-24 04:54:03 Other run times: 2019-02-24 04:11:39 Volume information: #0: Name: \VOLUME{01d4cbf353a8246d-f25451a4} Serial: F25451A4 Created: 2019-02-24 03:45:04 Directories: 17 File references: 103 Directories referenced: 17 00: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA 01: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT 02: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT\WINDOWS 03: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT\WINDOWS\CACHES 04: \VOLUME{01d4cbf353a8246d-f25451a4}\USERS 05: \VOLUME{01d4cbf353a8246d-f25451a4}\USERS\TEST 06: \VOLUME{01d4cbf353a8246d-f25451a4}\USERS\TEST\DESKTOP 07: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS 08: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\FONTS 09: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\GLOBALIZATION 10: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\GLOBALIZATION\SORTING 11: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32 12: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME 13: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\IMEJP 14: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\SHARED 15: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\JA-JP 16: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\WINSXS\AMD64_MICROSOFT.WINDOWS.COMMON-CONTROLS_6595B64144CCF1DF_6.0.17763.107_NONE_05B63884071E656E Files referenced: 81 00: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\NTDLL.DLL 01: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\NOTEPAD.EXE 02: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\KERNEL32.DLL 03: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\KERNELBASE.DLL 04: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\LOCALE.NLS 05: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\ADVAPI32.DLL 06: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MSVCRT.DLL 07: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\SECHOST.DLL 08: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\RPCRT4.DLL 09: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\GDI32.DLL 10: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\GDI32FULL.DLL 11: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MSVCP_WIN.DLL 12: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\UCRTBASE.DLL 13: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\USER32.DLL 14: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\WIN32U.DLL 15: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\COMBASE.DLL 16: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\BCRYPTPRIMITIVES.DLL 17: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\COMDLG32.DLL 18: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\SHCORE.DLL 19: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\SHLWAPI.DLL 20: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\SHELL32.DLL 21: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\CFGMGR32.DLL 22: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\WINDOWS.STORAGE.DLL 23: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\PROFAPI.DLL 24: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\POWRPROF.DLL 25: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\KERNEL.APPCORE.DLL 26: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\CRYPTSP.DLL 27: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\WINSXS\AMD64_MICROSOFT.WINDOWS.COMMON-CONTROLS_6595B64144CCF1DF_6.0.17763.107_NONE_05B63884071E656E\COMCTL32.DLL 28: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\PROPSYS.DLL 29: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\OLEAUT32.DLL 30: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\WINSPOOL.DRV 31: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\BCRYPT.DLL 32: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\URLMON.DLL 33: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IPHLPAPI.DLL 34: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IERTUTIL.DLL 35: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\CRYPTBASE.DLL 36: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IMM32.DLL 37: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\JA-JP\NOTEPAD.EXE.MUI 38: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\WINDOWSSHELL.MANIFEST 39: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\OLE32.DLL 40: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\RPCSS.DLL 41: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\UXTHEME.DLL 42: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\CLBCATQ.DLL 43: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MRMCORER.DLL 44: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MSCTF.DLL 45: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\DWMAPI.DLL 46: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\CRYPT32.DLL 47: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MSASN1.DLL 48: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\FONTS\STATICCACHE.DAT 49: \VOLUME{01d4cbf353a8246d-f25451a4}\$MFT 50: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\EFSWRT.DLL 51: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MPR.DLL 52: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\WINTYPES.DLL 53: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\TWINAPI.APPCORE.DLL 54: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\RMCLIENT.DLL 55: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\GLOBALIZATION\SORTING\SORTDEFAULT.NLS 56: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\OLEACC.DLL 57: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\OLEACCRC.DLL 58: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\C_1252.NLS 59: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\TEXTINPUTFRAMEWORK.DLL 60: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\COREUICOMPONENTS.DLL 61: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\COREMESSAGING.DLL 62: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\NTMARTA.DLL 63: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\IMEJP\IMJPTIP.DLL 64: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\VERSION.DLL 65: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\IMEJP\IMJPAPI.DLL 66: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\SHARED\IMJKAPI.DLL 67: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\POLICYMANAGER.DLL 68: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\MSVCP110_WIN.DLL 69: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\IMEJP\IMJPPRED.DLL 70: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\SHARED\IMETIP.DLL 71: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\DUI70.DLL 72: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\SHARED\IMECFM.DLL 73: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\WER.DLL 74: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\JA-JP\MSCTF.DLL.MUI 75: \VOLUME{01d4cbf353a8246d-f25451a4}\USERS\TEST\DESKTOP\TEST.TXT 76: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT\WINDOWS\CACHES\CVERSIONS.2.DB 77: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT\WINDOWS\CACHES\{6AF0698E-D558-4F6E-9B3C-3716689AF493}.2.VER0X0000000000000001.DB 78: \VOLUME{01d4cbf353a8246d-f25451a4}\PROGRAMDATA\MICROSOFT\WINDOWS\CACHES\{DDF571F2-BE98-426D-8288-1A9A39C3FDA2}.2.VER0X0000000000000001.DB 79: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\JA-JP\PROPSYS.DLL.MUI 80: \VOLUME{01d4cbf353a8246d-f25451a4}\WINDOWS\SYSTEM32\IME\SHARED\IMESEARCHDLL.DLL ---------- Processed 'NOTEPAD.EXE-B28CC291.pf' in 0.02787400 seconds ----------
追加オプション
出力先指定
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --json "jsonOutput"
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --json "jsonOutput" --pretty
PECmd.exe -d "C:\Windows\Prefetch" --csv "csvOutput"
PECmd.exe -d "C:\Windows\Prefetch" --html "C:\Users\TEST\Desktop\htmlOutput"
日時表示形式の指定
- 時刻表示を現地時刻にする(--local オプション)
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --local
- 日時表示形式を変更する(--dt オプション)
- カスタム日時書式指定文字列を指定することができます。
- 形式は、カスタム日時書式指定文字列 | Microsoft Docsを参照してください。
- デフォルトでは、"yyyy-MM-dd HH:mm:ss" が設定されています。
- カスタム日時書式指定文字列を指定することができます。
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --dt "yyyy/MM/dd HH:mm:ss"
- 時刻表示の精度を上げる(--mp オプション)
- 0.1マイクロ秒まで表示する。
(例:2019-02-24 04:54:03 → 2019-02-24 04:54:03.3462456)
- 0.1マイクロ秒まで表示する。
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --mp
その他
- 特定のキーワードをハイライトする(-k オプション)
- 指定したキーワードに該当する行が赤字でハイライトされます。
- デフォルトのキーワードとして、tempとtmpが設定されています。
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf -k "USERS"
PECmd.exe -f NOTEPAD.EXE-B28CC291.pf --json "jsonOutput" -q
参考情報
Windows Prefetchについて
PECmd関連
CyberChefの使い方
CyberChefとは
Base64、URLエンコード、AES復号など200以上の変換が行える万能ツールです。
また、変換処理はすべてクライアントサイドで行われるので、入力したデータがどこかに送信される心配もありません。
※ ダウンロード版もあるので、心配な人はオフラインで実行してみてください。
CTFとかにも使えるので、かなり重宝してます。
ただ、ドメインにgchqと書かれているのが少し気になりますね
使い方
基本操作
- 「Input」に変換したいものを入力する。
- 「Operations」から操作方法を選択し、「Recipe」にドラッグアンドドロップする。
Base64デコード例
- 「Input」に変換したいBase64文字列を入力する。
- 「Operations」から「From Base64」を選択し、「Recipe」にドラッグアンドドロップする。
応用 - 多重変換
AESで復号→Base64デコード→画像変換
- 「Open file as input」で変換したいファイルを選択する。
- 「Operations」から「AES Decrypt」を「Recipe」にドラッグアンドドロップする。
- 「Operations」から「From Base64」を「Recipe」にドラッグアンドドロップする。
- 「Output」の「Render Image ~」アイコンをクリックする。