他人の空似自作物置場
Run-Time Error ChecksとBuffer Security Checkの調査用サンプルコード、詳細は関連記事を検索からどうぞ
プログラム名:えくすぷろいと2 用途:実践して学ぶRun-Time Error ChecksとBuffer Security Check 使い方: ・http://resemblances.click3.org/?p=1476 をブラウザで開きます ・ためしに実行してみたりしながら記事を読みます インストール: zip展開するだけ アンインストール: レジストリもテンポラリファイルも弄っておりません。 フォルダごと削除するだけですっきりさっぱりおさらばできます。 ファイル解説: exploit1 return address overwrite攻撃のサンプル exploit1_RunTimeErrorChecks exploit1をRun-Time Error Checksで防ぐサンプル exploit2 Run-Time Error Checksしていてもreturn address overwrite攻撃はできるよのサンプル exploit2_BufferSecurityCheck exploit2をDLLにもBuffer Security Checkで防ぐサンプル Readme.txt 今読んでいるこれ Q&A: Q:動かないんだが? A:可能な限り多様な環境で動くよう頑張ったつもりですが それでも動かない場合はごめんなさい。 Q:手元でコンパイルしたら動かなくなったんだが A:当然ながらコンパイル環境が変わればメモリー上のレイアウトも変わります。 解析スキルを磨くと思って、自前で解析して調整してください Q:解析とか無理 A:最初から同梱されてるexeで満足してください Q:Releaseでコンパイルできないんだが? A:基本Debugでコンパイルする前提で、releaseのほうは設定をいじってすらいません。 あきらめてdebugでコンパイルしてください。 Q:call関数を実行するだけとか全然役たたないんだが、もっと実用的なのはよ A:あえて実用性が低くなるように配慮しています。 さすがにコピペコードでウイルス作られると困るので…… 実用性を求める方は、適当にググってください Q:記事が読めないんだが A:また作者が癇癪起こしてサイト閉鎖でもしたのでしょう 適当にググるなどしてキャッシュを探すといいと思います。 Q:「一部の開発者」ってそんなの本当にいるの? A:私も伝聞でいるらしいと聞いただけなので知りません。 実は想像の産物で存在しない、と良いですね。 Q:HardwareDEPの解説まだー? A:うまくいけば次回でASLRと一緒にやる予定です。 Q:その他バグをみつけた or 動作しない or 要望がある A:公開しても問題が無いメールアドレスにて 下部に記載されたアドレスまでメールをどうぞ。 対応できれば対応します。 作者:sweetie メールアドレス:bnryxx332a(あっと)mail.goo.ne.jp ライセンス: ・本ライセンスにおいて、全ての条項は「変更の有無を問わず、明示暗示を問わず、商業慈善を問わず、個人法人を問わず、保持使用を問わず、有料無料を問わず」と装飾されている物として扱う。 ・著作権者は本ソフトウェアに関する一切の保障義務をもたない。 ・上記条項唯一の例外として、本ライセンスに違反した場合を除いて著作権者から本ソフトウェアに関する一切の法的措置を受ける事が無い事のみ保証される。 ・著作権者やその他保持者がこのライセンスの範囲で行う活動に支障が無い範囲であれば何を行っても構わない。 ・上記条項の”何を行っても構わない”には本ソフトウェアの製作者を偽っての再配布も含まれる。 ・全ての権利の行使において、著作権者への連絡、著作権者やライセンス条項の記載、適用ライセンスなどの制限は一切存在しない。 著作権者名:sweetie 面倒な人向けライセンス解説: ライセンス記載義務すらありません。 自分が書いたソースコードのごとく扱うことができます。 スペシャルサンクス: ・参考 Microsoft MSDN(http://msdn.microsoft.com/ja-jp/library/vstudio/8dbf701c.aspx) ・プログラム名、他 @ayokura 技術情報(と、どうでもいい話): どう考えてもSEH overwriteより先にやるべきだった。 SEH overwrite自体バッファオーバーフローしておきながら Buffer Security Checkを回避できるのが利点の一つだし。 exploitを書きながら学ぶWindowsのセキュリティー機能第二弾。 とか題名につけようとしていたのは秘密。 別に悪くはないんだけどなんか違うんだよ、うん。 機能に明確な正式名称ついてないことが多くて何ともかんとも。 一応今回もmsdnで検索かけるなどしたのだが正式名称は出てこなかったので コンパイルオプションの説明からとってきました。 前回から予想以上に早く続きました、早くても一週間後だと思ってたよ。 これが三連休の力か…… 今回は話題の脱線が少なかった、そういう意味でもこちらを先にやるべきだった。 次回はいよいよASLR、あとたぶんHardwareDEPも。
- Readme.txt
exploit1/file
- exploit1/test.cpp
exploit1/test.exe
- exploit1/test.sln
- exploit1/test.vcxproj
- exploit1/test.vcxproj.filters
exploit1_RunTimeErrorChecks/file
- exploit1_RunTimeErrorChecks/test.cpp
exploit1_RunTimeErrorChecks/test.exe
- exploit1_RunTimeErrorChecks/test.sln
- exploit1_RunTimeErrorChecks/test.vcxproj
- exploit1_RunTimeErrorChecks/test.vcxproj.filters
exploit2/file
- exploit2/test.cpp
exploit2/test.exe
- exploit2/test.sln
- exploit2/test.vcxproj
- exploit2/test.vcxproj.filters
exploit2_BufferSecurityCheck/file
- exploit2_BufferSecurityCheck/test.cpp
exploit2_BufferSecurityCheck/test.exe
- exploit2_BufferSecurityCheck/test.sln
- exploit2_BufferSecurityCheck/test.vcxproj
- exploit2_BufferSecurityCheck/test.vcxproj.filters