2015-06-03から1日間の記事一覧

AntiDebug技術:OllyDbg:OutputDebugString() Format String Bug

このデバッガ攻撃テクニックはOllyDbg特有のものです。OllyDbgにはフォーマットストリングバグという脆弱性があることが知られており、これを利用することでOllyDbgをクラッシュさせるかまたは任意のコードを実行させることができます。このバグはkernel32!O…

AntiDebug技術:Unhandled Exception Filter

MSDNドキュメントには、例外が未処理例外フィルタ(kernel32!UnhandledExceptionFilter) に達してかつ、そのアプリケーションがデバッグされていなかった場合、その未処理例外フィルタはkernel32!SetUnhandledExceptionFilter() APIのパラメータとして指定さ…

AntiDebug技術:Disabling Breakpoints

ブレークポイントを強制的に解除することによってデバッガを攻撃する方法があります。ハードウェアブレークポイントを無効化するために、パッカーはCONTEXT構造体を介してデバッグレジスタを編集します。 例 この例では、例外ハンドラに渡されるCONTEXTレコ…

AntiDebug技術:ThreadHideFromDebugger

このテクニックは一般的にスレッドの優先度を設定するために使われるntdll!NtSetInformationThread() APIを利用します。このAPIはデバッガに送信されるデバッグイベントを妨害するためにも使用できるのです。 NtSetInformationThread()に渡されるパラメータ…