
glibcヒープを調査し、エクスプロイト開発に焦点を当てたIDA Proプラグイン
ヒープを調査するIDA Proプラグインで、エクスプロイト開発に特化しています。
現在はglibc malloc実装(ptmalloc2)をサポートしています。
heap_viewer.pyファイルとheap_viewerフォルダをIDAのプラグインディレクトリにドロップするだけです。
現在のユーザーのみにインストールするには、以下のディレクトリのいずれかにファイルをコピーしてください:
| OS | Plugin path |
|---|---|
| Linux/macOS | ~/.idapro/plugins |
| Windows | %AppData%\Hex-Rays\IDA Pro\plugins |
現在、このプラグインは設定を必要としません。ヒープを解析するために必要なオフセットを自動的に取得しようとするためです。
ただし、プラグインが失敗した場合、設定タブで各種オフセットを設定することが可能です。これらのオフセットを取得するには、utilsフォルダにあるツールのいずれかを使用できます。
矛盾を見つけた場合は、お知らせください :)
トレーサー

アリーナとチャンク情報

Tcacheエントリ

ビン

ビングラフ

Fastbinグラフ

Tcacheグラフ

偽のfastbinを検索

Unlinkマージ情報

便利なlibcオフセット

このツールと併せてヒープエクスプロイトを学ぶために、以下のリソースをお勧めします。
同僚のsoez、wagiro、DiaLluviosoに特別な言及を。彼らはプラグイン開発中にいくつかのアイデアをくれました。そしてもちろん、@pwndbgプロジェクト。そこからヒープ解析に関するいくつかの事柄を参考にしました。
コメント、issue、pull requestは大歓迎です :-)